在Nagios使用飛信機器人發送警報

平臺: RHEL5.1
飛信版本: 2008-4-2
1.google下載飛信的這個版本fetion_linux_20080402.tar.gz,之因此使用這個相對較老的版本,我的認爲他對nagios的支持較好。新的飛信版本須要使用 -b 的參數,使腳本的方式發送消息內容(這樣會使nagios的宏失效),這個我以爲有點難,之後有空再去研究吧。
2. #tar zxvf fetion_linux_20080402.tar.gz會解壓出一個sms的文件,放在 /opt目錄下(這個目錄隨便啦)
3. 修改 sms權限 chmod 755 sms
4. #ldd sms出提示少一些庫文件
linux-gate.so.1 =>  (0x00237000)
        libACE.so.5.4.7 => not found
        libACE_SSL.so.5.4.7 => not found
        libssl.so.0.9.8 => not found
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0073e000)
        libm.so.6 => /lib/libm.so.6 (0x00ce6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0042a000)
        libc.so.6 => /lib/libc.so.6 (0x00238000)
        /lib/ld-linux.so.2 (0x00bf7000)
注意這是在 rhel5.1上出現缺乏的文件,在RHEL4中,還會提示缺乏
./sms: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./sms)
這個與rhel4上的glibc版本低有關(rhel4的glibc版本爲2.3.4)
5. 幸虧飛信機器人的做者們已經替咱們想好了這點,將缺乏的庫文件也放在了網絡上供下載,到飛信機器人的官方網站[url]http://www.it-adv.net/[/url]下載庫文件LINUX X86/32(REDHAT ES4X32)
6. 將這些庫文件解壓後放到 /usr/lib/目錄下
7.  #ldd sms ,發現OK了
    linux-gate.so.1 =>  (0x00af1000)
    libACE.so.5.4.7 => /usr/lib/libACE.so.5.4.7 (0x002ec000)
    libACE_SSL.so.5.4.7 => /usr/lib/libACE_SSL.so.5.4.7 (0x00db8000)
    libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00e9e000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00512000)
    libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x002ad000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x004b0000)
    libc.so.6 => /lib/i686/nosegneg/licobc.so.6 (0x00168000)
    libdl.so.2 => /lib/libdl.so.2 (0x002d6000)
    libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00110000)
    librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x0069b000)
    libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x006a4000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00127000)
    /lib/ld-linux.so.2 (0x0014b000)
8. 飛信的使用方式
   sms -f mobile -p pwd -t mobile1,.. -m message -a message -d 9. 修改commads.cfg文件 添加#host-notify-by-sms define command {        command_name      host-notify-by-sms        command_line      /opt/sms -f 139xxxxxxxx -p xxxxxx -t 139xxxxxxxx -m "Host $HOSTSTATE$ alert for $HOSTNAME$! on '$LONGDATETIME$' " $CONTACTPAGER$        } #service notify by sms define command {        command_name     service-notify-by-sms        command_line     /opt/sms -f 139xxxxxxxx -p xxxxxxxx -t 139xxxxxxxx -m "'$HOSTADDRESS$' $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on '$LONGDATETIME$' " $CONTACTPAGER$        } 這裏面的宏可參考上面的notify-by-mail裏的宏來設定 10. 修改 contacts.cfg文件 修改成 service_notification_commands   service-notify-by-sms,notify-by-email     host_notification_commands         host-notify-by-sms,host-notify-by-email 11. 保存退出後, service nagios reload 12. OK
相關文章
相關標籤/搜索