zcl_ccc 发表于 2018-7-31 11:25:25

zabbix--结合saltstack推送自定义key实践

  一、软件版本
  操作系统:CentOS-6.5-x86_64
  salt版本:2015.5.2(直接yum源码安装)
  zabbix版本:3.0.3
  二、部署环境规划
  名称
  IP
  主机名
  配置
  Slat-master
  192.168.63.205
  Zabbix_server
  2核、2G
  Salt-client
  192.168.63.184
  Zabbix_client
  2核、2G
  三、zabbix-server(slat-master)架构图如下:

  架构思路:zabbix server先安装有一个agnet端,然后测试模板和key没有问题之后,再从/usr/local/zabbix/etc/zabbix_agentd.conf.d 目录下推送所有的key到客户端,并重启zabbix服务即可。
  第一种实现方式结合state实现自定义推送:
  四、Zabbix-agent配置好自定义key存放的路径:
  Vim /usr/local/zabbix/etc/zabbix_agentd.conf
  Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf   ###定义自定义key存放路径。
  UnsafeUserParameters=1                      ###开启自定义监控
  五、master 上配置state具体路径。
  # vim /etc/salt/master
  file_roots:
  base:
  - /srv/salt/                      ###sls配置文件存放路径
  - /usr/local/zabbix/etc/zabbix_agentd.conf.d/          ####key推送的文件路径
  #####################
  六、切换到目录下,执行sls的配置操作:
  1、环境具体配置:
  # cd /srv/salt
  # ls
  top.slszabbix
  2、看一下入口文件:
  base:
  '*':
  - zabbix
  3、切换到zabbix目录下看入口文件:
  # cd zabbix/
  # ls
  file.slsinit.slsserver.sls
  4、初始文件init.sls:
  # cat init.sls
  include:
  - zabbix.file
  - zabbix.server
  5、由于salt是基于python编写的,所以我们也可以写成一下形式:
  config:
  file.managed:
  {% for item in ['mysql.conf']%}
  - name: /usr/local/zabbix/etc/zabbix_agentd.conf.d/`item`
  - source: salt://`item`
  {% endfor %}
  6、推送完成之后,重启zabbix—agent:
  # cat server.sls
  include:
  - zabbix.file
  server:
  service.running:
  - name: zabbix_agentd
  - enable: True

  ->  7、查看目录下要推送的文件:
  # pwd
  /usr/local/zabbix/etc/zabbix_agentd.conf.d
  # ls
  mysql.conftcp.conf
  七、执行推送操作:
  # salt 'zabbix_client' state.highstate -v
  **zabbix_client ####表示主机名
  查看到第一次已经推送了,mysql.conf这个文件

  客户端查看:
  # ls
  mysql.conftcp.conf
  **最后在web界面添加相关模板即可
  第二种方式:使用file模块直接推送,配置我们保留不变:
  # salt 'zabbix_client' cp.get_file salt://tcp.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp.conf
  zabbix_client:
  /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf
  salt 'zabbix_client' cp.get_dir salt://zabbix /tmp/
  直接用命令推送即可,推荐使用下面命令的方法来推送文件或者目录。
  运维平台开源项目地址:https://github.com/roncoo/roncoo-cmdb
页: [1]
查看完整版本: zabbix--结合saltstack推送自定义key实践