lujiguo115 发表于 2018-6-24 10:17:26

Nagios监控Linux、Windows的网卡流量

  总有人问通过nagios怎么监控网络流量,这里就分享一下:
  使用/usr/local/nagios/libexec/中的check_traffic.sh,不但可以监控Linux的网卡流量,也可以监控Windows服务器的流量,此脚本check_traffic.sh来源于网络,如果你的nagios里没有它就下载附件上传,并修改权限即可。
  监控脚本 check_traffic.sh,上传至Nagios服务器 /usr/local/nagios/libexec/ 目录里
  修改权限:
  chown nagios.nagioscheck_traffic.sh
  chmod 755check_traffic.sh
  1、Check_traffic.sh的用法
  #/usr/local/nagios/libexec/check_traffic.sh -h
  Usage:
  ./check_traffic.sh [ -v ] [ -6 ] [ -r ] -V 1|2c|3 -C snmp-community -H host [ -L ] -I interface -w in, out-warning-value-c in, out-critical-value -K/M -B/b
  Example:
  ./check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 4 -w 200,100 -c 300,200 -K -B
  We can use -r to use Range Value Options:
  Example:
  ./check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 4 -r -w 200-300,100-200 -c 100-400,50-250 -K -B
  If you don't use -K/M -B/b options, default -K -b, corresponding to Kbps
  Make sure that the check interval greater than 5 Seconds.
  Or modify the Min_Interval var in this file Line 180.
  And, if you want in Verbose mode, use -v, to check the debug messages in the file /tmp/check_traffic.$$.
  Or use ./check_traffic.sh [ -v ] -V 1|2c|3 -C snmp-community -H host -L
  To list all interfaces on specify host.列出主机所有网络接口信息,这个可以知道网卡的index值
  2、以IP:192.168.0.2的Windows 2008系统为例子:
  获取值的默认单位是Kbps。
  然后通过/usr/local/nagios/libexec/check_traffic.sh -V 2c -C   public-H 192.168.0.2 -L
  去确认自己要监控对象的网卡代号
  List Interface for host 192.168.0.2.
  Interface index 1 orresponding toMS TCP Loopback interface
  Interface index 2 orresponding toCitrix PV Ethernet Adapt
  输出信息中index后面的数字就是你要监控网卡的代号
  可以自己通过命令先执行一下:
  #/usr/local/nagios/libexec/check_traffic.sh -V 2c -Cpublic-H 192.168.0.2 -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
  #/usr/local/nagios/libexec/check_traffic.sh -V 2c -Cpublic-H 172.22.8.12 -I 65540-w 10,10 -c 30,30 -M
  输出:
  Critical - The Traffic In is 2.01Mbps, Out is 36.19Mbps, Total is 38.20Mbps. The Check Interval is 106s |In=2.01Mbps;10;30;0;0 Out=36.19Mbps;10;30;0;0 Total=38.20Mbps;20;60;0;0 Interval=106s;1200;1800;0;0
  #/usr/local/nagios/libexec/check_traffic.sh -V 2c -Cpublic-H 172.22.8.12 -I 65540-w 100,100 -c 300,300 -M
  输出:
  OK - The Traffic In is 2.05Mbps, Out is 37.00Mbps, Total is 39.05Mbps. The Check Interval is 114s |In=2.05Mbps;100;300;0;0 Out=37.00Mbps;100;300;0;0 Total=39.05Mbps;200;600;0;0 Interval=114s;1200;1800;0;0
  V 代表snmp版本
  C 代表community的名称
  H 代表主机IP
  I代表网卡号
  w 、c 代表的是黄色警告、红色报警   10,1030,30(代表in,out)
  一切OK后就能看到以下监控信息图:

  注意:
  如果以非nagios用户身份,手动测试执行过该脚本,请在正式使用该脚本前,删除/var/tmp下对应测试生成的/var/tmp/check_traffic_${Host}_${Interface}.hist_dat文件,否则会造成nagios用户无法读写该文件的错误。
  还有出现以下提示的意思是:
  OK - It's the first time for this plugins run. We'll get the data from the next time
  意思是说,OK,没问题, - 这个插件是第一次为此运行。从下一次开始我们将得到相关的数据
  The check interval must greater than 30 Seconds. But now it's 20. Please retry it later.
  检查间隔必须大于30秒。但现在是20秒。请稍后重试。
页: [1]
查看完整版本: Nagios监控Linux、Windows的网卡流量