你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用诊断设置通过 Elastic (ELK) 分析日志

注意

从 2025 年 3 月中旬开始,基本、标准和企业计划将弃用,停用期为三年。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

从 2024 年 9 月 30 日开始,标准消耗和专用计划将弃用,六个月后将完全关闭。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于:✔️ Java ✔️ C#

本文适用于:✔️ 基本版/标准版 ✔️ 企业版

本文介绍如何使用 Azure Spring Apps 的诊断功能通过 Elastic (ELK) 分析日志。

以下视频介绍如何使用 Elastic 为 Spring Boot 应用程序实现统一的可观测性。


配置诊断设置

若要配置诊断设置,请执行以下步骤:

  1. 在 Azure 门户中,请转到 Azure Spring Apps 实例。
  2. 选择“诊断设置”选项,然后选择“添加诊断设置”
  3. 输入设置的名称,选择“发送到合作伙伴解决方案”,然后选择“Elastic”和要将日志发送到的 Elastic 部署。
  4. 选择“保存”。

Azure 门户的屏幕截图,其中显示了“诊断设置”页,其中包含选定的选项和为设置指定的名称。

注意

在发出日志的时间与日志在 Elastic 部署中出现的时间之间,可能最多会有 15 分钟的间隔。 如果删除或移动了 Azure Spring Apps 实例,则该操作将不会级联到“诊断设置”资源。 必须先手动删除诊断设置资源,然后才能对其父级(即 Azure Spring Apps 实例)进行操作。 否则,如果为新的 Azure Spring Apps 实例预配了与已删除实例相同的资源 ID,或者将 Azure Spring Apps 实例移回,则先前的诊断设置资源将会继续对其进行扩展。

通过 Elastic 分析日志

若要了解有关在 Azure 上部署 Elastic 的详细信息,请参阅如何在 Microsoft Azure 部署和管理 Elastic

执行以下步骤来分析日志:

  1. 在 Azure 门户的 Elastic 部署概述页中,打开“Kibana”。

    Azure 门户的屏幕截图,其中显示了 Elasticsearch (Elastic Cloud) 页,并突出显示了“部署 URL”Kibana 链接。

  2. 在 Kibana 顶部的“搜索”栏中,键入“Spring Cloud type:dashboard”。

    显示了对“Spring Cloud type:dashboard”的搜索结果的 Elastic/Kibana 屏幕截图。

  3. 从结果中选择“[日志 Azure] Azure Spring Apps 日志概述”

    显示了 Azure Spring Apps 应用程序控制台日志的 Elastic/Kibana 屏幕截图。

  4. 使用如下所示的查询,搜索现成的 Azure Spring Apps 仪表板:

    azure.springcloudlogs.properties.app_name : "visits-service"
    

在 Discover 中通过 Kibana 查询语言分析日志

应用程序日志提供有关应用程序的运行状况、性能等的关键信息和详细日志。 执行以下步骤来分析日志:

  1. 在 Kibana 顶部的“搜索”栏中,键入“Discover”,然后选择结果。

    显示了对“Discover”的搜索结果的 Elastic/Kibana 屏幕截图。

  2. 在 Discover 应用中,选择“logs-”索引模式(如果其未处于选中状态)。

    显示了 Discover 应用中的日志页面的 Elastic/Kibana 屏幕截图。

  3. 使用查询(例如以下部分中的查询)来帮助你了解应用程序的当前状态和过去状态。

有关不同查询的详细信息,请参阅 Kibana 查询语言指南

显示来自 Azure Spring Apps 的所有日志

若要查看来自 Azure Spring Apps 的应用程序日志的列表(按时间排序,首先显示最新日志),请在“搜索”框中运行以下查询

azure_log_forwarder.resource_type : "Microsoft.AppPlatform/Spring"

显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了所有日志。

显示来自 Azure Spring Apps 的特定日志类型

若要查看来自 Azure Spring Apps 的应用程序日志的列表(按时间排序,首先显示最新日志),请在“搜索”框中运行以下查询

azure.springcloudlogs.category : "ApplicationConsole"

显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了特定日志。

显示包含错误或异常的日志条目

若要查看提及错误或异常的未排序日志条目,请运行以下查询:

azure_log_forwarder.resource_type : "Microsoft.AppPlatform/Spring" and (log.level : "ERROR" or log.level : "EXCEPTION")

显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了错误和异常日志。

Kibana 查询语言提供自动完成和建议来帮助你建立查询,从而帮助你从日志中获得见解。 使用查询来查找错误,或修改查询词以查找特定的错误代码或异常。

显示来自特定服务的日志条目

若要查看特定服务生成的日志条目,请运行以下查询:

azure.springcloudlogs.properties.service_name : "sa-petclinic-service"

显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了特定服务日志。

显示包含警告或错误的 Config Server 日志

若要查看来自 Config Server 的日志,请运行以下查询:

azure.springcloudlogs.properties.type : "ConfigServer" and (log.level : "ERROR" or log.level : "WARN")

显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了配置服务器日志。

显示服务注册表日志

若要查看来自服务注册表的日志,请运行以下查询:

azure.springcloudlogs.properties.type : "ServiceRegistry"

显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了服务注册表日志。

通过 Elastic 可视化来自 Azure Spring Apps 的日志

通过 Kibana,可以使用仪表板和丰富的可视化生态系统来可视化数据。 有关详细信息,请参阅仪表板和可视化效果

使用以下步骤显示日志中的各种日志级别,以便评估服务的总体运行状况。

  1. 从“Discover”左侧的“可用字段”列表中,使用“logs-”索引模式在搜索框内搜索“log.level”。

  2. 选择“log.level”字段。 从有关 log.level 的浮动信息面板中,选择“可视化”。

    显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了日志级别。

  3. 在这里,你可以选择从左侧窗格添加更多数据,或从多个有关如何可视化数据的建议中进行选择。

    显示了 Discover 应用的 Elastic/Kibana 屏幕截图,其中显示了可视化效果选项。

后续步骤