如何使用 Nagios 监控网络交换机和端口

举报
Tiamo_T 发表于 2021/11/24 22:41:20 2021/11/24
【摘要】 Nagios 是监控主机和网络设备的最佳监控工具。使用 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,如下所示:

[用于网络交换机的 Nagios GUI]
: Nagios GUI 显示网络交换机的状态

 

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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。