你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 容器应用提供用于存储和查看应用程序日志的选项。 可以在容器应用环境级别配置日志记录选项。 如果选择 Azure Monitor 作为日志目标,则可以在环境级别和容器应用级别配置诊断设置。
容器应用应用程序日志由两个不同的类别组成:
- 容器控制台输出 (
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,则可能需要刷新此配置项目显示的页面。
目标详细信息保存为“诊断设置”。 最多可以为环境创建五个诊断设置。 可以为每个诊断设置配置不同的日志类别。 例如,创建一个诊断设置,将系统日志类别发送到一个目标;创建另一个诊断设置,用于将容器控制台日志类别发送到另一个目标。
创建新的诊断设置:
选择“添加诊断设置”。
在 诊断设置名称中,输入诊断设置的名称。
选择要发送到此目标的日志类别组或类别。 可以选择一个或多个类别。
如果要发送应用级 指标,请选择 “指标>AllMetrics”。
选择一个或多个“目标详细信息”:
- 发送到 Log Analytics 工作区:从现有 Log Analytics 工作区中进行选择。
- 存档到存储帐户:此选项已停用。
- 流式传输到事件中心:从 Azure 事件中心中进行选择。
- 发送到合作伙伴解决方案:从 Azure 合作伙伴解决方案中进行选择。
选择“保存”。
有关诊断设置的详细信息,请参阅 Azure Monitor 中的诊断设置。
在容器应用级别配置诊断设置
使用以下步骤为容器应用配置诊断设置:
请进入门户并找到您的容器应用。
选择“监视”“诊断设置”>。 如果刚刚将容器应用环境的日志目标设置为 Azure Monitor,则可能需要刷新此配置项目显示的页面。
选择“添加诊断设置”。
在 诊断设置名称中,输入诊断设置的名称。
在“指标”下,选择“AllMetrics”。
选择一个或多个“目标详细信息”:
- 发送到 Log Analytics 工作区:从现有 Log Analytics 工作区中进行选择。
- 存档到存储帐户:此选项已停用。
- 流式传输到事件中心:从 Azure 事件中心中进行选择。
- 发送到合作伙伴解决方案:从 Azure 合作伙伴解决方案中进行选择。
选择“保存”。
配置日志记录选项
使用 az containerapp create
参数通过 Azure CLI az containerapp update
和 --logs-destination
为容器应用环境配置日志目标。
首先,注册 Microsoft.Insights
命名空间。
az provider register --namespace Microsoft.Insights
发送到 Log Analytics 工作区
若要使用现有的 Log Analytics 工作区作为日志目标创建容器应用环境,请运行以下命令。 将 <PLACEHOLDERS>
替换为你的值。 可以从 Azure 门户中的 Log Analytics 工作区页或 az monitor log-analytics workspace show
命令获取 Log Analytics 工作区资源 ID。
az containerapp env create \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--logs-destination log-analytics \
--logs-workspace-id <LOG_ANALYTICS_WORKSPACE_ID>
该 --logs-destination
参数接受值 log-analytics
, azure-monitor
以及 none
。
发送到 Azure Monitor
若要更新现有容器应用环境以使用 Azure Monitor 作为日志目标,请运行以下命令。 将 <PLACEHOLDERS>
替换为你自己的值:
az containerapp env update \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--logs-destination azure-monitor
配置诊断设置
当 --logs-destination
设置为 azure-monitor
时,您必须创建诊断设置,以便使用 az monitor diagnostics-settings
命令配置日志类别的目标详细信息。 可以在环境级别和容器应用级别配置这些诊断设置。
若要在环境级别创建诊断设置,请运行以下命令。 将 <PLACEHOLDERS>
替换为你的值。 可以从 Azure 门户中的“环境”页或 az containerapp env show
命令获取环境 ID。
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <ENVIRONMENT_ID> \
--logs '[{"categoryGroup":"allLogs","enabled":true}]' \
--metrics '[{"category":"AllMetrics","enabled":true}]' \
--workspace <LOG_ANALYTICS_RESOURCE_ID>
确保 JSON 值中没有提供给 --logs
参数和 --metrics
参数的空格。
对于--logs
参数,您可以指定category
或categoryGroup
,但不能同时指定两者。 对于 categoryGroup
,可用值为 audit
和 allLogs
。 对于 category
,可用值为 ContainerAppConsoleLogs
和 ContainerAppSystemLogs
。
--metrics
对于参数,唯一可用的类别是 AllMetrics
。
有关详细信息 ,请参阅 LogSettings 和 MetricSettings。
若要在容器应用级别创建诊断设置,请运行以下命令。 将 <PLACEHOLDERS>
替换为你的值。 可以从 Azure 门户或 az containerapp show
命令获取容器应用 ID。
在容器应用级别创建诊断设置时,不支持参数 --logs
,对于 --metrics
参数,唯一可用的类别是 AllMetrics
。
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <CONTAINER_APP_ID> \
--metrics '[{"category":"AllMetrics","enabled":true}]' \
--workspace <LOG_ANALYTICS_RESOURCE_ID>
有关 Azure Monitor 诊断设置命令的详细信息,请参阅 az monitor diagnostic-settings。
局限性
设置日志选项时,以下限制适用。
- 专用链接:不支持通过专用链接将日志直接发送到 Log Analytics 工作区。 但是,可以使用 Azure Monitor 并将日志发送到同一 Log Analytics 工作区。 这种间接作是防止系统日志数据丢失所必需的。