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

今天需要把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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值