You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure中快速排查资源的诊断日志设置关联情况?

Azure诊断日志配置排查的简便方法

1. Azure门户原生工具

  • 资源组批量检视:进入目标资源组,左侧菜单选择「诊断设置」(部分场景在「监控」子菜单下),可直接查看组内所有支持诊断日志的资源状态——标注「已启用」的是已配置资源,「未启用」则未配置。点击对应资源的诊断设置,就能查看具体配置的日志类别、目标存储账户/事件中心/Log Analytics工作区等选项。
  • Azure Policy合规校验:使用内置的「诊断日志应在资源上启用」类策略,通过合规性仪表板批量筛选未配置诊断日志的资源,直接查看合规状态对应的资源详情,还可一键触发修正。

2. Azure Resource Graph高效查询

这是比PowerShell/AZ CLI更快捷的批量查询方式,无需逐资源遍历:

  • 查询未配置诊断日志的资源:
Resources
| where type !in ('microsoft.resources/subscriptions', 'microsoft.resources/resourcegroups')
| extend diagnosticSettings = parse_json(properties.diagnosticSettings)
| where isempty(diagnosticSettings) or array_length(diagnosticSettings) == 0
| project name, type, resourceGroup, subscriptionId
  • 查询已配置资源的具体设置:
Resources
| where type !in ('microsoft.resources/subscriptions', 'microsoft.resources/resourcegroups')
| extend diagnosticSettings = parse_json(properties.diagnosticSettings)
| where isnotempty(diagnosticSettings)
| mv-expand diagnosticSettings
| project name, type, resourceGroup, subscriptionId,
  settingName = diagnosticSettings.name,
  logsEnabled = diagnosticSettings.logs,
  metricsEnabled = diagnosticSettings.metrics,
  destinations = strcat(diagnosticSettings.storageAccountId, " | ", diagnosticSettings.eventHubAuthorizationRuleId, " | ", diagnosticSettings.workspaceId)

在Azure门户的「Resource Graph Explorer」中执行上述查询,可快速获取跨资源组/订阅的批量结果。

3. Log Analytics反向验证(针对已流入日志的资源)

若已有部分资源的诊断日志发送至Log Analytics,可通过查询AzureDiagnostics表反向验证配置状态(仅覆盖已发送日志的资源,适合补充校验):

AzureDiagnostics
| summarize by ResourceId, ResourceType
| join kind=leftouter (
    Resources
    | where type !in ('microsoft.resources/subscriptions', 'microsoft.resources/resourcegroups')
    | project ResourceId, name, resourceGroup
) on ResourceId
| project name, ResourceType, resourceGroup, hasDiagnosticLogs = iif(isnotempty(ResourceId), "已配置", "未确认")

补充:你之前尝试的Microsoft Graph并非不可行,大概率是权限或查询路径问题——需具备Monitoring.Read权限,可调用GET /subscriptions/{subscriptionId}/providers/microsoft.insights/diagnosticSettings批量获取订阅内所有诊断设置,或针对单个资源调用GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/microsoft.insights/diagnosticSettings获取详情。

内容的提问来源于stack exchange,提问作者John Wilmar Herrera Gil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 08:29:58