saltstack学习三:批量修改zabbix配置文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

今天需要把zabbix服务端转移到另外一个机房,伴随的问题是需要批量修改客户端的配置,刚好可以把昨天练习的salt功能实践一下


整个目录结构为:

wKioL1NI6xmDJ97iAAENZBquA9k327.jpg

首先还是从top.sls文件入手/srv/salt/top.sls:

wKiom1NI54OSAOs1AABDdvccjSg920.jpg

匹配所有机器,按zabbix目录下zabbixAgentConfig.sls文件操作

然后zabbixAgentConfig.sls就是同步zabbix的配置文件了:

wKiom1NI65HySuhZAACxFGzvpxM141.jpg

然后将修改好的zabbix_agentd.conf 上传到zabbix目录,并重命名为zabbix_agentd.conf.jinja


好了,一切准备就绪,下面开始推送文件:

1
salt  '*'  state.highstate

然后重启zabbix_agentd:

1
2
salt  '*'  cmd.run  'killall  zabbix_agentd'
salt  '*'  cmd.run  '/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf'


做完之后又想了一下,好像做得有点二,zabbix_agentd.conf都没有用到任务的变量,搞个毛jinja模板,好吧有点多余了,好像人家都可以做到监控到配置文件有变动自动重启服务,好吧我不会怎么写这个功能,再研究一下salt怎么重启zabbix先~~~


好吧,刚试了一下怎么样在sls模板中重启zabbix,这是我调整后的zabbixAgentConfig.sls

wKioL1NI90nCAEN2AAFqsKyQeqI776.jpg

这样可以一步到位推送文件再加重启了

到这里,我又遇到一个问题,salt好像没有对比配置文件差异就重启了服务,我执行一次zabbix就重启一次,好像有点不科学,再研究一下怎么搞。。


刚刚去群上请教了一下大神,绿肥大神告诉我用cmd.wait,到官网查了一下,cmd.wait会考虑watch的条件才去执行命令

wKiom1NJAhmxArdpAADkRXJX9rU171.jpg

所以又将zabbixAgentConfig.sls做修改:

wKioL1NJAiyDjimzAAGJdanxCb8793.jpg

这个是最终版本了,终于完美了,哈哈,,不容易啊。。。

本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/1394645如需转载请自行联系原作者


lihuipeng

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
279 0
|
存储 JSON 应用服务中间件
saltstack学习自动化
saltstack学习自动化
110 0
|
监控 安全 网络协议
SaltStack自动化部署Zabbix Agent
Zabbix Agent建议在系统初始化的时候直接使用SaltStack进行自动化部署,以后的管理和变更均使用SaltStack来完成。
287 0
SaltStack自动化部署Zabbix Agent
|
监控 Shell Perl
zabbix学习小结
一、zabbix是干什么的?    zabbix主要用来做监控。监控什么呢?比如日常巡检的CPU、内存、磁盘、swap交换分区和各端口进程等。
1226 0