新服务器安装和配置zabbix的playbook
公司的金山區(qū)云服務(wù)器是由我負(fù)責(zé)的,每一次新購買了金山區(qū)的服務(wù)器都要把這些新服務(wù)器添加到zabbix監(jiān)控里,于是我就編寫了一個ansible的playbook,這樣以后就可以在執(zhí)行playbook的時候“帶薪拉屎”了。
ansible主機準(zhǔn)備:
1)準(zhǔn)備一個已經(jīng)填寫好zabbix_server同時hostname為空的zabbix_agentd.conf放在/root/路徑下;
2)把新購買的機器ip地址填寫到/etc/ansible/hosts里,原有的hosts要另外保存一份;
3)playbook跑完之后,具體的自定義項目比如pid、端口檢查等監(jiān)控項就是自己單獨配置了;
4)別忘了去zabbix的web頁面確認(rèn);
整個playbook如下文:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | --- -?hosts:?all ??tasks: ????????-?name:?給新購買的機器安裝zabbix?2.2版本(2.2.14版本) ??????????yum:?name=zabbix22?state=latest ??????????yum:?name=zabbix22-agent?state=latest ??????????? ????????-?name:?備份原來的zabbix_agentd.conf ??????????shell:?mv?/etc/zabbix/zabbix_agentd.conf?/etc/zabbix/zabbix_agentd.conf-bak ??????????? ????????-?name:?將控制端上的zabbix_agent.conf下發(fā)到目標(biāo)機器 ??????????copy:?src=/root/zabbix_agentd.conf?dest=/etc/zabbix/?owner=root?group=root?mode=0777 ??????????? ????????-?name:?對應(yīng)更改Hostname ??????????shell:?sed?-i?s/Hostname=/Hostname=$(hostname)/?/etc/zabbix/zabbix_agentd.conf ??????????notify:?Start?Zabbix-agent?Service ??handlers: ????????-?name:?Start?Zabbix-agent?Service ??????????service:?name=zabbix-agent?start=restarted |
執(zhí)行之后,會有一個提示,如圖:
ansible提示,最好使用template或者lineinfile模塊,而不要用sed命令。
既然ansible這么說,那咱們就用唄,而且再把上面的語言整理一下。如下文:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | --- -?hosts:?all ??tasks: ????????-?name:?給新購買的機器安裝zabbix?2.4版本 ??????????yum:?name={{?item?}}?state=latest ??????????with_items: ??????????-?zabbix24 ??????????-?zabbix24-agent ????????-?name:?備份原來的zabbix_agentd.conf ??????????shell:?mv?/etc/zabbix/zabbix_agentd.conf?/etc/zabbix/zabbix_agentd.conf-bak ????????-?name:?將控制端上的zabbix_agent.conf下發(fā)到目標(biāo)機器 ??????????copy:?src=/root/zabbix_agentd.conf?dest=/etc/zabbix/?owner=root?group=root?mode=0777 ????????-?name:?在新的zabbix_agent.conf添加Hostname ??????????lineinfile:?dest=/etc/zabbix/zabbix_agentd.conf?regexp=^Hostname?line=Hostname=`ansible_nodename`? ??????????notify:?Start?Zabbix-agent?Service ??handlers: ????????-?name:?Start?Zabbix-agent?Service ??????????service:?name=zabbix-agent?start=retarted |
多說一下lineinfile模塊,lineinfile模塊具備“文件備份、語句替換、語句刪除、新語句插入”功能。其格式是:
| 1 | lineinfile:?dest=目標(biāo)文件絕對路徑??具體內(nèi)容 |
其中具體內(nèi)容可以是以下幾項:
1)backup=yes,將原來的dest文件備份,默認(rèn)是No;
2)regexp= ,接正則表達(dá)式,本文用的是“^Hostname”,即匹配以Hostname開頭的行;
3)state= ,不單獨寫出來的話,默認(rèn)是present,如果是state=absent,就是把regexp= 滿足的語句刪除;
4)line="要插入的話",如果前面沒有regexp匹配出來的語句,那么默認(rèn)是把“要插入的話”插入到文件最后一行。
?本文轉(zhuǎn)自 蘇幕遮618 51CTO博客,原文鏈接:http://blog.51cto.com/chenx1242/1856628
總結(jié)
以上是生活随笔為你收集整理的新服务器安装和配置zabbix的playbook的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UCINET软件使用简介 ——主菜
- 下一篇: VLFeat 相关