34tg 发表于 2015-8-17 09:46:02

Nagios配置之交换机及路由

监控交换机大多是监控交换机端口up/down,以及端口流量 。
监控开启状态需要snmp协议,请确保交换机及路由已开启snmp,并设置好社区集(community),监控流量需要mrtg

1、安装mrtg
yum install mrtg Perl libpng zlib

2、修改snmpd的配置,以使其允许mrtg读取其interface(网络接口) 流量数据。
vi /etc/snmp/snmpd.conf
将#view systemview included mib2
的内容修改为:
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
然后将
access notConfigGroup "" any noauth exact systemview none none
修改为:
access notConfigGroup "" any noauth exact mib2 none none
然后再重新启动snmpd:
/etc/rc.d/init.d/snmpd restart

3、执行如下命令创建配置文档
cfgmaker -output=/var/www/mrtg/name.cfg SNPM社区集@IP地址
例如:
cfgmaker -output=/var/www/mrtg/myswitch public@192.168.1.1
在执行如下命令创建相关日志及网页(首先得修改name.cfg中的WorkDir项,去掉#,并且前面不能有空格)。(mrtg可以单独使用的)
4、再执行下面的命令创建对应的端口信息
env LANG=C /usr/bin/mrtg /var/www/mrtg/name.cfg(一般需要执行两边,有时候三遍)
运行成功后ls /var/www/mrtg看看都有哪些端口的信息

5、添加到crontab中

*/5 * * * * env LANG=C /usr/bin/mrtg /var/www/mrtg/myswitch.cfg

7、添加mrtg到nagios
vim command.cfg
# 'check_local_mrtgtraf' command definition
define command{
      command_name    check_local_mrtgtraf
      command_line    $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -e $ARG5$      ;-F 日志位置及名称,-a 带宽,-w 警告阀值, -c 严重警告阀值 , -e 时间,默认单位分钟
      }

8、启用nagios.cfg中的cfg_dir=/usr/local/nagios/etc/switches

9、创建、编辑nagios中的交换机配置文档
cp -p /usr/local/nagios/etc/objects/swithe.cfg /usr/local/nagios/etc/switches/myswitch.cfg
如果没有switches 就创建一个
mkdir /usr/local/nagios/etc/switches
chown nagio:nagios /usr/local/nagios/etc/switches
chmod 755 /usr/local/nagios/etc/switches

vim /usr/local/nagios/etc/switches/myrouter.cfg
# Define the switch that we'll be monitoring
define host{
      use             generic-switch          ; 调用templatles.cfg中的模板,多个模板用逗号隔开
      host_name       myswitch            ;交换机名
      parents         192.168.0.1             ; 该交换机的上级设被,多个用逗号隔开
      alias               switch                  ; 别名
      statusmap_image switch40.jpg   ;在拓扑图中交换机的图片
      address         192.168.1.1             ;交换机IP
      hostgroups      switches                ;所属组
      }

define service{
      use                     generic-service   ;多个模板用逗号隔开
      host_name               myswitch         ; 多个名字用逗号隔开
      service_description      PING            ; The service description
      check_command      check_ping!200.0,20%!600.0,60%; ping200次,丢失20%告警,ping600次,丢失60%严重告警
      normal_check_interval   5               
      retry_check_interval          1            
      }


# Monitor uptime via SNMP
define service{
      use                               generic-service   
      host_name                   myswitch
      service_description       Uptime
      check_command         check_snmp!-C public -o sysUpTime.0    ;检查开机时长
      }

# Monitor Port 1 status via SNMP
define service{
      use                              generic-service
      host_name                  myswitch
      service_description   port1
      check_command         check_snmp!-C public -o ifOperStatus.1005 -r 1 -m RFC1213-MIB
      检查端口1的开启状态,1表示开启,当不是1时告警
      }

# Monitor bandwidth via MRTG logs
define service{
      use                                 generic-service
      host_name                     myswitch
      service_description      port1
      check_command         check_local_mrtgtraf!/var/www/mrtg/192.168.1.1_1001.log!AVG!20000000,20000000!17500000,17500000!10   ;检查1号端口的流量 ,2个20000000和17500000是因为带宽分为上下行
      }
页: [1]
查看完整版本: Nagios配置之交换机及路由