如何关闭Azure Web App部分部署槽的Log Analytics数据采集
针对Azure Web App多部署槽Log Analytics费用优化的解决方案
1. 配置数据采集规则(DCR)过滤非核心部署槽的数据
- 进入Log Analytics工作区的数据采集规则页面,创建或编辑关联Azure Web App的DCR
- 在DCR的
筛选器配置中,添加条件过滤掉不需要的部署槽数据:- 针对AppMetrics表,设置筛选条件为
SlotName != '非核心槽名称1' and SlotName != '非核心槽名称2' - 从源头阻止非核心槽的数据被摄入,直接减少数据量
- 针对AppMetrics表,设置筛选条件为
2. 使用日志查询规则实现数据自动清理
- 创建日志查询规则,设置每日定期运行,执行删除非核心槽历史数据的Kusto查询:
AppMetrics | where SlotName in ('非核心槽名称1', '非核心槽名称2') | where TimeGenerated < ago(1d) | delete - 注意:
delete操作需要Log Analytics工作区的写入权限,且仅能删除30天内的数据,可实现近似1天保留的效果
3. 为非核心部署槽更换低成本日志方案
- 停止将非核心部署槽的日志发送到主Log Analytics工作区,改为:
- Azure存储账户存储日志:在部署槽的诊断设置中,将日志输出到存储账户,配置存储生命周期规则,1天后自动删除对应blob
- 本地日志记录:如果非核心槽无需长期监控,直接关闭远程日志采集,仅保留本地日志(需注意本地存储容量限制)
4. 拆分Log Analytics工作区
- 将主部署槽和非核心部署槽的日志分别发送到不同的Log Analytics工作区:
- 主槽使用保留30天的工作区,满足核心监控需求
- 非核心槽使用单独工作区,设置最低30天保留后结合日志清理规则实现近似1天保留,也可根据需求调整工作区定价层(如容量模式)降低成本
内容的提问来源于stack exchange,提问作者LIvanov
相关产品推荐
相关产品推荐

