如何使用 Nagios 监控网络交换机和端口
Nagios 是监控主机和网络设备的最佳监控工具。使用 Nagios 插件,您几乎可以监控任何东西。
在本文中,我将解释如何配置 Nagios 以监控网络交换机及其活动端口。
1.在nagios.cfg中启用switch.cfg
取消注释 /usr/local/nagios/etc/nagios.cfg 中的 switch.cfg 行,如下所示。
[nagios-server]# grep switch.cfg /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/switch.cfg
2. 在 switch.cfg 中为交换机添加新的主机组
将以下交换机主机组添加到 /usr/local/nagios/etc/objects/switch.cfg 文件中。
define hostgroup{
hostgroup_name switches
alias Network Switches
}
3. 为需要监控的交换机添加新主机
在这个例子中,我在 /usr/local/nagios/etc/objects/switch.cfg 文件中定义了一个主机来监控核心交换机。相应地将地址指令更改为您的交换机 ip-address。
define host{
use generic-switch
host_name core-switch
alias Cisco Core Switch
address 192.168.1.50
hostgroups switches
}
4. 为所有交换机添加公共服务
显示交换机的正常运行时间和验证交换机是否处于活动状态是所有交换机的常用服务。因此,在交换机 hostgroup_name 下定义这些服务,如下所示。
# Service definition to ping the switch using check_ping
define service{
use generic-service
hostgroup_name switches
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}
# Service definition to monitor switch uptime using check_snmp
define service{
use generic-service
hostgroup_name switches
service_description Uptime
check_command check_snmp!-C public -o sysUpTime.0
}
5. 添加服务监控端口带宽使用情况
check_local_mrtgtraf 使用Multil Router Traffic Grapher – MRTG。因此,您需要安装 MRTG 才能正常工作。下面提到的 *.log 文件应该指向您系统上的 MRTG 日志文件。
define service{
use generic-service
host_name core-switch
service_description Port 1 Bandwidth Usage
check_command check_local_mrtgtraf!/var/lib/mrtg/192.168.1.11_1.log!AVG!1000000,2000000!5000000,5000000!10
}
6. 添加服务以监控活动的交换机端口
使用 check_snmp 监控特定端口,如下所示。以下两个服务监控端口#1 和端口#5。要添加其他端口,请相应地更改 ifOperStatus.n 的值。即 n 定义端口#。
# Monitor status of port number 1 on the Cisco core switch
define service{
use generic-service
host_name core-switch
service_description Port 1 Link Status
check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
}
# Monitor status of port number 5 on the Cisco core switch
define service{
use generic-service
host_name core-switch
service_description Port 5 Link Status
check_command check_snmp!-C public -o ifOperStatus.5 -r 1 -m RFC1213-MIB
}
7.添加服务一起监控多个交换机端口
有时您可能需要监视组合在一起的多个端口的状态。即 Nagios 应该向您发送警报,即使其中一个端口已关闭。在这种情况下,定义以下服务来监视多个端口。
# Monitor ports 1 - 6 on the Cisco core switch.
define service{
use generic-service
host_name core-switch
service_description Ports 1-6 Link Status
check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB, -o ifOperStatus.2 -r 1 -m RFC1213-MIB, -o ifOperStatus.3 -r 1 -m RFC1213-MIB, -o ifOperStatus.4 -r 1 -m RFC1213-MIB, -o ifOperStatus.5 -r 1 -m RFC1213-MIB, -o ifOperStatus.6 -r 1 -m RFC1213-MIB
}
8.验证配置并重启nagios
验证 nagios 配置以确保没有警告和错误。
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
重启nagios服务器,开始监控VPN设备。
# /etc/rc.d/init.d/nagios stop
Stopping nagios: .done.
# /etc/rc.d/init.d/nagios start
Starting nagios: done.
从 Nagios Web UI 验证交换机的状态:http://{nagios-server}/nagios,如下所示:
9. 故障排除
问题 1: Nagios GUI 显示“check_mrtgtraf: Unable to open MRTG log file”错误消息来说明端口带宽使用情况
解决方案1:确保check_local_mrtgtraf 服务中定义的*.log 文件指向正确的位置。
问题 2:Nagios UI 为端口链接状态显示“127 的返回代码超出范围 – 插件可能丢失”错误消息。
解决方案 2:确保安装了 net-snmp 和 net-snmp-util 包。就我而言,我缺少 net-snmp-utils 包并安装它解决了这个问题,如下所示。
[nagios-server]# rpm -qa | grep net-snmp
net-snmp-libs-5.1.2-11.el4_6.11.2
net-snmp-5.1.2-11.el4_6.11.2
[nagios-server]# rpm -ivh net-snmp-utils-5.1.2-11.EL4.10.i386.rpm
Preparing... ########################################### [100%]
1:net-snmp-utils ########################################### [100%]
[nagios-server]# rpm -qa | grep net-snmp
net-snmp-libs-5.1.2-11.el4_6.11.2
net-snmp-5.1.2-11.el4_6.11.2
net-snmp-utils-5.1.2-11.EL4.10
- 点赞
- 收藏
- 关注作者
评论(0)