使用 Nagios 来监控网卡流量, 总体设置可以分为两
使用 Nagios 来监控网卡流量, 总体设置可以分为两
下载地址为:check_traffic 。 总体设置可以分为两块, Linux主机及非linux主机,稍有出入,不多说直接上配置。
一、 linux主机
主要步骤:
安装snmpd服务软件包并设置启动之。上传监控插件至被监控机nagios/libexec目录并授权。网卡参数检测。nrpe.cfg文件增加监控command。nagios服务器配置service.cfg添加监控项。具体实施:
1、 安装修改启动snmpd服务
安装
[root@nagios nagios]# yum -y install net-snmp* Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Setting up Install Process Package 1:net-snmp-devel-5.3.2.2-9.el5_5.1.i386 already installed and latest version Package 1:net-snmp-libs-5.3.2.2-9.el5_5.1.i386 already installed and latest version Package 1:net-snmp-utils-5.3.2.2-9.el5_5.1.i386 already installed and latest version Package 1:net-snmp-perl-5.3.2.2-9.el5_5.1.i386 already installed and latest version Package 1:net-snmp-5.3.2.2-9.el5_5.1.i386 already installed and latest version Nothing to do
我已经安装过了。。就上面这些包了。。
修改snmpd.conf
# sec.name source community com2sec notConfigUser 127.0.0.1(localhost也可不改) XXXX(共同体名) # group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact mib2 none none
#改system
为mib2
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
去掉前面的"#"注释符。
2、上传插件被授权
上传check_traffic.sh
至/usr/local/nagios/libexec
改属主为:nagios
chown nagios.nagios ./check_traffic.sh
3、网卡参数检测
[root@OAServer etc]# /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 Interface index 2 orresponding to bond0 Interface index 3 orresponding to eth0 Interface index 4 orresponding to eth1 Interface index 5 orresponding to sit0
可以测试是否能够正常采集到数据
/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 - The Traffic In is 356Kbps, Out is 414Kbps, Total is 770Kbps. The Check Interval is 30s |In=356Kbps;1200;1700;0;0 Out=414Kbps;1500;1800;0;0 Total=770Kbps;2700;3500;0;0 Interval=30s;1200;1800;0;0
注:
-V
snmp协议版本。-C
共同体名。-I
参数对应上面-L输出的网卡index值。标示监视相应的网卡。该插件其它使用方法及各参数解释详情"-help"或者看上面论坛石头描述。更改/var/tmp/check_traffic*
文件权限为nagios用户可读写。简单的给个777吧。。
chmod 777 /var/tmp/check_traffic_127.0.0.1_2.hist_dat_root__32
4、 更改nrpe.cfg增加如下行
command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2 -w 300,350 -c 500,600 -K -B
重启nrpe程序
[root@OAServer ~]# ps aux |grep nrpe nagios 2822 0.0 0.0 4808 1448 ? ss Jun01 0:04 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d root 1123 0.0 0.0 5936 736 pts/2 S+ 11:02 0:00 grep nrpe [root@OAServer ~]# kill -9 2822 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
5、nagios服务器(监控端)编辑service.cfg增加监控网卡流量项目
define service{ host_name WEB service_description check_traffic check_command check_nrpe!check_traffic 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 sagroup }
二、其它设备:(win主机、交换、路由、防火墙)
这些主机上都是没办法安装nrpe插件的。所以我们只有通过snmp协议采集。(两者异同之处就在于snmp数据报文是否在网络传输。前者snmp数据只会在本机产生,自己采集自身数据而后由nrpe插件传输到nagios服务器前端显示出来(数据文件在本机)。后者则是nagios服务器通过snmp协议采集目标主机信息而后前端显示(数据文件在服务器)。就安全性而言,前者更优于后者。
主要步骤:
设置主机snmp协议(共同体名、权限、trap目标主机)。nagios服务器snmp连接测试及网卡参数确定。nagios服务器commands.cfg配置。service.cfg监控项目添加。重启nagios服务测试。具体实施:
演示设备:windows2003、netscreen防火墙、H3C路由以及H3C交换机。
设置主机snmp协议
Windows主机:添加snmp组件。。在服务里找到"snmp service"编辑如下:
防火墙:
路由器:
交换机:
snmp-agent snmp-agent local-engineid 800063A2000FE2CCFAA36877 snmp-agent community write XXXXX snmp-agent sys-info version all snmp-agent target-host trap address udp-domain XXXXXX params securityname XXXXX
nagios服务器snmp连接测试及网卡参数确定:
以防火墙为例,找到个接口参数:
[root@nagios nagios]# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C ksense -H 192.168.20.254 -L List Interface for host 192.168.20.254. Interface index 1 orresponding to ethernet0/0 Interface index 2 orresponding to ethernet0/1 Interface index 3 orresponding to ethernet0/2 Interface index 4 orresponding to ethernet0/3 Interface index 5 orresponding to vlan1
注意:index 后数字和网卡对应关系。后面写service.cfg时需用到。
配置commands.cfg增加如下内容
[root@nagios nagios]# tail -8 /usr/local/nagios/etc/commands.cfg ####################################################################### # #check_traffic # ####################################################################### define command{ command_name check_traffic command_line $USER1$/check_traffic.sh -V 2c -C ksense -H $HOSTADDRESS$ -I $ARG1$ $ARG2$ $ARG3$ -K -B }
service.cfg监控项目添加
以防火墙设备为例,其它方法相同
define service{ host_name juniper-ssg-320 service_description check_traffic_trust check_command check_traffic!1 -w 600,600 -c 800,800 #注:叹号后面数据对应上面的"$ARG1$ $ARG2$ $ARG3$"3个字段,中间空格隔开 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 sagroup } define service{ host_name juniper-ssg-320 service_description check_traffic_DMZ check_command check_traffic!2 -w 600,600 -c 800,800 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 sagroup } define service{ host_name juniper-ssg-320 service_description check_traffic_untrust1 check_command check_traffic!3 -w 600,600 -c 800,800 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 sagroup } define service{ host_name juniper-ssg-320 service_description check_traffic_untrust2 check_command check_traffic!4 -w 600,600 -c 800,800 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 sagroup }
[root@nagios nagios]# !1025 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ……………… Total Warnings: 0 Total Errors: 0
检查下配置文件是否有报错。。。没有就重启nagios服务即可生效了。
监控效果图:
Pnp图形:
评论暂时关闭