如何将Azure Log Analytics所有现有及未来日志表导出到存储账户
实现方案说明
可行方案优先级排序
1. 首选:Azure Functions(适配性最强)
- 可同时覆盖存量表、新增表的导出需求,实现成本低:
- 首次运行时调用
az monitor log-analytics workspace table list命令或者对应REST API,拉取当前工作区所有符合导出条件的日志表,直接批量更新到data export规则的表列表即可 - 对接Azure Event Grid订阅Log Analytics工作区的「表创建」事件,新表创建完成后自动触发函数运行,将新表追加到导出规则中,无需人工操作
- 也可以配置简单的定时触发(比如每日运行1次)做全量同步,避免事件触发漏触发的情况
- 首次运行时调用
- 如果表数量超过单条data export规则支持的100张上限,可在代码中加入拆分逻辑,自动创建多条导出规则完成全量覆盖
2. 次选:Azure Logic App(低代码友好)
- 实现逻辑和Azure Functions完全一致,无需编写代码,通过内置的Azure Resource Manager连接器即可调用对应资源操作接口
- 同样支持事件触发、定时触发两种模式,适合没有代码开发能力的场景,缺点是运行成本高于消费级计划的Azure Functions,复杂逻辑适配性较差
不可行方案说明
Azure Policy无法满足需求:
- 目前没有内置规则支持自动维护data export的表列表,自定义Policy仅支持审计,或者在表创建时做单次操作,无法动态更新已有导出规则的表列表,也无法批量同步存量表,完全覆盖需求的实现难度极高,不推荐使用
注意事项
Log Analytics单条data export规则最多支持添加100张表,表数量超过上限时必须拆分创建多条导出规则,配置方案时需要提前考虑该限制
内容的提问来源于stack exchange,提问作者Alpine
相关产品推荐
相关产品推荐

