如何通过Request-ID/Client-Request-ID查看Azure REST API请求日志?
如何通过request-id或client-request-id查看Microsoft Graph API请求的关联日志
你通过Azure CLI调用Microsoft Graph API查询应用资源时,收到了包含request-id和client-request-id的错误响应,以下是查看这些ID关联日志的几种方法:
方法一:使用Azure Monitor Log Analytics查询
前提是你的租户已将Microsoft Graph相关日志收集到Log Analytics工作区(需提前在Azure AD诊断设置中配置日志导出):
- 登录Azure门户,进入对应的Log Analytics工作区
- 打开「日志」页面,输入Kusto查询语句,根据目标ID过滤:
// 按request-id过滤 AuditLogs | where ResultDescription contains "111111-2222-3333-4444-5555555" | project TimeGenerated, OperationName, Result, ResultDescription, AdditionalDetails // 或按client-request-id过滤 // AuditLogs // | where AdditionalDetails has "12345-1234-1234-1234-12345678" // | project TimeGenerated, OperationName, Result, ResultDescription, AdditionalDetails - 运行查询后,即可获取该请求的详细日志,包括具体错误细节、请求上下文等信息
方法二:通过Azure AD诊断日志查看
- 登录Azure门户,进入「Azure Active Directory」
- 左侧导航栏选择「监控」>「诊断日志」
- 选择已配置的日志导出目标:
- 若导出到存储账户:找到对应容器,按日期定位日志文件,下载后搜索目标ID
- 若导出到Log Analytics工作区:直接使用方法一中的Kusto查询语句
方法三:调用Microsoft Graph API查询审计日志
需拥有AuditLog.Read.All权限,通过API过滤目标ID:
GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=activityDateTime ge 2022-10-06T06:12:04Z and activityDateTime le 2022-10-08T06:12:04Z&$search="111111-2222-3333-4444-5555555"
调用时需携带有效的身份验证令牌,返回结果中会包含匹配该request-id的审计日志条目
注意事项
如果尚未配置日志收集,需先在Azure AD的「诊断设置」中新建配置,选择要收集的日志类别(如DirectoryAudits、SignIns),并指定导出目标(Log Analytics、存储账户等),之后才能查看后续产生的日志
内容的提问来源于stack exchange,提问作者Kristoffer Jälén
相关产品推荐
相关产品推荐

