如何使用az cli添加自定义日志并配置日志收集路径?
问题说明
官方文档给出了Log Analytics工作区表的创建方法,但未提供类似Azure门户操作中设置自定义日志收集路径(例如:/etc/log/nginx/error.log)的相关参数,表创建命令的可用参数如下:
az monitor log-analytics workspace table create --name --resource-group --workspace-name [--columns] [--description] [--no-wait] [--plan {Analytics, Basic}] [--retention-time] [--total-retention-time]
对已存在的表执行show命令查看详情时,同样无法找到日志收集路径相关参数,也没有指向存储该配置的关联对象入口。
核心原因
在表操作命令中找不到自定义日志路径参数属于正常情况,因为日志收集路径不属于Log Analytics表的内置属性:
- Log Analytics表的作用仅为存储结构化日志数据,本身不记录数据来源相关配置
- Azure门户中配置的自定义日志收集路径,属于数据收集规则(DCR)的配置项,数据收集规则是和表独立的Azure资源
- 表和数据收集规则为多对多关联关系:单个表可接收多个采集规则投递的数据,单个采集规则也可将数据投递到多个表,因此路径配置不会作为表的属性存在。
CLI配置自定义日志收集路径的操作步骤
通过Azure CLI完成自定义路径日志采集需要分两步执行:
- 第一步:使用
az monitor log-analytics workspace table create命令,创建用于存储日志的目标自定义表 - 第二步:使用
az monitor data-collection rule命令组创建或更新数据收集规则:- 在规则的日志文件数据源配置项中,指定需要采集的日志路径,支持Linux、Windows路径格式,支持通配符匹配
- 配置日志解析、字段转换规则
- 绑定需要执行日志采集的目标资源,包括虚拟机、虚拟机规模集等
- 配置数据投递目标,关联第一步创建的自定义表即可完成配置
现有收集路径的查询方法
如果需要查询已配置的日志收集路径,无需查询表对象详情,直接查询关联到对应Log Analytics工作区的所有数据收集规则,从规则的log-file类型数据源配置中提取路径信息即可。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

