23112312 发表于 2015-11-16 10:17:36

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


1
2
3
4
5
6
7
8
9
10
11
12
13
14
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


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
##check cisco
#definecheck_snmp_env
define command{
command_name check_snmp_env
command_line $USER1$/check_snmp_env -H $HOSTADDRESS$ -C $ARG1$ $ARG2$
}
#definecheck_snmpcisco mem
define command{
command_name check_snmp_cisco_mem
command_line $USER1$/check_snmp_cisco_memutil -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$
}
#definecheck_snmp cisco cpu
define command{
command_name check_snmp_cisco_cpu
command_line $USER1$/check_snmp_cisco_loadavg -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$
}
#definecheck_snmp ciscoif
define command{
command_name check_snmp_cisco_if
command_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


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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


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






重启nagios
/etc/init.d/nagios restart

四、可能会报错



1
2
3
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 .).

解决:


1
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.

解决:


1
2
3
perl -MCPAN -e shell
cpan> install Net::SNMP
cpan> 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 :
            
            # 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

页: [1]
查看完整版本: nagios 监控 cisco 交换机