dengwen3 发表于 2018-7-29 09:02:10

基于ansible自动化定义zabbix-keys

  基于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文件:添加相应的主机
# vim /etc/ansible/hosts  

  
172.25.0.30
  2、编写我们的自己定义的key到客户端并且启动:
# 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
# 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、推送命令:
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的文件了
# 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

  7、然后我们再添加图像,绑定我们的监控项:

  8、点击主机node2,然后我们添加模板

  9、选择node2,添加模板,然后我们就可以对我们分主机进行自动义keys

  总结:
  基于ansible结合zabbix自定义keys,能够很好实现自动化管理客户端,但是在我们做之前。我们要做好ssh的公私玥的认证。才能实现ansible的推送。
页: [1]
查看完整版本: 基于ansible自动化定义zabbix-keys