nagios配置監控的一些思路和工作流程

來源:互聯網
上載者:User

標籤:伺服器   command   local   objects   服務端   

nagios的監控原理:實際上很簡單。我們在伺服器端已經安裝了nrpe服務,那麼所有的用戶端資料都是通過這個nrpe來收集,並且傳到nagios伺服器,在由nagios去調用產生。

 

工作過程:

(1)用戶端在nrpe.cfg檔案下已經定義了,調用模組的方式或者nagios識別的命令:

比如:command[check_ips]=/usr/local/nrpe/libexec/ip_conn.sh 8000 10000 (自己編寫的指令碼)

(2)伺服器端通過check_nrpe -H 192.168.1.1 -c chekc_ips 。這個命令句可以手機到用戶端這個指令碼的資料。

(3)然互我們在服務端定義一個server.cfg就可以收集到關機這台主機的這個服務了。

伺服器端:nagios的解析過程:

(1)nagios服務啟動時,就回去載入nagios.cfg這個檔案裡面的資料。裡面是我們定義的監控的類型:(cfg_file=/usr/local/nagios/etc/objects/192.168.10.1.cfg  #這一句我地宮一的這台主機檔案存放的位置)

(2)到上面的目錄下建立192.168.10.1.cfg這個檔案。裡面定義了監控的類型。

(3)還有contacts.cfg 你可以自己建立一個連絡人,發郵郵件到你的郵箱.

#當然還有一些檔案:如監控本機時候用到的command.cfg。假如啟動報錯。說沒有這個命令。那麼你就可以去command.cfg下面添加就可以了。

 

舉例一個自己編寫指令碼監控服務警示的例子:

在用戶端操作:

1、在/usr/local/nagios/libexec/目錄下建立check_nginx檔案:內容如下

#!/bin/bash
nginx=`/usr/bin/pgrep nginx`
if [ "$nginx" != "" ]
then
echo "nginx is run"
exit 0
fi
if [ "$nginx" = "" ]
then
exit 1
fi

#exit0表示正常。#exit1表示警示

2、編輯nrpe.cfg檔案添加命令#給可執行許可權和使用者:

command[check_nginx]=/usr/local/nagios/libexec/check_nginx

3、伺服器端,查看是否串連成功nrpe用戶端,不成功的話看防火牆,和nrpe.cfg的allow添加伺服器IP地址:

[[email protected] objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.10.9
NRPE v2.12

4、測試模組是否收集到資料(下面是已經收到的):

[[email protected] objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.10.9 -c check_nginx
nginx is run

5、編輯192.168.10.9.cfg檔案添加這個服務:

define service{
                use                             generic-service
                host_name                       192.168.10.9
                service_description             check_nginx
                check_command                   check_nrpe!check_nginx
                         notifications_enabled           1
                check_period 24x7
                max_check_attempts 3
                 normal_check_interval 10
                retry_check_interval 1
                contact_groups admins
                notification_options w,u,c,r
                notification_interval 120
                notification_period 24x7

}

6、然後重啟就可以監控到了。

650) this.width=650;" title="nginx.jpg" alt="wKiom1SGtoTA9ai3AAECqFTPzVo469.jpg" src="http://s3.51cto.com/wyfs02/M01/54/94/wKiom1SGtoTA9ai3AAECqFTPzVo469.jpg" />

 

下面舉例幾個監控指令碼:監控並發量:

#!/bin/sh
#xiaoluo
#2014.11.4

ip_conns=`netstat -an | grep tcp | grep EST | wc -l`

if [ $ip_conns -lt $1 ]
then
echo "OK -connect is $ip_conns"
exit 0
fi
if [ $ip_conns -gt $1 -a $ip_conns -lt $2 ]
then
echo "Warning -connect is $ip_conns"
exit 1
fi
if [ $ip_conns -gt $2 ]
then
echo "Critical -connect is $ip_conns"
exit2
fi

2、nrpe添加命令:command[check_ips]=/usr/local/nagios/libexec/check_ips 4000   8000 (4000警示。8000嚴重)

#編寫指令碼注意事項:

都用if判斷,然後看傳回值:

然後exit 0 表示正常

exit1 表示警示

exit2 表示嚴重        #這3個人跟我們寫的指令碼沒有直接關係只是給nrpe的一個訊號

 

到這,覺得改手工了,遇到問題的朋友可以交流一下。像監控mysql主從的,可以寫一個監控兩個狀態是否都為yes然後在if判斷。給exit的那幾個值。

 

本文出自 “小羅” 部落格,請務必保留此出處http://xiaoluoge.blog.51cto.com/9141967/1587997

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.