你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 容器应用中的日志存储和监视选项
Azure 容器应用提供用于存储和查看应用程序日志的选项。 日志记录选项是在容器应用环境中配置的,可在其中选择日志目标。
容器应用应用程序日志由两个不同的类别组成:
- 容器控制台输出 (
stdout
/stderr
) 消息。 - Azure 容器应用生成的系统日志。
- Spring App 控制台日志。
可以在以下日志目标之间进行选择:
- Log Analytics:Azure Monitor Log Analytics 是默认存储和查看选项。 日志存储在 Log Analytics 工作区中,可以使用 Log Analytics 查询查看和分析日志。 若要了解有关 Log Analytics 的详细信息,请参阅 Azure Monitor Log Analytics。
- Azure Monitor:Azure Monitor 将日志路由到一个或多个目标:
- 用于查看和分析的 Log Analytics 工作区。
- 用于存档的 Azure 存储帐户。
- 用于数据引入和分析服务的 Azure 事件中心。 有关详细信息,请参阅 Azure 事件中心。
- Azure 合作伙伴监视解决方案,例如 Datadog、Elastic、Logz.io 等。 有关详细信息,请参阅合作伙伴解决方案。
- 无:可以禁用日志数据的存储。 禁用后,仍能通过容器应用中的“日志流”功能查看实时容器日志。 有关详细信息,请参阅日志流式处理。
如果选择“无”或“Azure Monitor”目标,则会禁用在 Azure 门户中提供 Log Analytics 查询编辑器的“日志”菜单项。
通过 Azure 门户的配置选项
使用以下步骤在 Azure 门户中为容器应用环境配置日志记录选项:
- 在门户中转到容器应用环境窗口中的“日志记录选项”。
- 可从以下“日志目标”选项中选择:
- Log Analytics:使用此选项,可以选择一个 Log Analytics 工作区来存储日志数据。 可以通过 Log Analytics 查询查看日志。 若要了解有关 Log Analytics 的详细信息,请参阅 Azure Monitor Log Analytics。
- Azure Monitor:Azure Monitor 将日志路由到目标。 选择此选项后,必须在选择该页面上的“保存”后选择“诊断设置”以完成配置。
- 无:此选项禁用日志数据的存储。
- 选择“保存”。
- 如果选择“Azure Monitor”作为日志目标,则必须配置“诊断设置”。 “诊断设置”项显示在“日志记录选项”菜单项下方。
诊断设置
选择“Azure Monitor”作为日志目标时,必须配置目标详细信息。 在门户中,选择容器应用环境窗口左侧菜单中的“诊断设置”。
目标详细信息保存为“诊断设置”。 最多可以为容器应用环境创建五个诊断设置。 可以为每个诊断设置配置不同的日志类别。 例如,创建一个诊断设置,将系统日志类别发送到一个目标;创建另一个诊断设置,用于将容器控制台日志类别发送到另一个目标。
创建新的诊断设置:
选择“添加诊断设置”。
输入诊断设置的名称。
选择要发送到此目标的日志类别组或类别。 可以选择一个或多个类别。
选择一个或多个“目标详细信息”:
- 发送到 Log Analytics 工作区:从现有 Log Analytics 工作区中进行选择。
- 存档到存储帐户:可以从现有存储帐户中进行选择。 选择单个日志类别后,可以为每个类别设置保留期(以天为单位)。
- 流式传输到事件中心:从 Azure 事件中心中进行选择。
- 发送到合作伙伴解决方案:从 Azure 合作伙伴解决方案中进行选择。
选择“保存”。
有关诊断设置的详细信息,请参阅 Azure Monitor 中的诊断设置。
使用 Azure CLI 的配置选项
使用 --logs-destination
参数通过 Azure CLI az containerapp create
和 az containerapp update
为容器应用环境配置日志目标。
目标值为:log-analytics
、azure-monitor
和 none
。
例如,若要使用现有的 Log Analytics 工作区作为日志目标来创建容器应用环境,--logs-destination
参数值必须为 log-analytics
,且 --logs-destination-id
参数值必须为 Log Analytics 工作区资源 ID。 可以通过 Azure 门户中的 Log Analytics 工作区页面或 az monitor log-analytics workspace show
命令获取该资源 ID。
将 <占位符> 替换为自己的值:
az containerapp env create \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--logs-destination log-analytics \
--logs-workspace-id <WORKSPACE_ID>
更新现有的容器应用环境,以使用 Azure Monitor 作为日志目标:
将 <占位符> 替换为自己的值:
az containerapp env update \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--logs-destination azure-monitor
当 --logs-destination
设置为 azure-monitor
时,使用 az monitor diagnostics-settings
命令创建诊断日志以配置日志类别的目标详细信息。
若要将应用级指标发送到 Log Analytics,请执行以下操作:
将 <占位符> 替换为自己的值:
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <APP_ARM_RESOURCE_ID> \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--workspace <LOG_ANALYTICS_ARM_RESOURCE_ID>
有关 Azure Monitor 诊断设置命令的详细信息,请参阅 az monitor diagnostic-settings。 容器应用日志类别为 ContainerAppConsoleLogs
和 ContainerAppSystemLogs
。