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
| [iyunv@node1 ~]# vim /etc/ansible/hosts
[zabbix_install]
172.25.0.30
|
2、编写我们的自己定义的key到客户端并且启动: 1
2
3
4
5
6
7
8
9
10
| [iyunv@node1 ansible]# cat zabbix_key.yaml
- hosts: zabbix_install
remote_user: root
tasks:
- name: copy
copy: src=/usr/local/zabbix/etc/zabbix_agentd.conf.d/{{ keys }}.conf dest=/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
| [iyunv@node1 ~]# 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
[iyunv@node1 ~]# /usr/local/zabbix/bin/zabbix_get -s 172.25.0.29 -k netstats[LISTEN]
15
|
我们发现可以成功的 3、推送命令: 1
2
3
4
5
6
7
8
9
| ansible-playbook -e keys=tcp_status zabbix_key.yaml
[iyunv@node1 ansible]# ansible-playbook -e keys=tcp_status zabbix_key.yaml
PLAY [zabbix_install] ****************************************************************************
TASK [Gathering Facts] ***************************************************************************
ok: [172.25.0.30]
TASK [copy] **************************************************************************************
ok: [172.25.0.30]
PLAY RECAP ***************************************************************************************
172.25.0.30 : ok=2 changed=0 unreachable=0 failed=0
|
4、去到客户端查看,我们可以看到tcp_status.conf的文件了 1
2
| [iyunv@node2 ~]# 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,键值为netstats[ESTABLISHED] 7、然后我们再添加图像,绑定我们的监控项: 8、点击主机node2,然后我们添加模板 9、选择node2,添加模板,然后我们就可以对我们分主机进行自动义keys 唠叨多一句,基于ansible结合zabbix自定义keys,能够很好实现自动化管理客户端。
|