天天看點

nagios監控網絡流量

監控機:192.168.10.133

被監控機:192.168.10.107

系統:centos 5.5_x64

1、在監控端安裝和測試snmp

參考:http://151wqooo.blog.51cto.com/2610898/1176730

2、擷取被監控端的網卡資訊(用于腳本中的-I參數)

[root@wqk1 mnt]# ./check_traffic.sh -V 2c -C public -H 192.168.10.107 -L

List Interface for host 192.168.10.107.

Interface index 1 orresponding to  lo

Interface index 2 orresponding to  eth0  //使用這個網卡接口

Interface index 3 orresponding to  sit0

3、在監控端和被監控端放置腳本

cd /usr/local/nagios/libexec

chmod +x /usr/local/nagios/libexec/check_traffic.sh

./check_traffic.sh -h

./check_traffic.sh -V 2c -C public -H 192.168.10.107 -I 2 -w 200,300 -c 400,500 -K –B 定義in和out值分别超過200K、300K警告,超過400K,500k嚴重警告。(第一次運作沒有輸出,30s後第二次運作才有輸出;-I後面的2對應 上面獲得的被監控端的網卡資訊)

OK - It's the first time for this plugins run. We'll get the data from the next time.

第一次執行,history data file(/var/tmp/check_traffic_${Host}_${Interface}.hist_dat)不存在,是以會由此提示,可以忽略,再執行一次可以正正常擷取

4、在監控端command檔案裡面定義check_traffic指令

# 'check_traffic' command definition

define command{

    command_name  check_traffic

    command_line $USER1$/check_traffic.sh -V 2c -C  public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -K -B  監控機關可以自定義

}

5、在監控端localhost.cfg中定義主機

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

define host {

       host_name       wqk_centos-107

       alias           centos-107

       address         192.168.10.107

       check_command   check-host-alive

       notification_options    d,u,r

       check_interval  1

       max_check_attempts      2

       contact_groups  admins

       notification_interval   10

       notification_period     24x7

}

6、在監控端localhost.cfg中定義服務

define service {

       service_description     check_traffic

       check_period    24x7

       normal_check_interval   2

       retry_check_interval    1

       max_check_attempts      5

       notification_options    w,u,c,r

       check_command     check_nrpe!check_traffic  //與command檔案中的名字一樣

7、檢查測試

cd /usr/local/nagios/libexec

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

8、重新開機服務

service nagios restart

******************

1、在被監控端安裝和測試snmp

2、插件

chmod +x /usr/local/nagios/libexec/check_traffic.sh

3、定義指令

編輯nrpe配置檔案:

vim /usr/local/nagios/etc/nrpe.cfg

添加:

command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2 -w 200,300 -c 400,500 -K –B

4、重新開機服務

ps aux | grep nrpe

kill掉nrpe 程序

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d  //啟動nrpe服務

5、遠端測試

在監控端

./check_nrpe -H 192.168.10.107 -c check_traffic

The check interval must greater than 30 Seconds. But now it's 1. Please retry it later.

[root@wqk1 libexec]# ./check_nrpe -H 192.168.10.107 -c check_traffic

OK - The Traffic In is 0.0KB, Out is 0.0KB, Total is 0.0KB. The Check Interval is 60s |In=0.0KB;200;400;0;0 Out=0.0KB;300;500;0;0 Total=0.0KB;500;900;0;0 Interval=60s;1200;1800;0;0

第一次運作沒有輸出,30s後第二次運作才有輸出

[root@wqk1 mnt]# ./check_traffic.sh -V 2c -C public -H 192.168.10.107 -I 2 -w 200,300 -c 400,500 -K –B

OK - The Traffic In is 1Kbps, Out is 0.0Kbps, Total is 1Kbps. The Check Interval is 1165s |In=1Kbps;200;400;0;0 Out=0.0Kbps;300;500;0;0 Total=1Kbps;500;900;0;0 Interval=1165s;1200;1800;0;0

[root@wqk1 mnt]# ./check_traffic.sh -V 2c -C public -H 192.168.10.107 -I 2 -w 0,0 -c 400,500 -K –B

Warning - The Traffic In is 0.0Kbps, Out is 0.0Kbps, Total is 0.0Kbps. The Check Interval is 54s |In=0.0Kbps;0;400;0;0 Out=0.0Kbps;0;500;0;0 Total=0.0Kbps;0;900;0;0 Interval=54s;1200;1800;0;0

[root@wqk1 mnt]# ./check_traffic.sh -V 2c -C public -H 192.168.10.107 -I 2 -w 300,400 -c 400,500 -K –B

OK - The Traffic In is 0.0Kbps, Out is 0.0Kbps, Total is 0.0Kbps. The Check Interval is 68s |In=0.0Kbps;300;400;0;0 Out=0.0Kbps;400;500;0;0 Total=0.0Kbps;700;900;0;0 Interval=68s;1200;1800;0;0

[root@wqk1 mnt]# ./check_traffic.sh -V 2c -C public -H 192.168.10.107 -I 2 -w 500,600 -c 800,900 -K –B

OK - The Traffic In is 0.0Kbps, Out is 0.0Kbps, Total is 0.0Kbps. The Check Interval is 68s |In=0.0Kbps;500;800;0;0 Out=0.0Kbps;600;900;0;0 Total=0.0Kbps;1100;1700;0;0 Interval=68s;1200;1800;0;0

對比紅色數字字型——為監控設定的閥值,後面為實際流量值,這就是監控點。

==================

執行指令報錯:

./check_nrpe -H 192.168.10.249 -c check_traffic -t 30

Unknown - Read or Write File /var/tmp/check_traffic_127.0.0.1_2.hist_dat_root__64 Error with user uid=500(nagios) gid=500(nagios) groups=500(nagios) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023.

解決:

是因為以非nagios使用者身份,手動測試執行過該腳本(也就是command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H ***.***.***.*** -I 2 -w 200,300 -c 400,500 -K -B這個操作),請在正式使用該腳本前,删除被監控端/var/tmp下對應測試生成的/var/tmp/check_traffic_${Host}_${Interface}.hist_dat檔案,否則會造成nagios使用者無法讀寫該檔案的錯誤

附上使用的腳本:

繼續閱讀