你当前正在访问 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 门户中为容器应用环境配置日志记录选项:

  1. 在门户中转到容器应用环境窗口中的“日志记录选项”Screenshot of logs destinations.
  2. 可以从以下 日志目标 选项中进行选择:
    • Log Analytics:使用此选项,可以选择一个 Log Analytics 工作区来存储日志数据。 可以通过 Log Analytics 查询查看日志。 若要了解有关 Log Analytics 的详细信息,请参阅 Azure Monitor Log Analytics
    • Azure Monitor:Azure Monitor 将日志路由到目标。 选择此选项后,必须在选择该页面上的“保存”后选择“诊断设置”以完成配置
    • :此选项禁用日志数据的存储。
  3. 选择“保存”。 Screenshot Logging options page.
  4. 如果选择“Azure Monitor”作为日志目标,则必须配置“诊断设置”。 “诊断设置”项显示在“日志记录选项”菜单项下方

诊断设置

选择“Azure Monitor”作为日志目标时,必须配置目标详细信息。 在门户中,选择容器应用环境窗口左侧菜单中的“诊断设置”

Screenshot Diagnostic setting menu item.

目标详细信息保存为“诊断设置”。 最多可以为容器应用环境创建五个诊断设置。 可以为每个诊断设置配置不同的日志类别。 例如,创建一个诊断设置,将系统日志类别发送到一个目标;创建另一个诊断设置,用于将容器控制台日志类别发送到另一个目标。

创建新的诊断设置

  1. 选择“添加诊断设置”。 Screenshot Diagnostic setting Add new diagnostic setting.

  2. 输入诊断设置的名称。 Screenshot Diagnostics settings dialog.

  3. 选择要发送到此目标的日志类别组或类别。 可以选择一个或多个类别。

  4. 选择一个或多个“目标详细信息”

    • 发送到 Log Analytics 工作区:从现有 Log Analytics 工作区中进行选择。 Screenshot diagnostic settings Log Analytics destination.
    • 存档到存储帐户:可以从现有存储帐户中进行选择。 选择单个日志类别后,可以为每个类别设置保留期(以天为单位)Screenshot Diagnostic settings storage destination.
    • 流式传输到事件中心:从 Azure 事件中心中进行选择。
      Screenshot Diagnostic settings event hub destination.
    • 发送到合作伙伴解决方案:从 Azure 合作伙伴解决方案中进行选择。
  5. 选择“保存”。

有关诊断设置的详细信息,请参阅 Azure Monitor 中的诊断设置

使用 Azure CLI 的配置选项

使用 --logs-destination 参数通过 Azure CLI az containerapp createaz containerapp update 为容器应用环境配置日志目标。

目标值为:log-analyticsazure-monitornone

例如,若要使用现有的 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 命令创建诊断日志以配置日志类别的目标详细信息。

有关 Azure Monitor 诊断设置命令的详细信息,请参阅 az monitor diagnostic-settings。 容器应用日志类别为 ContainerAppConsoleLogsContainerAppSystemLogs

后续步骤