一、软件版本 操作系统: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具体路径。
[iyunv@zabbix_server ~]# vim /etc/salt/master file_roots: base: - /srv/salt/ ###sls配置文件存放路径 - /usr/local/zabbix/etc/zabbix_agentd.conf.d/ ####key推送的文件路径 ##################### 六、切换到目录下,执行sls的配置操作:
1、环境具体配置: [iyunv@zabbix_server zabbix]# cd /srv/salt [iyunv@zabbix_server salt]# ls top.sls zabbix
2、看一下入口文件: base: '*': - zabbix 3、切换到zabbix目录下看入口文件: [iyunv@zabbix_server salt]# cd zabbix/ [iyunv@zabbix_server zabbix]# ls file.sls init.sls server.sls
4、初始文件init.sls: [iyunv@zabbix_server zabbix]# 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: [iyunv@zabbix_server zabbix]# cat server.sls include: - zabbix.file
server: service.running: - name: zabbix_agentd - enable: True - reload: True
7、查看目录下要推送的文件: [iyunv@zabbix_server files]# pwd /usr/local/zabbix/etc/zabbix_agentd.conf.d [iyunv@zabbix_server zabbix_agentd.conf.d]# ls mysql.conf tcp.conf 七、执行推送操作: [iyunv@zabbix_server zabbix]# salt 'zabbix_client' state.highstate -v
**zabbix_client ####表示主机名
查看到第一次已经推送了,mysql.conf这个文件
客户端查看: [iyunv@zabbix_client zabbix_agentd.conf.d]# ls mysql.conf tcp.conf
**最后在web界面添加相关模板即可
第二种方式:使用file模块直接推送,配置我们保留不变:
[iyunv@zabbix_server files]# 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/ 直接用命令推送即可,推荐使用下面命令的方法来推送文件或者目录。
|