nagios 监控  cisco 交换机

一、环境:

        1.已搭建好nagios4.0.8
        2.Centos6.5 x86_64    
二、需要有4个监控cisco的脚本
check_snmp_cisco_ifstatus   
check_snmp_cisco_loadavg
check_snmp_cisco_memutil
check_snmp_env
下载链接:

三、配置
vim /usr/local/nagios/etc/objects/templates.cfg

define host{        name                    etnet-switch            use                     generic-host            check_period            24x7                    check_interval          1                       retry_interval          1/2                     max_check_attempts      2                       check_command           check-host-alive                notification_period     24x7                    notification_interval   30                      notification_options    d,r                     contact_groups          admins                  register                0                       }

vim /usr/local/nagios/etc/objects/commands.cfg

##check cisco#define  check_snmp_envdefine command{command_name check_snmp_envcommand_line $USER1$/check_snmp_env -H $HOSTADDRESS$ -C $ARG1$ $ARG2$}#define  check_snmp  cisco memdefine command{command_name check_snmp_cisco_memcommand_line $USER1$/check_snmp_cisco_memutil -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$}#define  check_snmp cisco cpudefine command{command_name check_snmp_cisco_cpucommand_line $USER1$/check_snmp_cisco_loadavg -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$}#define  check_snmp cisco  ifdefine command{command_name check_snmp_cisco_ifcommand_line $USER1$/check_snmp_cisco_ifstatus -H $HOSTADDRESS$ -C $ARG1$ -i $ARG2$ -w $ARG3$ -c $ARG4$}

vim /usr/local/nagios/etc/objects/151.3.cfg

define host{        use             etnet-switch        host_name       Office-192.168.151.3        alias           Switch 151.3        address         192.168.151.3        }define service{        use                     generic-service        host_name               Office-192.168.151.3        service_description     PING        check_command           check_ping!200.0,20%!600.0,60%        normal_check_interval   5        retry_check_interval    1        }define service{        use                     generic-service        host_name               Office-192.168.151.3        service_description     Uptime        check_command           check_snmp!-C public -o sysUpTime.0        }define service{        use                     generic-service        host_name               Office-192.168.151.3        service_description     Port 1 Link Status        check_command           check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB        }define service {  use                         generic-service  host_name                   Office-192.168.151.3  service_description         Memutil  check_command               check_snmp_cisco_mem!public!90!95 }define service {  use                         generic-service  host_name                   Office-192.168.151.3  service_description         LoadAVG  check_command               check_snmp_cisco_cpu!public!90!95  }define service {  use                         generic-service  host_name                   Office-192.168.151.3  service_description         Environment  check_command               check_snmp_env!public  }

添加监控交换机

vim /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/151.3.cfg

重启nagios
/etc/init.d/nagios restart
四、可能会报错

No output on stdout) stderr: Can't locate Net/SNMP.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/nagios/libexec/check_snmp_env line 21.

 

问题1:
perl -MCPAN -e shell
Can't locate CPAN.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
解决:

yum install -y perl-CPAN*

问题2:
No output on stdout) stderr: Can't locate Net/SNMP.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5
/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
/usr/local/nagios/libexec/check_snmp_env line 21.
解决:

 perl -MCPAN -e shellcpan[1]> install Net::SNMPcpan[2]> quit

网上的解决方案

How do I install Net::SNMP               perl module ?            There are 2 ways of doing this
            1) By CPAN (best)
            on command line, as root :
              
              [your_host]# perl -MCPAN -e shell
              cpan shell -- CPAN exploration and modules installation (v1.76)
              ReadLine support enabled
              cpan> install Net::SNMP
            
            If it's the first time you run CPAN, it will               probably ask you some (simple) questions.
            CPAN will also ask you to satisfy some dependencies               (Crypt::DES, Digest::MD5, etc..).
            2) "By hand"
            
            Get the folowings modules (tar.gz format) on               www.cpan.org
            - Crypt::DES
              - Digest::MD5
              - Digest::SHA1
              - Digest::HMAC
              - Net::SNMP
              
              for each one (you must install Net::SNMP at the end) :
              tar zxf <module>.tar.gz
              cd <module>
              perl Makefile.pl
              make test
              make install