sher 发表于 2019-1-13 10:47:44

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.cfg public@192.168.1.1
  

  4、修改name.cfg,即myswitch.cfg,添加红色文字部分,开头不能有空格,冒号也不能少
  vim /var/www/mrtg/myswitch.cfg
  #for UNIX
# WorkDir: /home/http/mrtg

  WorkDir: /var/www/mrtg/
  

  5、再执行下面的命令创建对应的端口信息
env LANG=C /usr/bin/mrtg /var/www/mrtg/name.cfg(一般需要执行两边,有时候三遍)
运行成功后ls /var/www/mrtg看看都有哪些端口的信息
  

  6、添加到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配置之交换机及路由