基於ansible自動化定義zabbix-keys

                              基於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}'

五、訪問服務端的,添加咱們的自定義監控,點擊自定義模板:

c7148b6c405cc63de08f05de8b009512.jpg-wh_

六、而後添加監控項名稱爲$1status,鍵值爲netstats[ESTABLISHED]

f3c2ca6b84596911e0661128d2c1b152.jpg-wh_

七、而後咱們再添加圖像,綁定咱們的監控項:

d30178bd4cfa1c67dcf233e00e28e227.jpg-wh_

八、點擊主機node2,而後咱們添加模板

b3ba79abd0347522717487162b6131cd.jpg-wh_

九、選擇node2,添加模板,而後咱們就能夠對咱們分主機進行自動義keys

d951671fdeec2e094b07fc5ae1d9ac02.jpg-wh_

 總結:

    基於ansible結合zabbix自定義keys,可以很好實現自動化管理客戶端,可是在咱們作以前。咱們要作好ssh的公私玥的認證。才能實現ansible的推送。

相關文章
相關標籤/搜索