永发信息网

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

答案:2  悬赏:60  手机版
解决时间 2021-01-15 11:54
如何使用Nagios监控Cisco交换机硬件及运行状态
最佳答案
系统环境:Nagios 3.x + CentOS 5.6 + Cisco 4500

前提条件:
1. Cisco交换机都支持SNMP协议,只需要简单的设置即可开启,例如:snmp-server community snmppw RO。更加详细的设置请使用Google搜索“Cisco 开启 SNMP”,参考网上相关文章。

2. 在安装Nagios之前,必须已经安装Net-Utils及其开发组件。成功安装Nagios之后,再次检查libexec目录下有check_snmp命令。

系统测试:
check_snmp命令提供了详细的使用说明,只需要在Linux命令行输入 check_snmp –help即可查看帮助信息,这其中包括每一项参数的使用等。

这里以检测Cisco交换机的系统为例,示范如何使用check_snmp。交换机为Cisco 4500系列,系统描述的OID为.1.3.6.1.2.1.1.1.0

[root@wardking libexec]# ./check_snmp -H 10.241.10.1 -o .1.3.6.1.2.1.1.1.0 -C snmppw
SNMP OK – “Cisco IOS Software, Catalyst 4500 L3 Switch Software (cat4500-ENTSERV | K9-M), Version 12.2(53)SG2, RELEASE SOFTWARE (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.1
CPU使用率(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@nagios libexec]# pwd
/usr/local/nagios/libexec
[root@nagios libexec]# chmod a+x check_snmp_cisco_* check_snmp_env -v
mode of `check_snmp_cisco_ifstatus’ retained as 0755 (rwxr-xr-x)
mode of `check_snmp_cisco_loadavg’ retained as 0755 (rwxr-xr-x)
mode of `check_snmp_cisco_memutil’ retained as 0755 (rwxr-xr-x)
mode of `check_snmp_env’ retained as 0755 (rwxr-xr-x)

剩下的工作就是follow标准流程设置监控命令,添加被监控的交换机和服务了。

编辑etc/objects/command.cfg,添加如下定义:

#Check Cisco, Extreme and Juniper hardware
define command{
command_name check_snmp_env
command_line $USER1$/check_snmp_env -H $HOSTADDRESS$ -C $ARG1$ $ARG2$
}
#Cisco SNMP device monitoring

define command{
command_name check_snmp_cisco_mem
command_line $USER1$/check_snmp_cisco_memutil -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$
}
define command{
command_name check_snmp_cisco_cpu
command_line $USER1$/check_snmp_cisco_loadavg -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$
}
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$
}

编辑switch.cfg加入监控的交换机配置,新增相关系统服务,例如:

define service{
use generic-service ; Inherit values from a template
host_name CAT4506E_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_3
service_description Environment
check_command check_snmp_env!snmppw
}
define service{
use generic-service ; Inherit values from a template
host_name CAT4507R_B5_D12_1, CAT4507R_B1_LG3_1, CAT4506E_B1_LG3_1, CAT4506E_B3_A09L_1, CAT4507R_B5_A09R_1
service_description LoadAVG
check_command check_snmp_cisco_cpu!snmppw!60!80
}
define service{
use generic-service ; Inherit values from a template
host_name CAT4507R_B5_D12_1, CAT4507R_B1_LG3_1, CAT4506E_B1_LG3_1, CAT4506E_B3_A09L_1, CAT4507R_B5_A09R_1
service_description Memutil
check_command check_snmp_cisco_mem!snmppw!70!90
}
全部回答
1. Cisco交换机都支持SNMP协议,只需要简单的设置即可开启,例如:snmp-server community snmppw RO。更加详细的设置请使用Google搜索“Cisco 开启 SNMP”,参考网上相关文章。
2. 在安装Nagios之前,必须已经安装Net-Utils及其开发组件。成功安装Nagios之后,再次检查libexec目录下有check_snmp命令。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
若代数式6x平方加bx减y加5减2ax的平方伽x加5y
书页卷角怎么办?
注册了米e宝平台会员有没什么风险?
地牢猎手5哪个平台人多 下了个9游的
娜和学生谢非出轨小说
苹果iphone6触屏失灵应该怎么办?
大黄喝多久合适
字谜:一弓安两箭,猜一个字
糟糕老板的9种错误理念,你是这样的老板吗
Shake It的中文歌词
完美国际金顶回龙头盔怎么来的
手机百度搜索历史清空,怎么恢复?
早晨六点做梦抓老鳖夲人正在睡觉在池圹边抓到
彪马衣服尺码?
姓李的四个字名字
推荐资讯
swm斯威汽车新款的G O1性价比怎么样呢?哈弗
霸王的大陆,200年后,还可以招到武将么?
锤子m1l信号差怎么解
老友记中艾玛喜欢大屁股的那首歌
eclipse user storage service 怎么关闭
据说双离合顿挫感严重 是不是真的
x除以12的商用字母的方式表达出来
376乘26笔算
(2007?闵行区二模)如图,凸透镜焦距为15cm
,“今至水军八十万众,方与将军会猎于吴”的
有人做过那种,伪装自己是一个三十几岁的有钱
采购煤炭,单价500元一吨,带票300元,怎么计
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?