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

如何将Azure日志导出为JSON格式?及相关最佳实践

如何将Azure日志导出为JSON格式及最佳实践

可行的导出方法

1. Kusto查询生成JSON字符串后导出

虽然Kusto原生导出不支持直接输出JSON,但可以通过查询将每条日志转换为JSON格式的字符串,再复制或导出结果:

// 替换为你的日志表名和过滤条件
AppRequests
| where TimeGenerated > ago(1h)
// 将所有字段打包为动态JSON对象,再转为字符串
| project json_payload = tostring(pack_all())

执行查询后,可直接复制结果列的内容,或通过Azure Portal的「导出结果」功能保存为CSV(此时CSV的每一行就是一个完整的JSON字符串),后续可轻松转换为纯JSON文件。

2. 使用Azure CLI导出JSON

通过Azure Monitor的CLI命令可以直接获取JSON格式的查询结果,适合自动化脚本场景:

az monitor log-analytics query \
    --workspace <你的工作区ID> \
    --analytics-query "AppRequests | where TimeGenerated > ago(1h)" \
    --output json

执行后会直接输出标准JSON格式的日志数据,你可以将结果重定向到文件:

az monitor log-analytics query \
    --workspace <你的工作区ID> \
    --analytics-query "AppRequests | where TimeGenerated > ago(1h)" \
    --output json > logs_export.json

3. 自动化导出(Logic Apps/Power Automate)

如果需要定期自动导出JSON格式日志,可以用Logic Apps实现:

  • 触发条件选择「重复周期」(比如每天一次)
  • 添加「Azure Monitor - 运行日志分析查询」动作,配置工作区和查询语句
  • 添加「JSON - 将JSON转换为字符串」动作(可选,根据目标存储需求调整)
  • 添加「Azure Blob存储 - 创建Blob」动作,将结果保存为JSON文件到存储账户

最佳实践

  • 提前过滤数据:导出前用Kusto查询精准过滤时间范围、无关字段和冗余数据,减少导出的数据量,提升处理速度。
  • 优先自动化:对于重复导出需求,编写Azure CLI脚本并通过Azure Automation定时执行,或用Logic Apps实现全流程自动化,避免手动操作的误差。
  • 权限最小化:给执行导出操作的账户分配Log Analytics Reader权限即可,避免过度授权带来的安全风险。
  • 验证格式有效性:导出后用工具(如jq)验证JSON格式是否正确,避免出现语法错误影响后续使用:
    jq . logs_export.json
    
  • 合理存储归档:将导出的JSON日志存储到Azure Blob Storage,配置生命周期管理策略,将旧数据自动归档到冷存储或归档存储,降低成本。

内容的提问来源于stack exchange,提问作者Orel Jaraian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:27:22