Nagios網卡流量監控報錯check_traffic.sh

       操作很簡單。首先將check_triffic.sh腳本拷貝到/usr/local/nagios/libexec/裏面。然後在/usr/local/nagios/etc/objects/commands.cfg  文件中添加

  1. #######################################################################  

  2. #  

  3. #                            check_traffic  

  4. #  

  5. #######################################################################  

  6. define command{  

  7.        command_name check_traffic  

  8.        command_line $USER1$/check_traffic.sh -V 2c -C public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$,$ARG3$ -c $ARG4$,$ARG5$   -K -B

  9.        }  

當然這是我的command文件內容。大家可以參照網上的自行定義。但要注意單位。

默認是Kbps,我這裏改成了慣用的KB。

然後通過/usr/local/nagios/libexec/check_traffic.sh -V 2c -C  zhuzhu -H 192.168.0.202 -L

去確認自己要監控對象的網卡代號(index號)

List Interface for host 192.168.0.202.
Interface index 1 orresponding to  MS TCP Loopback interface
Interface index 2 orresponding to  Citrix PV Ethernet Adapt

輸出信息中index後面的數字就是你要監控網卡的代號

可以自己通過命令先執行一下:

/usr/local/nagios/libexec/check_traffic.sh -V 2c -C zhuzhu -H 192.168.0.202 -I 2  -w 10,10 -c 30,30  

輸出:

OK - The Traffic In is 4Kbps, Out is 0.0Kbps, Total is 4Kbps. The Check Interval is 127s |In=4Kbps;10;30;0;0 Out=0.0Kbps;10;30;0;0 Total=4Kbps;20;60;0;0 Interval=127s;1200;1800;0;0

V 代表snmp版本

C 代表community的名稱

H 代表主機IP

I  代表網卡號

w 、c就不必說了吧

補充:10,10  30,30(代表in,out)

現在編輯services.cfg

define service{
        host_name               192.168.0.202
        service_description     traffic
        check_command           check_traffic!2!10!10!30!30
        max_check_attempts      5
        no
rmal_check_interval   3
        retry_check_interval    2
        check_period            24x7
        notifi
cation_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups          wingroup
        }

然後重啓nagios服務就應該齊活了。但是其實不然,我在監控公司文件服務器時(流量比較猛)。報了諸如下告警:

SERVICE ALERT: 192.168.0.202;traffic;UNKNOWN;SOFT;1;Maybe 32 bit counter overflow, because we got a negative value here.

SERVICE ALERT: 192.168.0.202;;traffic;UNKNOWN;SOFT;3;Unknown - Read or Write File /var/tmp/check_traffic_192.168.0.202;_11.hist_dat_root__32 Error with user uid=517(nagios) gid=517(nagios) groups=517(nagios)

後來Google到了解決的方法如下:

如果以非nagios用戶身份,手動測試執行過該腳本,請在正式使用該腳本前,刪除/var/tmp下對應測試生成的/var/tmp/check_traffic_${Host}_${Interface}.hist_dat文件,否則會造成nagios用戶無法讀寫該文件的錯誤。

可以直接全部清空該目錄,等下次網卡流量檢查後會對應每臺主機重新生成一次。

最後就能看到以下信息:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章