飛信機器人官方首頁:http://www.it-adv.net/index.php?action=index
下載頁面及配置說明:
需要回復才可以看到下載文件
Linux下只是編譯好的單個文件,只有幾百KB,大家不要對這個文件有所疑問
我當時也是帶著懷疑的態度去下載的
http://bbs.it-adv.net/viewthread.php?tid=1081
因為我的nagios是配置Linux (rhel 5.4)下的,我下載的fetion依賴包是linux
上面寫的依賴包是在rhel 4下編譯的,我在5.4下測試通過
(在Redhat4 下編譯,其它LINUX發行版的朋友請測試)
linux版本:http://www.it-adv.net/fetion/linuxso_20101113.rar
注意:linux用戶,請不要把支持庫中的 lib* 復制到 /usr/lib 下,因為發行版本不同,
可能會覆蓋您機器中的核心庫,導致嚴重系統問題。您可以把庫解壓到主程序的相同目錄,
然后以 LD_LIBRARY_PATH=. ./fetion 來運行,兩點間有空格
然后把下載好的軟件上傳到nagios server
服務器上
1. 權限設置
]# chmod 775 fetion
2. 所屬用戶設置
因為我的nagios 程序啟動用戶是nagios,而我的fetion文件夾所屬的用戶&組是root
我要修改為nagios,不然程序報警時,調用fetion時會報錯,好像是時間啥錯誤
]# chown -R nagios:nagios fetion
目錄列表:
3. 測試
1)進入fetion文件夾
]# cd /opt/fetion
]# D_LIBRARY_PATH=. ./fetion --mobile=飛信號&手機號 --pwd=飛信密碼(不是卡號密碼) --to=發送的人(可以用自己的手機測試) --msg-utf8=測試 --debug
最后輸入看到的圖形驗證碼,我是把圖片ftp到本機打開的
說明:
D_LIBRARY_PATH=. 調用飛信依賴包,前提是要進入fetion所在目錄
./fetion 調用fetion腳本
--debug 如果第一次執行,不加上這個參數,腳本會執行失敗,沒有任何提示,短信也發送失敗,
因為現在的fetion版本,會彈出彈出圖形驗證碼;
但是不加debug參數,圖形驗證碼出不來。據說是官方飛信服務器需要的,不是程序的行為。
在切換到nagios帳號下,測試飛信發送是否成功
自己寫個小腳本,注釋就不寫了,腳本名稱sms.sh
#!/bin/bash
usr=137********
pwd=*******
receive_number=*********
cd /opt/fetion && \
D_LIBRARY_PATH=. ./fetion --mobile=${usr} --pwd=${pwd} --to=${receive_number} --msg-utf8="$1" --debug
nagios 配置文件commands.cfg中添加如下
###################################################################
# notify-host-by-sendmsg/notify-service-by-sendmsg
###################################################################
define command {
command_name notify-host-by-fetion
command_line /opt/fetion/sms.sh "Host $HOSTSTATE$ alert for $HOSTNAME$($HOSTADDRESS$) on $TIME$."
}
define command {
command_name notify-service-by-fetion
# command_line /opt/fetion/sms.sh ""$TIME$":$SERVICEDESC$($HOSTADDRESS$) is $SERVICESTATE$."
command_line /opt/fetion/sms.sh "$LONGDATETIME$:$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$.$SERVICEOUTPUT$"
}
nagios 配置文件contacts.cfg 中添加如下
[root@**** objects]# more contacts.cfg
define contact{
contact_name sa
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email,notify-service-by-fetion
host_notification_commands notify-host-by-email,notify-host-by-fetion
至此,整個nagios + fetion 配置就完成了,我們可以手動停止監控的程序,等等看看fetion是否報警