AWX日志推送至Azure Log Analytics Workspace配置求助
实现AWX日志推送至Azure Log Analytics Workspace的可行方案
方法一:AWX日志文件+Azure Monitor Agent转发
- 确认AWX日志路径:物理机部署默认在
/var/log/tower/,容器部署在/var/log/awx/,核心日志包括job_events.log(JSON格式)、activity_stream.log。 - 部署Azure Monitor Agent(替代旧版Log Analytics Agent):
- 从Azure Log Analytics Workspace的「代理管理」中获取Workspace ID和Primary Key。
- 安装Agent后创建自定义日志收集规则:指定AWX日志文件路径,设置格式为JSON,配置字段提取规则,确保job_id、执行状态、模块名等关键字段可被解析。
- 触发AWX测试作业,在Log Analytics的自定义日志表中验证日志同步情况。
方法二:AWX Webhook+Azure Event Hub+Log Analytics
- 配置AWX Webhook:
- 在AWX中创建Webhook,选择触发事件(如作业完成/失败),设置Payload格式为JSON。
- 目标URL填写Azure Event Hub的REST端点:
https://<命名空间>.servicebus.windows.net/<事件中心名>/messages,请求头添加Authorization字段,值为Azure生成的SAS令牌。
- 配置Event Hub到Log Analytics的数据流:
- 在Azure Event Hub中开启「捕获」功能,将目标设置为你的Log Analytics Workspace。
- 配置捕获规则为JSON格式,按需设置临时存储账户,确保数据自动流转到Workspace。
- 注意:可在AWX Webhook设置中自定义Payload模板,匹配Log Analytics的字段解析要求。
方法三:Ansible Playbook定时推送日志
- 编写Playbook通过Azure Monitor Data Collector API推送日志:
- name: 读取AWX作业日志 slurp: src: /var/log/tower/job_events.log register: awx_log_raw - name: 推送日志至Azure Log Analytics uri: url: "https://<WorkspaceID>.ods.opinsights.azure.com/api/logs?api-version=2016-04-01" method: POST headers: Authorization: "SharedKey <WorkspaceID>:<PrimaryKey>" Content-Type: "application/json" Log-Type: "AWXJobEvents" body: "{{ awx_log_raw.content | b64decode | from_json }}" body_format: json - 在AWX中创建定时作业,运行该Playbook实现增量日志推送(可添加日志偏移量逻辑避免重复发送)。
排障关键点
- 检查Azure Monitor Agent状态:执行
az monitor agent show确认代理与Workspace的连接状态。 - 查看AWX Webhook日志:在AWX Webhook页面的「最近请求」中排查请求是否发送成功、是否有报错信息。
- 验证Event Hub捕获状态:在Azure Event Hub的「捕获」监控指标中,确认数据是否正常捕获并流转至Log Analytics。
内容的提问来源于stack exchange,提问作者Sridattha
相关产品推荐
相关产品推荐

