在 Azure Monitor 中创建诊断设置

在 Azure Monitor 中创建和编辑诊断设置,以将 Azure 平台指标和日志发送到不同的目标,例如 Azure Monitor 日志、Azure 存储或 Azure 事件中心。 可以使用不同的方法(例如 Azure 门户、Azure CLI、PowerShell 和 Azure 资源管理器)来处理诊断设置。

重要

在“诊断设置”中设置的保留策略现已弃用,不能再使用。 使用 Azure 存储生命周期策略管理日志保留的时间长度。 有关详细信息,请参阅将诊断设置存储保留迁移到 Azure 存储生命周期管理

可以在 Azure 门户中通过“Azure Monitor”菜单或资源菜单配置诊断设置。

  1. 在 Azure 门户中配置诊断设置的位置取决于资源:

    • 对于单项资源,在资源菜单中的“监视”下,选择“诊断设置”。

      Screenshot that shows the Monitoring section of a resource menu in the Azure portal with Diagnostic settings highlighted.

    • 对于一项或多项资源,在 Azure Monitor 菜单中,选择“设置”下的“诊断设置”,然后选择相应资源。

      Screenshot that shows the Settings section in the Azure Monitor menu with Diagnostic settings highlighted.

    • 对于活动日志,在“Azure Monitor”菜单中选择“活动日志”,然后选择“导出活动日志”。 请确保禁用活动日志的任何旧配置。 有关说明,请参阅禁用现有设置

      Screenshot that shows the Azure Monitor menu with Activity log selected and Export activity logs highlighted in the Monitor-Activity log menu bar.

  2. 如果选定的资源上不存在任何设置,系统会提示你创建设置。 选择“添加诊断设置”。

    Screenshot that shows the Add diagnostic setting with no existing settings.

    如果资源上有现有的设置,则会看到已配置的设置列表。 若要添加新设置,请选择“添加诊断设置”。 或者,选择“编辑设置”以编辑现有设置。 每个设置最多只能包含一个目标类型。

    Screenshot that shows adding a diagnostic setting for existing settings.

  3. 为设置指定名称(如果未指定)。

    Screenshot that shows Diagnostic setting name.

  4. 要路由的日志和指标:对于日志,请选择一个类别组,或选中要发送到后续指定目标的每个数据类别对应的各个复选框。 每种 Azure 服务的类别列表各不相同。 如果还要将指标存储到 Azure Monitor 日志中,请选择“AllMetrics”。

  5. 目标详细信息:选中每个目标对应的复选框。 此时将显示多个选项,以便添加更多信息。

    Screenshot that shows the available options under the Destination details section.

    1. 发送到 Log Analytics 工作区:选择你的订阅和要向其发送数据的 Log Analytics 工作区。 如果没有工作区,则必须在继续操作之前创建一个

    2. 存档到存储帐户:选择你的订阅和用于存储数据的存储帐户

      Screenshot that shows storage category and destination details.

      提示

      使用 Azure 存储生命周期策略管理日志保留的时间长度。 在“诊断设置”中设置的保留策略现已弃用。

    3. 流式传输到事件中心:指定以下条件:

      • 订阅:事件中心所属的订阅。
      • 事件中心命名空间:如果没有,则必须创建一个
      • 事件中心名称(可选):将所有数据发送到的名称。 如果未指定名称,将为每个日志类别创建一个事件中心。 如果发送多个类别,可能需要指定一个名称来限制创建的事件中心数。 有关详细信息,请参阅 Azure 事件中心的配额和限制
      • 事件中心策略名称(可选):策略定义流式处理机制具有的权限。 有关详细信息,请参阅事件中心功能
    4. 发送到合作伙伴解决方案:必须先在订阅中安装 Azure 本机 ISV 服务。

  6. 如果服务同时支持特定于资源模式和 Azure 诊断模式,则在选择“Log Analytics 工作区”作为目标时,会显示用于选择目标表的选项。 通常应选择特定于资源,因为表结构支持更大的灵活性和更高效的查询。

    Screenshot of the dialog box to set the destination table.

  7. 选择“保存”。

几分钟后,新设置将出现在此资源的设置列表中。 生成新的事件数据时,日志会流式传输到指定目标。 发出事件后可能需要长达 15 分钟的时间该事件才会出现在 Log Analytics 工作区中

疑难解答

下面提供了一些故障排除提示。

指标类别不受支持

部署诊断设置时,你会收到类似于“不支持指标类别‘xxxx’”的错误消息。即使之前的部署成功,也可能会遇到此错误。

此问题发生在使用资源管理器模板、REST API、CLI 或 Azure PowerShell 时。 通过 Azure 门户创建的诊断设置不受影响,因为仅显示受支持的类别名称。

出现该问题的原因是基础 API 最近发生了更改。 除“AllMetrics”以外的指标类别都不受支持,并且除了一些特定的 Azure 服务之外从未支持过。 过去,部署诊断设置时,将忽略其他类别名称。 Azure Monitor 后端将这些类别重定向到了“AllMetrics”。 从 2021 年 2 月开始,对后端进行了更新,以明确确认提供的指标类别是否准确。 此更改可能导致某些部署失败。

如果收到此错误,请更新部署,将任何指标类别名称替换为“AllMetrics”以解决此问题。 如果部署之前添加了多个类别,则只保留具有“AllMetrics”引用的类别。 如果仍出现此问题,请通过 Azure 门户联系 Azure 支持。

由于 resourceID 中包含非 ASCII 字符,设置消失

诊断设置不支持具有非 ASCII 字符的资源 ID。 以“Preproducción”一词为例。由于无法重命名 Azure 中的资源,唯一的选择是创建不包含非 ASCII 字符的新资源。 如果这些字符在一个资源组中,可以将其下的资源移到新的资源组。 否则,你需要重新创建该资源。

数据重复或丢失的可能性

会尽一切努力确保所有日志数据都正确发送到你的目标,但不可能保证终结点之间 100% 的日志数据传输。 已建立重试和其他机制来解决这些问题,并尝试确保日志数据到达终结点。

后续步骤