Nagios自訂擴充

來源:互聯網
上載者:User

標籤:

原理:監控端通過check_nrpe把要監控的指令發送給被監控端,被監控端在本機執行監控任務,並把執行的結果發送回監控端。

 

如何擴充Nagios,以實現自訂監控?

藉助外掛程式進行的每一次有效Nagios檢查(Nagios check)都會產生一個數字表示的退出狀態。可能的狀態有:

  • 0--各方面都正常,檢查成功完成。
  • 1--資源處於警告狀態。某個地方不太妙。
  • 2--資源處於臨界狀態。原因可能是主機宕機或服務未運行。
  • 3--未知狀態,這未必表明就有問題,而是表明檢查沒有給出一個清楚明確的狀態。

外掛程式還能輸出簡訊。預設情況下,該訊息顯示在Nagios web介面和Nagios郵件警報資訊中。儘管訊息並不是硬性要求,你通常還是可以在可用外掛程式中找到它們,因為訊息告訴使用者出了什麼岔子,而不會迫使使用者查閱說明文檔。

 

網上的例子,我自己稍作更改實驗後可正常測試使用:

被監控端設定:

vim /usr/lib64/nagios/plugins/check_file

#!/bin/bashfilename=$1if [ ! -e $filename ];then        echo "CRITICALL status -file $filename doesn‘t exist"        exit 2elif [ ! -r $filename ];then        echo "WARNING status -file $filename is not readable"        exit 1elif [ ! -f $filename ];then        echo "UNKNOWN status -file $filename is not a file"        exit 3else         if [  $1 ];then        echo "OK status -file $filename is OK"        exit 0        fifi
View Code

vim /etc/nagios/nrpe.cfg

command[check_file]=/usr/lib64/nagios/plugins/check_file  /tmp/jjtest

 

監控端設定:

vim /usr/local/nagios/etc/objects/command.cfg

define command{        command_name check_file        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_file        }


vim /usr/local/nagios/etc/objects/service.cfg

define service{
        use                             linux-service
        host_name                       myhost
        service_description             jjtest
        check_interval                  1 #活動訊號間隔時間,預設每5分鐘主動式偵測一次主機
        retry_interval                  1 #稍候再試,預設值1分鐘
        check_command                   check_file
        }

 

templates.cfg 模板檔案相關參數說明:(當然了也包括了上面的check_interval和retry_interval)

max_check_attempts        #這一項用來定義在檢測返回結果不是OK時,nagios重試檢測命令的次數。設定這個值為1會導致nagios一次也不重試就警示

check_period   #這一項用一個time period項的名字來定義在哪段時間內啟用對這台主機的主動式偵測。time period是定義在別的檔案裡的配置項,我們可以在這裡用名字來引用它
contact_groups                  #這是一個聯絡組列表。我們用聯絡組的名字來引用她們。多個聯絡組間用“,”來分隔。
notification_interval            #這一項用來定義當一個服務仍然down或unreachable時,我們間隔多久重發一次通知給聯絡組,通告間隔,預設2小時。
notification_period              #這一項用一個time period定義來標識什麼時間段內給聯絡組送通知。這裡我們用time period定義的名字來引用它。
notification_options             #這一項用來決定發送通知的時機。選項有:d = 當有down狀態時發送通知,u = 當有unreachable狀態時發送通知, r = 當有服務recoveries時發送通知,f = 當主機啟動或停機時發送通知。如果你給一個n選項,那麼永遠不會發送通知。

-------------------------------------------------------------------------------------------------------------------

yum install nagios-plugins-*  產生/usr/lib64/nagios/plugins/check_*指令檔

yum install nrpe

 

防止tomcat進程假死

在tomcat的webapps目錄下,建立一個目錄jiankong(這個目錄隨便建),然後在其下面放一個asp檔案。然後修改commands.cfg ,在裡面添加

#tomcat1 set

define command{

    command_name check_tomcat_8028

    command_line /usr/local/nagios/libexec/check_http -I $HOSTADDRESS$ -p 8028 -u /jiankong/test.jsp -e 200

    }

如果有多個連接埠,可以建立多個,只需要修改連接埠號碼,上面這個是8028連接埠,然後在servers.cfg中添加服務就好了。

 

Nagios自訂擴充

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.