平臺: 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