歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

nagios 飛信通知

OS:ubuntu server 7.10

Nagios:Nagios 3.0.3

軟件:

sms飛信客戶端

前幾天有個朋友問我,nagios是如何短信通知,是不是需要買一個商業的url地址,看到還有人問我這 個問題,我就把我利用飛信通知寫下來吧,支持開源,呵呵,本來昨天就想發布的,可是寫了一半就去忙 別的事情了,等回來繼續寫完的時候點提交,郁悶,session過期了,寫的東西白寫了。sms我最喜歡的簡 潔客戶端我已經添加附件了這個版本不好找了。

安裝步驟:

   apt-get install libace-dev libace-ssl-dev libc6
   tar zxvf fetion_linux_20080402.tar.gz
   ldd sms (顯示需要什麼庫文件)
   root@nagios:~# ldd sms
    linux-gate.so.1 => (0xffffe000)
    libACE.so.5.4.7 => /usr/lib/libACE.so.5.4.7 (0xb7daa000)
    libACE_SSL.so.5.4.7 => /usr/lib/libACE_SSL.so.5.4.7 (0xb7d97000)
    libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb7d55000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7c62000)
    libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7c3d000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7c32000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7ae8000)
    libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7ae4000)
    libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7acb000)
    librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7ac2000)
    libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb797f000)
    libz.so.1 => /usr/lib/libz.so.1 (0xb796a000)
    /lib/ld-linux.so.2 (0xb7f36000)

沒有not found 說明所需要的庫文件我都安裝了,我的是ubuntu apt源裡有libACE,如果你的是rad hat 或者centos,安裝有點麻煩,你要去下載ACE源碼包,單編譯所需要的ACE,不必全部編譯。如果有不 會的,我在單寫篇blog。

測試發短信:

./sms -f 13611031*** -p**** -t 13611031*** -m test

[Wed Jul 30 05:18:06 2008] :) Send msg to 13611031*** ok!

發送OK,好了我們來做一個腳本吧。

   cd /usr/local/nagios/libexec
   vim sms
   sms -f 13611031*** -p ****** -t "$1" -m "$2" ($1為接收人手機號,$2為發送消息。腳本建立

完畢後,去command.cfg 添加如下:
  define command {
    command_name   host-notify-by-sms
    command_line $USER1$/sms 13611031*** "Host $HOSTSTATE$ alert for $HOSTNAME$! on 

'$DATETIME$' " $CONTACTPAGER$
    }
#service notify by sms
define command {
    command_name   service-notify-by-sms
    command_line $USER1$/sms 13611031*** "'$HOSTADDRESS$' $HOSTALIAS$/$SERVICEDESC$ is 

$SERVICESTATE$" $CONTACTPAGER$
    }

保存退出,修改templates.cfg

service-notify-by-mail 和 host-notify-by-mail 為

service-notify-by-sms 和 host-notify-by-sms

保存推出,最後從啟 nagios ,停止一個監控服務看看吧。

我還是把 rad hat 編譯安裝 libACE 庫補上吧。

http://download.dre.vanderbilt.edu/ 下載 ACE.tar.gz

2 tar -xcvf ./ACE-5.4.tar.gz後生成一個目錄ACE_wrappers,

假定我們的目錄是/root/ace_study/ACE_wrappers

為保險起見執行chmod a=rwx -R ACE_wrappers

3 在etc/profile文件中這樣寫

# Path manipulation

if [ `id -u` = 0 ]; then

pathmunge /sbin

pathmunge /usr/sbin

pathmunge /usr/local/sbin

#下面這行是要加的

pathmunge /root/ace_study/ACE_wrappers

fi

#下面這兩行是要加上的

ACE_ROOT=/root/ace_study/ACE_wrappers;

export ACE_ROOT

退出,注銷CentOS 5;

4 在$ACE_ROOT(/root/ace_study/ACE_wrappers)目錄中的ace目錄下生成(創建)文件config.h,在 這個文件中要包含一句話

#include "ace/config-linux.h"

5 在$ACE_ROOT目錄中的include/makeinclude目錄下生成(創建)文件platform_macros.GNU

在這個文件中要包含一句話

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

6 進入$ACE_ROOT/ace目錄

7 執行 make debug=0

make ssl=1

8 執行後會生成libACE.so,這就是我們生成的動態庫

9 以後使用的時候別忘了頭文件的包含目錄和so所在的庫目錄噢

10 在lib下,可以看到生成的庫:libACE.so libACE.so.5.5.0 libACE_ssl.so

11 在做ln -s連接,或copy到你的lib裡,推薦copy因為以後你要是刪掉文件夾以不至於庫文件消失

本文出自 “linuxer” 博客,請務必保留此出處http://deidara.blog.51cto.com/400447/97325

本文配套源碼:http://www.bianceng.net/other/201212/833.htm

Copyright © Linux教程網 All Rights Reserved