您好,登錄后才能下訂單哦!
日常Zabbix報警案例中,大多都是報警發(fā)送郵件,場景里很少有需要報警后執(zhí)行一個命令(啟動服務(wù)、清空磁盤空間、關(guān)停服務(wù)器);而今天就給大家講講最近需要做的事:報警后執(zhí)行遠程命令
首先講講需求吧, 遙遠的一天,小伙伴們用上了mongodb,而且需要大力使用,日后一些數(shù)據(jù)存儲在mongodb;從生產(chǎn)環(huán)境遷移數(shù)據(jù)進mongodb,那么問題來了,經(jīng)常聽到別人說,mongodb量大就掛了。mongodb有些數(shù)據(jù)是在程序當(dāng)中被引用到,白天某個時刻掛了,那么用戶、客服、運營就呼喚著了。。團隊中也在查問題,找原因,請教大神,升級版本,可還是掛了。。 目前掛了就是在啟動。。 小伙伴們不可能時常和電腦在一起,有時需要和妹紙在一起調(diào)情啦、上高地啦。剛好zabbix動作中有個遠程命令功能,那么就通過它來解決問題。。
遠程命令整個過程: items -> triggers -> action -> remote commands
配置過程:
1.創(chuàng)建一個mongodb items
Configuration -> Hosts > Items
2.配置mongodb triggers
Configuration -> Hosts > Triggers
3.配置遠程命令的actions
Configuraction -> Actions
條件選擇觸發(fā)器值為PROBLEM、觸發(fā)器為上面的mongodb觸發(fā)器
執(zhí)行次數(shù)為5次,每次間隔60秒
操作類型為:遠程命令
類型為:自定義腳本
命令:具體的指令。內(nèi)容將貼在下面。
至此整個過程都配完了,,但是現(xiàn)在mongodb掛了,actions會執(zhí)行啟動mongodb命令么。? 肯定不會。
遠程命令前提條件,需要在配置文件開啟遠程命令參數(shù),并啟動agentd。
echo 'EnableRemoteCommands=1' >> /usr/local/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix_agentd restart
#注意,遠程命令不支持在zabbix agentd active模式。。切記。。
腳本內(nèi)容:
cat /usr/local/mongodb/start_mongod.sh
#!/bin/bash
/usr/local/mongodb/mongod -f /usr/local/mongodb/mongod.conf >> /tmp/start.log
#注意,zabbix啟動用戶,需要能執(zhí)行上述命令,也就是需要sudo賦權(quán)
那么現(xiàn)在,已經(jīng)全部完成,總結(jié)一下配置過程
1.在agentd配置文件中開啟EnableRemoteCommands參數(shù)
2.配置actions里的Remote Comand
3.Commands里的腳本制作
故障演示
干掉mongodb
#killall mongod
過了采集時間,zabbix將會把triggers置為problem,同時觸發(fā)actions。記錄里顯示如下
Administration -> Audit -> Actions
如果配置正確,那么audit一定會產(chǎn)生一條remote commnad記錄。
有誤1,Audit無記錄,查下配置文件、actions配置
有誤2,Audit有記錄,但mongodb卻未啟動,腳本有問題,調(diào)試一下。。
希望這篇文章能幫助大家,tks。 - -
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。