用于获取 Azure Monitor 日志的 AZ 命令

Posted

技术标签:

【中文标题】用于获取 Azure Monitor 日志的 AZ 命令【英文标题】:AZ command to fetch Azure Monitor logs 【发布时间】:2021-09-30 14:36:12 【问题描述】:

我必须使用 AZ 命令获取日志:

如果我在资源组上添加过滤器,它不会给出结果。

例如—— 以下命令工作正常:

az monitor activity-log list --subscription "subscription1"

在结果中,我得到了 ResourceGroup1 的日志。

但是当我执行以下操作时:

az monitor activity-log list --resource-group "ResourceGroup1"

结果为 0。

我正在使用“azure-cli”:“2.26.1”

【问题讨论】:

只是想知道您的资源组 (ResourceGroup1) 是否存在于与您的帐户关联的默认订阅中。 是的。当我做AZ loginsubscription1 的时候,那是ResourceGroup1 【参考方案1】:

您可以使用以下命令读取资源组级别的监视器活动日志

az monitor activity-log list -g "resource-group"

这里是使用过滤器拉activity monitor logs的命令

az monitor activity-log list -g 'resource-group' --start-time 2021-07-29T12:00:00 --select ResourceGroupName,EventTimestamp,CorrelationId,ResourceId -o table

【讨论】:

【参考方案2】:

当我们进行AZ登录时,只有一个订阅字段"isDefault": true(您的帐户默认订阅)。对于其他订阅,它将为 False。

您将在默认订阅下获得所有 RG 的结果。对于其他 RG,它会给出 0 结果。

因此,当您对 RG 应用过滤器时,您需要确认其对应的 Subscription 应设置为默认值。您可以设置为:

az account set -s <subscription ID>

【讨论】:

以上是关于用于获取 Azure Monitor 日志的 AZ 命令的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 Azure 存储帐户日志记录启用状态?

Azure Monitor ActivityLogs 未到达事件中心

EMS 动手实验1:将Azure AD 登陆和审核日志发送到Azure Monitor

使用 azure 命令行工具根据自定义日志创建警报

用于配置 Azure Function App TLS/SSL“仅 HTTPS”设置的 Az CLI

使用 Azure AZ Powershell Cmdlet 列出 Azure 安全中心策略状态