您的位置:首页 > 移动开发 > IOS开发

Nagios 网卡流量监控

2014-01-16 13:08 429 查看
本文所用到的监控流量插件来自"石头"的 1.20 版 shell 插件。感谢之。。。。下载地址为: 点击下载 。 总体设置可以分为两块, linux 主机及非 linux 主机。稍有出入。不多说直接上配置一、linux主机主要步骤:
1、安装snmpd服务软件包并设置启动之。 2、上传监控插件至被监控机nagios/libexec目录并授权 3、网卡参数检测 4、nrpe.cfg文件增加监控command 5、nagios服务器配置service.cfg添加监控项
具体实施:1、 安装修改启动snmpd服务安装:[root@nagios nagios]# yum -y install net-snmp*
Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfileSetting up Install ProcessPackage 1:net-snmp-devel-5.3.2.2-9.el5_5.1.i386 already installed and latest versionPackage 1:net-snmp-libs-5.3.2.2-9.el5_5.1.i386 already installed and latest versionPackage 1:net-snmp-utils-5.3.2.2-9.el5_5.1.i386 already installed and latest versionPackage 1:net-snmp-perl-5.3.2.2-9.el5_5.1.i386 already installed and latest versionPackage 1:net-snmp-5.3.2.2-9.el5_5.1.i386 already installed and latest versionNothing to do#我已经安装过了。。就上面这些包了。。
修改snmpd.conf
# sec.name source communitycom2sec notConfigUser 127.0.0.1(localhost也可不改) XXXX(共同体名)
# group context sec.model sec.level prefix read write notifaccess 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 loInterface index 2 orresponding to bond0Interface index 3 orresponding to eth0Interface index 4 orresponding to eth1Interface 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 nrpenagios 2822 0.0 0.0 4808 1448 ? Ss Jun01 0:04 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -droot 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 WEBservice_description check_trafficcheck_command check_nrpe!check_trafficmax_check_attempts 5normal_check_interval 3retry_check_interval 2check_period 24x7notification_interval 10notification_period 24x7notification_options w,u,c,rcontact_groups sagroup}
二、其它设备:(win主机、交换、路由、防火墙)这些主机上都是没办法安装nrpe插件的。所以我们只有通过snmp协议采集。(两者异同之处就在于snmp数据报文是否在网络传输。前者snmp数据只会在本机产生,自己采集自身数据而后由nrpe插件传输到nagios服务器前端显示出来(数据文件在本机)。后者则是nagios服务器通过snmp协议采集目标主机信息而后前端显示(数据文件在服务器)。就安全性而言,前者更优于后者。主要步骤:
1、设置主机snmp协议(共同体名、权限、trap目标主机)2nagios服务器snmp连接测试及网卡参数确定3nagios服务器commands.cfg配置4service.cfg监控项目添加5、重启nagios服务测试
具体实施:演示设备:windows2003、netscreen防火墙、H3C路由以及H3C交换机。1、 设置主机snmp协议Windows主机:添加snmp组件。。在服务里找到"snmp service"编辑如下:

防火墙:

路由器:



交换机:
snmp-agentsnmp-agent local-engineid 800063A2000FE2CCFAA36877snmp-agent community write XXXXXsnmp-agent sys-info version allsnmp-agent target-host trap address udp-domain XXXXXX params securityname XXXXX
1、 nagios服务器snmp连接测试及网卡参数确定:以防火墙为例,找到个接口参数:
[root@nagios nagios]# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C ksense -H 192.168.20.254 -LList Interface for host 192.168.20.254.Interface index 1 orresponding to ethernet0/0Interface index 2 orresponding to ethernet0/1Interface index 3 orresponding to ethernet0/2Interface index 4 orresponding to ethernet0/3Interface index 5 orresponding to vlan1注意:index 后数字和网卡对应关系。后面写service.cfg时需用到。
2、 配置commands.cfg增加如下内容:
[root@nagios nagios]# tail -8 /usr/local/nagios/etc/commands.cfg#########################################################################check_traffic########################################################################define command{command_name check_trafficcommand_line $USER1$/check_traffic.sh -V 2c -C ksense -H $HOSTADDRESS$ -I $ARG1$ $ARG2$ $ARG3$ -K -B}
3、 service.cfg监控项目添加:以防火墙设备为例,其它方法相同
define service{host_name juniper-ssg-320service_description check_traffic_trustcheck_command check_traffic!1 -w 600,600 -c 800,800#注:叹号后面数据对应上面的"$ARG1$ $ARG2$ $ARG3$"3个字段,中间空格隔开max_check_attempts 5normal_check_interval 3retry_check_interval 2check_period 24x7notification_interval 10notification_period 24x7notification_options w,u,c,rcontact_groups sagroup}define service{host_name juniper-ssg-320service_description check_traffic_DMZcheck_command check_traffic!2 -w 600,600 -c 800,800max_check_attempts 5normal_check_interval 3retry_check_interval 2check_period 24x7notification_interval 10notification_period 24x7notification_options w,u,c,rcontact_groups sagroup}define service{host_name juniper-ssg-320service_description check_traffic_untrust1check_command check_traffic!3 -w 600,600 -c 800,800max_check_attempts 5normal_check_interval 3retry_check_interval 2check_period 24x7notification_interval 10notification_period 24x7notification_options w,u,c,rcontact_groups sagroup}define service{host_name juniper-ssg-320service_description check_traffic_untrust2check_command check_traffic!4 -w 600,600 -c 800,800max_check_attempts 5normal_check_interval 3retry_check_interval 2check_period 24x7notification_interval 10notification_period 24x7notification_options w,u,c,rcontact_groups sagroup}
5、
[root@nagios nagios]# !1025/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg………………
Total Warnings: 0Total Errors: 0检查下配置文件是否有报错。。。没有就重启nagios服务即可生效了。
监控效果图:



Pnp图形:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nagios