check_traffic.sh监控

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

操作很简单。首先将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非常好用,结合网上还有监控mysql的slave状态等自己写的小脚本。我不得不说开源的魅力确实太大了!!!

时间: 2024-10-13 12:39:44

check_traffic.sh监控的相关文章

nagios使用check_traffic.sh监控网卡流量

一:主要步骤1,安装snmpd服务包,并且设置好团体名称,添加系统启动2,部署check_traffic.sh到nagios的插件目录到libexec并且授权哦.3,网卡检测参数.4,nagios设置command.cfg的command,添加service.cfg 二:具体干活细节1,安装snmpd,修改内容,设置开机启动安装snmpd  yum install net-snmp* 修改snmpd.conf  vim /etc/snmp/snmpd.conf 内容如下:(注意修改加粗部分内容)

nagios监控linux网卡流量(check_traffic.sh)

1.安装所需组件 yum install perl perl-devel perl-CPAN bc snmpd -y perl -MCPAN -eshell  & cpan> install Bundle::LWP 编译安装nrpe(参考教程:http://2860664.blog.51cto.com/2850664/1559056) 以下是被监控端设置 2.下载check_nginx_status.pl脚本 下载地址:https://github.com/cloved/check_traf

Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况

1.如果想使用Linux crontab(类似java quartz),需要先启动crontab.关于crontab的启动.关闭.重启.重新载入配置的方式如下: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 2.crontab的命令介绍: A:添加crontab的命令是:c

nagios网卡流量监控 trffic.sh

近两天 在整合公司的监控  要不zabbix上 逐步迁移到 nagios+ganglia平台上 在网络监控这块发现ganglia获取的信息不能自定义为Mb(也可能我没有找对配置位置) 从网上 搜索发现 有网友编写了 traffic.sh的脚本,我就拿来用了 traffic.sh 下载地址 http://pan.baidu.com/s/1o8PoDBG 进入正题 客户端 1.安装snmp组件 [[email protected] ~]# yum install -y  net-snmp   net

nagios通过check_traffic监控Linux,windows主机网卡流量

一,被监控端-Linux 1.安装snmp yum install net-snmp* 2.配置snmp [[email protected] ~]#grep -v "^#" /etc/snmp/snmpd.conf |grep -v "^$" com2sec notConfigUser  default       public com2sec notConfigUser  192.168.80.132       public group   notConfig

Nagios监控Windows的网卡流量

Nagios监控Windows的网卡流量 使用/usr/local/nagios/libexec/中的check_traffic.sh,不但可以监控Linux的网卡流量,也可以监控Windows服务器的流量. 1 Check_traffic.sh用法用法 [[email protected] libexec]#/usr/local/nagios/libexec/check_traffic.sh -h Usage: ./check_traffic.sh [ -v ] [ -6 ] [ -r ] -

nagios 监控 网卡流量 脚本

#!/bin/bash # #Time     : 2014-06-23 #Author   : ftlynx #Function : use NET-SNMP get NIC traffic on nagios. Usage(){ echo "Usage: check_traffic.sh [options]" echo "     -H     Host IP." echo "     -P     net-snmp community string.

nagios监控流量脚本

需求是我们需要对服务器上的流量进行监控,网络上有个流传的check_traffic.sh,它需要被监控机开启snmp.但是感觉都使用上了nagios还要开snmp...有点斧子剪刀一起用的感觉,所以就动手写了个监控流量的shell: #!/bin/sh usage() { echo "Usage: $0 [-n <eth0>] [-w <tx rx>] [-c <tx rx>]" 1>&2; exit 1; } foundw=0; fo

nagios的网络监控

nagios对网络的监控,当达到某个设定的值,那么就报警 借助于网上提供的资源,做下面的操作 https://github.com/cloved/check_traffic/releases  下载最新版本的shell脚本下载check_traffic.sh  V1.4.0,在附件已经上传 #被监控端/客户端 cd /usr/local/nagios/libexec/  #下载此脚本 chmod 755 check_traffic.sh # yum install net-snmp-utils