基于ansible自动化定义zabbix-keys
zabbix的应用很广泛,我就不多说了,今天我们来实现基于ansible自定义zabbix—keys,这东西可谓在zabbix的应用中重中之重。ansible这个也是一个非常好用自动化部署工具 。ansible结合zabbix自定义keys,无论在企业,生产环境也是广泛在应用的。 同样的主机环境我们准备两台: node1:172.25.0.29 # 服务端 node2:172.25.0.30 # 客户端1、进入ansible的hosts文件:添加相应的主机1
2
3
# vim /etc/ansible/hosts
172.25.0.30
2、编写我们的自己定义的key到客户端并且启动:
1
2
3
4
5
6
7
8
9
10
# cat zabbix_key.yaml
- hosts: zabbix_install
remote_user: root
tasks:
- name: copy
copy: src=/usr/local/zabbix/etc/zabbix_agentd.conf.d/{{ keys }}.confdest=/usr/local/zabbix/etc/zabbix_agentd.conf.d/{{ keys }}.conf
notify: reload zabbix
handlers:
- name: reload zabbix
shell: /etc/init.d/zabbix_agentd restart
查看我们的自定义keys,查看tcp的连接status
1
2
3
4
5
# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp_status.conf
UserParameter=netstats[*],netstat -an | awk '/^tcp/{s[$NF]++}END{for (i in s) print i,s}'| grep $1 | awk '{print $$2}'
测试一下keys
# /usr/local/zabbix/bin/zabbix_get -s 172.25.0.29 -k netstats
15
我们发现可以成功的3、推送命令:
1
2
3
4
5
6
7
8
9
ansible-playbook-e keys=tcp_status zabbix_key.yaml
# ansible-playbook-e keys=tcp_status zabbix_key.yaml
PLAY ****************************************************************************
TASK ***************************************************************************
ok:
TASK **************************************************************************************
ok:
PLAY RECAP ***************************************************************************************
172.25.0.30 : ok=2 changed=0 unreachable=0 failed=0
4、去到客户端查看,我们可以看到tcp_status.conf的文件了
1
2
# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp_status.conf
UserParameter=netstats[*],netstat -an | awk '/^tcp/{s[$NF]++}END{for (i in s) print i,s}'| grep $1 | awk '{print $$2}'
5、访问服务端的,添加我们的自定义监控,点击自定义模板:6、然后添加监控项名称为$1status,键值为netstats7、然后我们再添加图像,绑定我们的监控项:8、点击主机node2,然后我们添加模板9、选择node2,添加模板,然后我们就可以对我们分主机进行自动义keys 唠叨多一句,基于ansible结合zabbix自定义keys,能够很好实现自动化管理客户端。
多谢楼主分享
页:
[1]