基於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的推送。