您的位置:首页 > 其它

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

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

整个目录结构为:



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



匹配所有机器,按zabbix目录下zabbixAgentConfig.sls文件操作
然后zabbixAgentConfig.sls就是同步zabbix的配置文件了:



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

好了,一切准备就绪,下面开始推送文件:
salt '*' state.highstate
然后重启zabbix_agentd:
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



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

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



所以又将zabbixAgentConfig.sls做修改:



这个是最终版本了,终于完美了,哈哈,,不容易啊。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabbix salt