你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:Azure 容器应用中托管 Java 组件的可观测性
Java 组件包括内置的可观测性功能,可让你在 Java 组件的整个生命周期内全面了解它的运行状况。 本教程介绍如何查询 Java 组件生成的日志消息。
先决条件
在本教程中,需要满足以下先决条件。
资源 | 说明 |
---|---|
Azure Log Analytics | 若要使用托管 Java 组件的内置可观测性功能,请确保将 Azure Log Analytics 设置为使用 Log Analytics 或 Azure Monitor。 有关详细信息,请参阅 Azure 容器应用中的日志存储和监视选项。 |
Java 组件 | 请确保在环境中至少创建一个 Java 组件,例如 Eureka Server 或 Config Server。 |
查询日志数据
Log Analytics 是一种可帮助你查看和分析日志数据的工具。 使用 Log Analytics,可以编写 Kusto 查询,对日志数据执行检索、排序、筛选和可视化操作。 这些可视化效果可帮助你发现趋势并识别应用程序的问题。 可以通过交互式方式处理查询结果,也可以将结果与其他功能(如警报、仪表板和工作簿)一起使用。
打开 Azure 门户,然后转到 Azure Log Analytics 工作区。
从边栏中选择“日志”。
在查询选项卡中,在“表”部分的“自定义日志”下,选择 ContainerAppSystemlogs_CL 表。
输入以下 Kusto 查询以显示 Spring 组件的 Eureka Server 日志。
ContainerAppSystemLogs_CL | where ComponentType_s == 'SpringCloudEureka' | project Time=TimeGenerated, Type=ComponentType_s, Component=ComponentName_s, Message=Log_s | take 100
选择“运行”按钮以运行查询。
可以通过 Azure CLI 日志分析扩展来查询组件日志。
运行以下命令,为 Log Analytics 工作区 ID 创建变量。
在运行查询之前,请确保将
<WORKSPACE_ID>
替换为 Log Analytics 工作区 ID。SET $WORKSPACE_ID=<WORKSPACE_ID>
运行以下命令来查询日志表。
az monitor log-analytics query \ --workspace $WORKSPACE_ID \ --analytics-query "ContainerAppSystemLogs_CL | where ComponentType_s == 'SpringCloudEureka' | project Time=TimeGenerated, Type=ComponentType_s, Component=ComponentName_s, Message=Log_s | take 5" --out table
project
运算符的参数指定表的列。
使用 Azure Monitor 查询 Java 组件日志
可以查询 Azure Monitor 以监视 Java 组件日志的数据。
打开 Azure 门户,然后转到容器应用环境。
在边栏的“监视”部分下,选择“日志”。
在查询选项卡中,在“表”部分的“容器应用”标题下,选择 ContainerAppSystemLogs 表。
输入以下 Kusto 查询以显示 Spring 组件日志的 Eureka Server 日志条目。
ContainerAppSystemLogs | where ComponentType == "SpringCloudEureka" | project Time=TimeGenerated, Type=ComponentType, Component=ComponentName, Message=Log | take 100
选择“运行”按钮以运行查询。
可以通过 Azure CLI 日志分析扩展来查询组件日志。
运行以下命令,为 Log Analytics 工作区 ID 创建变量。
在运行查询之前,请确保将
<WORKSPACE_ID>
替换为 Log Analytics 工作区 ID。SET $WORKSPACE_ID=<WORKSPACE_ID>
运行以下命令来查询日志表。
az monitor log-analytics query --workspace $WORKSPACE_CUSTOMER_ID --analytics-query "ContainerAppSystemLogs | where ComponentType == 'SpringCloudEureka' | project Time=TimeGenerated, Type=ComponentType, Component=ComponentName, Message=Log | take 5" --out table
project
运算符的参数指定表的列。