数据采集 采集源配置 ansible 数据采集
ansible 数据采集
简介
采集ansible task playbook 数据并上报到 DataFlux 中。
前置条件
- 已安装 DataKit(DataKit 安装文档)
- python 脚本 task_info.py 在 datakit 安装目录下的 externals/ansible/ 中
- 需要将 python 脚本放到 ansible.cfg callback plugin 指定目录 callback_plugins = /x/x
- 安装 python 脚本所需环境 pip install -r requirement.txt
- ansible 中需配置 bin_ansible_callbacks = True
- ansible 中需启动callback plugin 白名单 callback_whitelist = task_info
配置
进入 DataKit 安装目录下的 conf.d/ansible 目录,复制 ansible.conf.sample 并命名为 ansible.conf。示例如下:
[[inputs.ansible]]
path = "/ansible" # 此处的path建议默认 如需更改 还需更改python脚本中的路径
打开 datakit 安装目录下的 externals/ansible/task_info.py 脚本,配置 DOCUMENTATION
设置:
callback: task_info
type: notification
short_description: write playbook output to es
description:
- this plugins will output task_info to datakit
requirements:
- pip install -r requests.txt
- set Whitelist in ansible.cfg
- move plugins info callback dir set in ansible.cfg
options:
output_task_stats:
version_added: '2.9'
default: ["unreachable","failed","ok"] # 将列表中三种task状态的数据打入 keyevent 更改此处即可
description: choose task stats
env:
- name: ANSIBLE_TASK_INFO
ini:
- section: callback_task_info
key: output_task_stats
datakit_host :
version_added: '2.9'
default: 'http://0.0.0.0:9529' # 配置 datakit host 要跟 datakit配置一致
description: choose task stats
env:
- name: ANSIBLE_TASK_INFO
ini:
- section: callback_task_info
key: datakit_host
采集数据
指标集:play_book_stats
fields
指标 | 类型 |
---|---|
changed | int |
failures | int |
ignored | int |
ok | int |
rescued | int |
skipped | int |
unreachable | int |
tag
tag | 描述 |
---|---|
host | host |
play_book_name | play_book_name |
关键事件
tag
tag | 描述 |
---|---|
__source | 来源 此处ansible |
__status | 由 ansible原生状态映射到dataflux官方指定状态 |
ansible_status | ansible 原有任务状态 |
host | host |