如何使用Nagios监控Cisco交换机硬件及运行状态

2025-03-22 11:49:28
推荐回答(1个)
回答1:

系统环境:Nagios3.x+CentOS5.6+Cisco4500前提条件:1.Cisco交换机都支持SNMP协议,只需要简单的设置即可开启,例如:snmp-servercommunitysnmppwRO。更加详细的设置请使用Google搜索“Cisco开启SNMP”,参考网上相关文章。2.在安装Nagios之前,必须已经安装Net-Utils及其开发组件。成功安装Nagios之后,再次检查libexec目录下有check_snmp命令。系统测试:check_snmp命令提供了详细的使用说明,只需要在Linux命令行输入check_snmp–help即可查看帮助信息,这其中包括每一项参数的使用等。这里以检测Cisco交换机的系统为例,示范如何使用check_snmp。交换机为Cisco4500系列,系统描述的OID为.1.3.6.1.2.1.1.1.0[root@wardkinglibexec]#./check_snmp-H10.241.10.1-o.1.3.6.1.2.1.1.1.0-CsnmppwSNMPOK–“CiscoIOSSoftware,Catalyst4500L3SwitchSoftware(cat4500-ENTSERV|K9-M),Version12.2(53)SG2,RELEASESOFTWARE(fc1)建议用于Nagios监控的OID:系统内存使用(5分钟内)1.3.6.1.4.1.9.9.48.1.1.1.5.1系统可用内存(5分钟内)1.3.6.1.4.1.9.9.48.1.1.1.6.1CPU使用率(5分钟内)1.3.6.1.4.1.9.2.1.58.0硬件状态1.3.6.1.4.1.9.9.13系统配置:由于使用check_snmp检测的结果不够人性化,大部分的结果都需要重新调整。使用Perl脚本调用NET::SNMP模块,实现收集监控结果,并重新输出,更易阅读和使用。这里引用4个从国外网站收集的脚本,check_snmp_env,check_snmp_cisco_memutil,check_snmp_cisco_loadavg,check_snmp_cisco_ifstatus请下载至nagios安装目录下的libexec子目录中,例如/usr/local/nagios/libexec,重命名去掉txt扩展名,赋予可执行权限:[root@nagioslibexec]#pwd/usr/local/nagios/libexec[root@nagioslibexec]#chmoda+xcheck_snmp_cisco_*check_snmp_env-vmodeof`check_snmp_cisco_ifstatus’retainedas0755(rwxr-xr-x)modeof`check_snmp_cisco_loadavg’retainedas0755(rwxr-xr-x)modeof`check_snmp_cisco_memutil’retainedas0755(rwxr-xr-x)modeof`check_snmp_env’retainedas0755(rwxr-xr-x)剩下的工作就是follow标准流程设置监控命令,添加被监控的交换机和服务了。编辑etc/objects/command.cfg,添加如下定义:#CheckCisco,ExtremeandJuniperhardwaredefinecommand{command_namecheck_snmp_envcommand_line$USER1$/check_snmp_env-H$HOSTADDRESS$-C$ARG1$$ARG2$}#CiscoSNMPdevicemonitoringdefinecommand{command_namecheck_snmp_cisco_memcommand_line$USER1$/check_snmp_cisco_memutil-H$HOSTADDRESS$-C$ARG1$-w$ARG2$-c$ARG3$}definecommand{command_namecheck_snmp_cisco_cpucommand_line$USER1$/check_snmp_cisco_loadavg-H$HOSTADDRESS$-C$ARG1$-w$ARG2$-c$ARG3$}definecommand{command_namecheck_snmp_cisco_ifcommand_line$USER1$/check_snmp_cisco_ifstatus-H$HOSTADDRESS$-C$ARG1$-i$ARG2$-w$ARG3$-c$ARG4$}编辑switch.cfg加入监控的交换机配置,新增相关系统服务,例如:defineservice{usegeneric-service;Inheritvaluesfromatemplatehost_nameCAT4506E_B1_LG3_1,CAT4506E_B3_A09L_1,CAT4507R_B5_A09R_1,CAT4507R_B1_LG3_1,CAT4507R_B5_D12_1,RackSW_PDC_1,RackSW_PDC_2,RackSW_PDC_3,RackSW_PDC_4,RackSW_SDC_2,RackSW_SDC_3service_descriptionEnvironmentcheck_commandcheck_snmp_env!snmppw}defineservice{usegeneric-service;Inheritvaluesfromatemplatehost_nameCAT4507R_B5_D12_1,CAT4507R_B1_LG3_1,CAT4506E_B1_LG3_1,CAT4506E_B3_A09L_1,CAT4507R_B5_A09R_1service_descriptionLoadAVGcheck_commandcheck_snmp_cisco_cpu!snmppw!60!80}defineservice{usegeneric-service;Inheritvaluesfromatemplatehost_nameCAT4507R_B5_D12_1,CAT4507R_B1_LG3_1,CAT4506E_B1_LG3_1,CAT4506E_B3_A09L_1,CAT4507R_B5_A09R_1service_descriptionMemutilcheck_commandcheck_snmp_cisco_mem!snmppw!70!90}