check_traffic.sh监控-创新互联

用shell写的check_traffic.sh能对服务器进行流量的监控。而且不用安装任何软件,拿来就用。于是就选了这个脚本作为流量监控的工具来使用。目前这个脚本的版本是check_traffic_v1.2.2。

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于成都定制网页设计,高端网页制作,对成都电动窗帘等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业seo优化排名优化,H5建站,响应式网站。

        操作很简单。首先将check_triffic.sh脚本拷贝到/usr/local/nagios/libexec/里面。然后在/usr/local/nagios/etc/objects/commands.cfg 文件中添加

#######################################################################  #  #                            check_traffic  #  #######################################################################  define command{          command_name check_traffic          command_line $USER1$/check_traffic.sh -V 2c -C zhuzhu -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$,$ARG3$ -c $ARG4$,$ARG5$           }

当然这是我的command文件内容。大家可以参照网上的自行定义。但要注意单位。

默认是Kbps。

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

去确认自己要监控对象的网卡代号

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
       normal_check_interval  3
       retry_check_interval   2
       check_period           24x7
       notification_interval  10
       notification_period    24x7
       notification_options   w,u,c,r
       contact_groups         wingroup
       }

然后重启nagios服务就应该齐活了。但是其实不然,我在监控公司服务器外网情况时,尤其是监控windows服务器(而且是跑了hyper-v的服务器时)。报了诸如:

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)

等报错着实废了会儿工夫排错,后来参考石头版主的方法:

如果以非nagios用户身份,手动测试执行过该脚本,请在正式使用该脚本前,删除/var/tmp下对应测试生成的/var/tmp/check_traffic_${Host}_${Interface}.hist_dat文件,否则会造成nagios用户无法读写该文件的错误。
均将问题一一解决!

然后就能看到以下信息:

check_traffic.sh监控

check_traffic.sh非常好用,结合网上还有监控mysql的slave状态等自己写的小脚本。我不得不说开源的魅力确实太大了!!!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:check_traffic.sh监控-创新互联
文章起源:http://scyanting.com/article/dgiieh.html