歡迎您光臨本站 註冊首頁

nagios 和 飛信機器人的關聯問題

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

nagios 和 飛信機器人的關聯問題

我成功的搭建好了nagios  和飛信機器人 怎麼讓他們兩個相互關聯  我到知道怎麼通過郵件報警;。 高人指點下 謝謝 是下個插件 還是改配置文件 我不清楚    鄙人謝謝~:lol: :lol: :lol: :lol: :lol:
《解決方案》

一、 軟體環境:cacti(需Threshold插件),飛信機器人(fetion)
二、 安裝過程:
Cacti的Threshold插件下載及安裝配置參見:Cacti配置e-mail報警
飛信機器人(fetion)下載及安裝配置參見:系統監控:linux命令行-飛信客戶端發送免費報警簡訊
三、 配置過程:
1.按照Cacti配置e-mail報警配置並啟用thold
2.編輯cacti/plugins/thold/thold-functions.php
在thold–functions.php查找thold_mail($global_alert_address, 」, $subject, $msg, $file_array);行在此行下面加入:

exec("echo $subject >>/var/www/html/cacti/plugins/thold/alter.log");
exec("/var/www/html/cacti/plugins/thold/sendsms.sh");
查找 thold_mail($item["notify_extra"], 」, $subject,
$msg, $file_array);行在此行下面加入:

exec("echo $subject >>/var/www/html/cacti/plugins/thold/alter.log"); #將報警信息記錄到alter.log
exec("/var/www/html/cacti/plugins/thold/sendsms.sh"); #執行sendsms.sh
備註:本人的thold安裝在/var/www/html/cacti/plugins/thold/目錄中,如果註釋掉thold_mail,只通過簡訊發送報警。不註釋掉thold_mail,會通過email和簡訊同時發送報警

thold-functions.php生成的alter.log範例如下:

192.168.1.207 - Used Space - G: Label: is still above threshold of 85 with 99
編寫腳本sendsms.sh自動調用飛信機器人發送報警

#!/bin/sh
#send sms by fetion
#Write by John.Lv
if [ ! -e "/var/www/html/cacti/plugins/thold/alert.log" ];then #判斷alter.log是否存在
echo "Usage:alert.log does not exist"
exit
fi
if [ -n "`cat /var/www/html/cacti/plugins/thold/alert.log`" ]; then #判斷alter.log是否有報警信息
admin="135xxxxxxxx"  #簡訊接收人,需在你飛信的好友列表中
echo "sms $admin "`cat /var/www/html/cacti/plugins/thold/alert.log` >>/var/www/html/cacti/plugins/thold/sms.txt #發送alter.log中的報警信息給admin
echo "exit" >> /var/www/html/cacti/plugins/thold/sms.txt #退出飛信
else
echo "Usage:no alert"
exit
fi
if [ -n "`cat /var/www/html/cacti/plugins/thold/sms.txt`" ] ; then
/var/www/html/cacti/plugins/thold/install/fetion -u 13512345678 -p "123456" -b /var/www/html/cacti/plugins/thold/sms.txt  -EN
#調用fetion發送簡訊,命令格式和參數說明參見:系統監控:linux命令行-飛信客戶端發送免費報警簡訊
rm -f /var/www/html/cacti/plugins/thold/sms.txt 1>/dev/null 2>&1
rm -f /var/www/html/cacti/plugins/thold/alert.log 1>/dev/null 2>&1
else
echo "Usgae:no message to send"
exit
fi
ok,配置完成了,現在就可以通過簡訊接收報警信息了

http://www.hiadmin.com/cacti%e5%ae%9e%e7%8e%b0%e7%9f%ad%e4%bf%a1%e6%8a%a5%e8%ad%a6/

[ 本帖最後由 劍次狼 於 2008-11-26 10:58 編輯 ]
《解決方案》

關於nagios的SMS報警
1。定義一下報警的命令
linux# vi /usr/local/nagios/etc/objects/commands.cfg
Add:
#define host-notify-by-sms
define command {
       command_name      notify-host-by-sms
       command_line      echo "Host $HOSTSTATE$ alert for $HOSTNAME$! on '$DATETIME$'" >> /usr/local/nagios/sms/alert.log && /usr/local/nagios/sms/sms.sh
       }

#service notify by sms
define command {
       command_name     notify-service-by-sms
       command_line     echo "'$HOSTADDRESS$' $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" >> /usr/local/nagios/sms/alert.log && /usr/local/nagios/sms/sms.sh

2。SMS腳本

linux# vi /usr/local/nagios/sms/sms.sh
Add:
#!/bin/sh
#send sms by fetion
#Write by wlsun
if [ ! -e "/usr/local/nagios/sms/alert.log" ];then
echo "Usage:alert.log does not exist"
exit
fi
if [ -n "`cat /usr/local/nagios/sms/alert.log`" ]; then
admin="1381111111"
echo "sms $admin ""`cat /usr/local/nagios/sms/alert.log`" >>/usr/local/nagios/sms/sms.log
echo "exit" >> /usr/local/nagios/sms/sms.log
else
echo "Usage:no alert"
exit
fi
if [ -n "`cat /usr/local/nagios/sms/sms.log`" ] ; then
/usr/local/nagios/sms/fetion/fetion -u 13811111111 -p "123456" -b /usr/local/nagios/sms/sms.log
rm -f /usr/local/nagios/sms/sms.log 1>/dev/null 2>&1
rm -f /usr/local/nagios/sms/alert.log 1>/dev/null 2>&1
else
echo "Usgae:no message to send"
exit
fi


3。飛信程序

把你的飛信程序放到/var/local/nagios/sms/sms/下 ,具體什麼目錄要根據你自已的情況定

把/usr/local/nagios/sms的屬性改一下,加到nagios組裡,讀寫許可權設為「777」。
《解決方案》

學習下
《解決方案》

嚴重頂起:m01:

:m01:

我也要試一下。
《解決方案》

早就實現了,這個功能非常不錯,建議大家都使用
《解決方案》

回復 #2 劍次狼 的帖子

而這結合起來發送簡訊是很有實際用途的,這裡也早就實現了

[火星人 ] nagios 和 飛信機器人的關聯問題已經有698次圍觀

http://coctec.com/docs/service/show-post-25996.html