首页 > 代码库 > zabbix--结合saltstack推送自定义key实践
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具体路径。
[root@zabbix_server ~]# vim /etc/salt/master
file_roots:
base:
- /srv/salt/ ###sls配置文件存放路径
- /usr/local/zabbix/etc/zabbix_agentd.conf.d/ ####key推送的文件路径
#####################
六、切换到目录下,执行sls的配置操作:
1、环境具体配置:
[root@zabbix_server zabbix]# cd /srv/salt
[root@zabbix_server salt]# ls
top.sls zabbix
2、看一下入口文件:
base:
‘*‘:
- zabbix
3、切换到zabbix目录下看入口文件:
[root@zabbix_server salt]# cd zabbix/
[root@zabbix_server zabbix]# ls
file.sls init.sls server.sls
4、初始文件init.sls:
[root@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:
[root@zabbix_server zabbix]# cat server.sls
include:
- zabbix.file
server:
service.running:
- name: zabbix_agentd
- enable: True
- reload: True
7、查看目录下要推送的文件:
[root@zabbix_server files]# pwd
/usr/local/zabbix/etc/zabbix_agentd.conf.d
[root@zabbix_server zabbix_agentd.conf.d]# ls
mysql.conf tcp.conf
七、执行推送操作:
[root@zabbix_server zabbix]# salt ‘zabbix_client‘ state.highstate -v
**zabbix_client ####表示主机名
查看到第一次已经推送了,mysql.conf这个文件
客户端查看:
[root@zabbix_client zabbix_agentd.conf.d]# ls
mysql.conf tcp.conf
**最后在web界面添加相关模板即可
第二种方式:使用file模块直接推送,配置我们保留不变:
[root@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/
直接用命令推送即可,推荐使用下面命令的方法来推送文件或者目录。
运维平台开源项目地址:https://github.com/roncoo/roncoo-cmdb
本文出自 “11949850” 博客,请务必保留此出处http://11959850.blog.51cto.com/11949850/1877624
zabbix--结合saltstack推送自定义key实践