运维百科

Nagios监控window主机和LInux主机网卡流量

被监控端(被监控节点):

1、安装snmp

# yum install net-snmp*
或者
# yum install -y net-snmp net-snmp-utils net-snmp-libs

修改如下
更改snmp设置
# vim /etc/snmp/snmpd.conf
修改
com2sec notConfigUser default public
为
com2sec notConfigUser localhost public

修改
access notConfigGroup “” any noauth exact systemview none none
为
access notConfigGroup “” any noauth exact mib2 none none

修改
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
取消注释
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
# grep -v '#' /etc/snmp/snmpd.conf  |grep -v '^$'
com2sec notConfigUser  default       mypublic
com2sec notConfigUser  localhost       public
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
access  notConfigGroup ""      any       noauth    exact  all none none
view all    included  .1                               80
view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
启动snmpd服务
service snmpd start
chkconfig –add snmpd
chkconfig snmpd on

 

添加以下文件信息:

# vim /usr/local/nagios/etc/objects/commands.cfg
define command{  
        command_name check_traffic  
        command_line $USER1$/check_traffic.sh -V 2c -C public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$,$ARG3$ -c $ARG4$,$ARG5$   
        }

 

检测自己网卡型号

# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C  public -H 127.0.0.1 -L                        
List Interface for host 127.0.0.1.
Interface index 1 orresponding to  lo   #1号网卡
Interface index 2 orresponding to  eth0 #2号网卡

 

输出信息中index后面的数字就是你要监控网卡的代号

可以自己通过命令先执行一下:

/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2  -w 10,10 -c 30,30
V 代表snmp版本
C 代表community的名称
H 代表主机IP
I  代表网卡号
w 警告
c  紧急
补充:10,10  30,30(代表in,out)
  
OK - The Traffic In is 0.11KB, Out is 0.0KB, Total is 0.11KB. The Check Interval is 109s |In=0.11KB;1200;1700;0;0 Out=0.0KB;1500;1800;0;0 Total=0.11KB;2700;3500;0;0 Interval=109s;1200;1800;0;0

 

 

输出:

如果你跟我一样报错

# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C  public -H 127.0.0.1 -L
List Interface for host 192.168.0.156.
Interface index = No Such Object available on this agent at thi s OID

请修改

检测是否可以正常采集数据

# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2 -w 1200,1500 -c 1700,1800 -K -B
/usr/local/nagios/libexec/check_traffic.sh: line 449: bc: command not found
/usr/local/nagios/libexec/check_traffic.sh: line 454: bc: command not found
/usr/local/nagios/libexec/check_traffic.sh: line 457: bc: command not found
/usr/local/nagios/libexec/check_traffic.sh: line 458: bc: command not found
/usr/local/nagios/libexec/check_traffic.sh: line 461: [: too many arguments
/usr/local/nagios/libexec/check_traffic.sh: line 576: bc: command not found
/usr/local/nagios/libexec/check_traffic.sh: line 577: bc: command not found
OK – It’s the first time for this plugins run. We’ll get the data from the next time.

故障原因:缺少bc

解决办法:yum install -y bc


上一个检测命令会在/var/tmp下生成一个文件,我们需要删除,然后在重新执行一下
rm -rf /var/tmp/check_traffic_127.0.0.1_2.hist_dat_root__64
检测是否可以正常采集数据

# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2 -w 1200,1500 -c 1700,1800 -K -B
OK – It’s the first time for this plugins run. We’ll get the data from the next time.
这里提示可以正常检测了,下面我们就可以配置nagios,定义命令,定义服务什么的了


添加服务

# vim /usr/local/nagios/etc/objects/lolcalhost.cfg 
define service{
        use                             generic-service,srv-pnp
        host_name                       localhost
        service_description             check_traffic
        check_command                   check_nrpe!check_traffic
        }

我这是通过NRPE监控远程LInux主机所以这个check_traffic脚本先放到远程linux主机/usr/local/nagios/libexec下,然后修改/usr/local/nagios/etc/nrpe.cf

添加

command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2 -w 1200,1500 -c 1700,1800 -K -B

监控页面显示服务未知?

Unknown - Read or Write File /var/tmp/check_traffic_192.168.0.156_2__itnms.hist_dat_64 Error with user uid=542(nagios) gid=543(nagios) groups=543(nagios),544(nagcmd) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023.

修改其权限为nagios.nagios即可

nagios服务器报错

Unknown - Read or Write File /var/tmp/check_traffic_192.168.1.247_2__itnms.hist_dat_64 Error with user uid=501(nagios) gid=503(nagcmd) groups=502(nagios),503(nagcmd).

解决方法:chmod nagios.nagcmd /var/tmp/check_traffic_192.168.1.247_2__itnms.hist_dat_64


# ll /var/tmp 
总用量 32
-rw-r--r-- 1 nagios nagios   34 4月  28 13:00 check_traffic_192.168.0.137_12__itnms.hist_dat_32
-rw-r--r-- 1 nagios nagios   34 4月  28 11:48 check_traffic_192.168.0.137_18__itnms.hist_dat_32
-rw-r--r-- 1 nagios nagios   34 4月  28 11:48 check_traffic_192.168.0.137_19__itnms.hist_dat_32
-rw-r--r-- 1 nagios nagios   34 4月  28 11:48 check_traffic_192.168.0.137_23__itnms.hist_dat_32
-rw-r--r-- 1 nagios nagios   34 4月  28 11:49 check_traffic_192.168.0.137_24__itnms.hist_dat_32
-rw-rw-r-- 1 nagios nagios   15 4月  28 11:44 check_traffic_192.168.0.137_3__itnms.hist_dat_32
-rw-r--r-- 1 nagios nagios   32 4月  29 09:34 check_traffic_192.168.0.138_3__itnms.hist_dat_64
drwx------ 3 root   root   4096 4月  28 10:25 kdecache-root


 

 

方法2(传递参数):

# vim /usr/local/nagios/etc/nrpe.cf
command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I $ARG1$ -w $ARG2$,$ARG3$ -c $ARG4$,$ARG5$
# vim /usr/local/nagios/etc/objects/lolcalhost.cfg 
define service{
        use                             local-service,srv-pnp
        host_name                       cacti-95-5
        service_description             check_traffic
        check_command                   check_nrpe_args!check_traffic!2!100!100!300!300   //方便指定参数
        }

即可恢复看到网卡流量

 

check_traffic 下载地址:http://file.idcyunwei.org/check_traffic.rar

 

监控本机网卡流量

# vim /usr/local/nagios/etc/objects/commands.cfg
define command{
        command_name check_traffic
        command_line $USER1$/check_traffic.sh -V 2c -C mypublic -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$,$ARG3$ -c $ARG4$,$ARG5$
        }

定义服务

# vim /usr/local/nagios/etc/objects/lolcalhost.cfg
        use                             local-service,srv-pnp         ; Name of service template to use
        host_name                       localhost
        service_description             check_traffic
        check_command                   check_traffic!2!100!100!300!300
        }
单位默认是Kbps

3814402728.jpg

 


本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

0
分享到:

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址