基于ansible自动化定义zabbix-keysnode
zabbix的应用很普遍,我就很少说了,今天咱们来实现基于ansible自定义zabbix—keys,这东西可谓在zabbix的应用中重中之重。ansible这个也是一个很是好用自动化部署工具 。ansible结合zabbix自定义keys,不管在企业,生产环境也是普遍在应用的。 shell
一样的主机环境咱们准备两台:vim
node1:172.25.0.29 # 服务端bash
node2:172.25.0.30 # 客户端ssh
一、进入ansible的hosts文件:添加相应的主机tcp
[root@node1 ~]# vim /etc/ansible/hosts [zabbix_install] 172.25.0.30
二、编写咱们的本身定义的key到客户端而且启动:ide
[root@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 工具
[root@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[i]}' | grep $1 | awk '{print $$2}' 测试一下keys [root@node1 ~]# /usr/local/zabbix/bin/zabbix_get -s 172.25.0.29 -k netstats[LISTEN] 15
咱们发现能够成功的测试
三、推送命令:spa
ansible-playbook -e keys=tcp_status zabbix_key.yaml [root@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
四、去到客户端查看,咱们能够看到tcp_status.conf的文件了
[root@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[i]}' | grep $1 | awk '{print $$2}'
五、访问服务端的,添加咱们的自定义监控,点击自定义模板:
六、而后添加监控项名称为$1status,键值为netstats[ESTABLISHED]
七、而后咱们再添加图像,绑定咱们的监控项:
八、点击主机node2,而后咱们添加模板
九、选择node2,添加模板,而后咱们就能够对咱们分主机进行自动义keys
总结:
基于ansible结合zabbix自定义keys,可以很好实现自动化管理客户端,可是在咱们作以前。咱们要作好ssh的公私玥的认证。才能实现ansible的推送。