一,被监控端-Linux

1、安装snmp

yuminstallnet-snmp*

2、配置snmp

[root@node1~]#grep-v"^#"/etc/snmp/snmpd.conf|grep-v"^$"com2secnotConfigUserdefaultpubliccom2secnotConfigUser192.168.80.132publicgroupnotConfigGroupv1notConfigUsergroupnotConfigGroupv2cnotConfigUserviewsystemviewincluded.1.3.6.1.2.1.1viewsystemviewincluded.1.3.6.1.2.1.25.1.1accessnotConfigGroup""anynoauthexactallnonenoneviewallincluded.180viewmib2included.iso.org.dod.internet.mgmt.mib-2fcsyslocationUnknown(edit/etc/snmp/snmpd.conf)syscontactRoot<root@localhost>(configure/etc/snmp/snmp.local.conf)dontLogTCPWrappersConnectsyes

3、确认snmp正常运行,并保证不被selinux,防火墙阻拦

netstat-anpt|grepsnmpserviceiptablesstatussetenforce0

二、被监控端-windows

测试机是windows7,可以在控制面板-->程序-->添加功能中安装snmp服务

通过services.msc打开服务管理器。找到SNMP service,右击属性--安全。添加社区名和监控机IP

三、监控端-nagios

1、安装snmp

yuminstallnet-snmp*

2、下载check_traffic.sh脚本,并移动到nagios插件的目录

[root@node2~]#grep-v"^$"/etc/nagios/resource.cfg|grep-v"^#"$USER1$=/usr/lib64/nagios/plugins##nagios插件存放目录[root@node2~]#cpcheck_traffic.sh/usr/lib64/nagios/plugins/

3、定义命令

[root@node2~]#vim/etc/nagios/objects/commands.cfgdefinecommand{command_namecheck_trafficcommand_line$USER1/check_traffic.sh-V2c-Cpublic-H$HOSTADDRESS$-I$ARG1$}

介绍下几个参数的含义

check_traffic脚本主要是通过调用snmpwalk来检测被监控机的信息

-V 指定SNMP协议版本

-C 指定社区(community)名称。

-I index值,这个一会可以看到

-w warnning值,ARG2和ARG3分别时网卡的in和out流量

-c critial值

3、定义服务

defineservice{uselocal-servicehost_name192.168.80.131check_commandcheck_traffic!11-w400,400-c600,600}