zabbix--结合saltstack推送自定义key实践
一、软件版本操作系统:CentOS-6.5-x86_64salt版本: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.confInclude=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf ###定义自定义key存放路径。UnsafeUserParameters=1 ###开启自定义监控
五、master 上配置state具体路径。
# vim /etc/salt/masterfile_roots:base: - /srv/salt/ ###sls配置文件存放路径- /usr/local/zabbix/etc/zabbix_agentd.conf.d/ ####key推送的文件路径 #####################六、切换到目录下,执行sls的配置操作:
1、环境具体配置:# cd /srv/salt# lstop.slszabbix
2、看一下入口文件:base:'*':- zabbix3、切换到zabbix目录下看入口文件:# cd zabbix/# ls file.slsinit.slsserver.sls
4、初始文件init.sls:# cat init.slsinclude:- 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.slsinclude:- zabbix.file
server:service.running: - name: zabbix_agentd - enable: True- reload: True
7、查看目录下要推送的文件:# pwd/usr/local/zabbix/etc/zabbix_agentd.conf.d# lsmysql.conftcp.conf七、执行推送操作:# salt 'zabbix_client' state.highstate -v
**zabbix_client ####表示主机名
查看到第一次已经推送了,mysql.conf这个文件
客户端查看:# lsmysql.conftcp.conf
**最后在web界面添加相关模板即可
第二种方式:使用file模块直接推送,配置我们保留不变:
# salt 'zabbix_client' cp.get_file salt://tcp.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp.confzabbix_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]