10 使用Zabbix监控网络交换机或路由器

监控网络交换机或路由器

要使用Zabbix监控网络交换机或路由器,您需要确保设备支持SNMP(简单网络管理协议),并配置SNMP以允许Zabbix服务器访问。以下步骤概述了如何设置监控:

  1. 配置SNMP:在您的网络设备上启用SNMP,并设置适当的社区字符串或用户凭证,以便Zabbix服务器可以读取设备信息。

  2. 创建主机:在Zabbix中创建一个新的主机,代表您的网络设备。确保正确设置SNMP接口,包括IP地址、端口、社区字符串或用户信息。

  3. 应用模板:为网络设备应用一个预定义的模板,该模板包含监控项、触发器和图表,用于收集和显示关键性能指标(KPIs)。

  4. 配置监控项:根据需要,配置监控项以收集特定的性能数据,如端口状态、CPU使用率、内存使用率、错误包计数等。

  5. 设置触发器:创建触发器以监控设备的健康状况,例如,当CPU使用率超过阈值时发送告警。

  6. 配置图表和仪表盘:设置图表和仪表盘,以可视化设备的性能数据,帮助您监控网络设备的运行状态。

  7. 定期检查:定期检查监控数据,确保设备正常运行,并及时响应任何潜在问题。

通过以上步骤,您可以有效地使用Zabbix监控网络交换机或路由器,确保网络设备的稳定性和性能。

引言

本指南将引导您完成使用Zabbix对网络交换机或路由器进行基本监控所需步骤。以Cisco路由器为例,但此程序适用于任何启用SNMP的网络设备。

本指南适用对象

本指南专为Zabbix新用户和希望快速为网络设备启用基本监控的网络管理员设计。如果您需要深度定制或高级配置选项,请参阅SNMP agent页面或Zabbix手册的配置部分。

先决条件

在继续本指南之前,请确保您已具备:

  • 已安装Zabbix服务器和Zabbix前端:根据您的操作系统说明进行安装(参见从软件包安装Web界面安装)。
  • 启用SNMP的设备:网络交换机或路由器(例如,Cisco路由器)已启用SNMP。
  • MIB文件已安装:安装MIB文件使Zabbix能够将数字OID转换为人类可读的名称和描述。没有适当的MIB支持,您可能仅看到数字值,这将使配置项和故障排查更加困难。

在Ubuntu上安装MIB文件:

1. 安装MIB下载器包:

sudo apt-get update
       sudo apt-get install snmp-mibs-downloader

如果您需要添加特定于供应商的MIB(例如,来自Cisco、Juniper),请将它们放置在相应的MIB目录中:

  • 对于基于Linux的系统,常见位置包括 /usr/share/snmp/mibs/ 或 /usr/local/share/snmp/mibs/。
  • 对于Zabbix安装,MIB文件可以存储在 /var/lib/zabbix/mibs/ 中。

确保环境变量MIBDIRS或snmp.conf文件包含正确的路径。

要验证系统是否识别新的MIB,请使用:

snmptranslate -IR -On <MIB-NAME>::<object>

对于详细说明,请参阅您的SNMP库文档:

2. 编辑 /etc/snmp/snmp.conf 并注释掉以 mibs 开头的行,以允许系统加载所有可用的MIB。 3. 通过运行 snmpwalk(例如,snmpwalk -v 2c -c <your_community_string> <device_IP>)并检查OID是否以描述性名称显示来验证。

本指南基于以下设置:

  • Zabbix版本:7.0(从软件包安装)
  • OS发行版:Ubuntu
  • OS版本:24.04.2+
  • Zabbix组件:服务器、前端,以及可选的agent(如果监控本地网络指标)
  • 数据库:MySQL
  • Web服务器:Apache
  • 网络设备:Cisco Catalyst 3750V2-24FS

假设您的网络设备已物理安装并连接。

配置网络设备(Cisco路由器示例)

为了通过SNMP进行监控,您必须配置网络设备以允许SNMP查询。下面的示例适用于SNMPv2,并未考虑现有设置。注意:应用这些命令可能会覆盖当前的SNMP配置。

对于Cisco路由器,配置通常涉及以下步骤。

SNMPv2 示例

1. 启用SNMP并设置团体字符串。

登录到您的Cisco路由器的控制台并进入配置模式:

configure terminal

然后,启用SNMP通过指定只读团体字符串。例如:

snmp-server community <your_community_string> RO

<your_community_string>替换为您的安全团体字符串。注意:RO(只读)选项允许SNMP从设备检索数据,但阻止任何配置更改。

出于安全原因,建议将SNMP访问限制为仅必要的设备。有关配置访问控制列表(ACL)的进一步指导,请参阅Cisco的官方文档

2. 保存配置。

保存您的更改以确保SNMP设置在重启后仍然存在:

write memory

SNMPv3 示例

SNMPv3 通过身份验证和加密提供了增强的安全性。其配置比 SNMPv2 更安全,应对照您的设备特定文档进行验证。

1. 创建一个 SNMP 组。

配置一个启用了隐私(加密)的 SNMPv3 组:

configure terminal
       snmp-server group <your_group> v3 priv

2. 创建一个 SNMP 用户: 添加一个具有身份验证和隐私功能的 SNMPv3 用户。将占位符替换为您想要的值:

snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>

3. 保存配置:

write memory

对于更多细节或特定型号的指导,您可以参考外部 Cisco SNMP 配置教程。然而,本指南提供了启用 SNMP 监控的基本步骤。

配置 Zabbix 前端

在Zabbix前端创建主机

1. 登录到Zabbix前端。

2. 添加新主机。

导航至 数据收集 > 主机 并点击 创建主机

  • 主机名: 输入设备名称(例如,“Cisco 路由器”)。
  • 主机组: 选择现有组或创建新组,如“网络设备”。
  • 接口:
    • 在接口下点击 添加
    • 选择 SNMP 作为接口类型。
    • 输入Cisco路由器的IP地址或DNS名称。
    • 设置默认SNMP端口(通常为161)。
    • 使用下拉菜单选择适当的SNMP版本(例如SNMPv2)。
    • 对于SNMPv1/v2,在 SNMP community 字段中输入community字符串。对于SNMPv3,将提示输入额外的凭据(Context name, Security name, 和 Security level 等)。

3. 链接模板

Templates 字段中,选择与您的设备最匹配的SNMP模板。Zabbix提供了许多设备家族的预构建 SNMP模板。例如,如果您正在监控Cisco设备,选择与您的设备操作系统或型号相对应的模板(如Cisco IOS SNMP 或 Cisco Catalyst 3750<设备型号> SNMP)。

4. 点击 添加 以保存主机。

查看收集的指标

恭喜!Zabbix现已设置完毕,可以监控您的网络设备。

最新数据:

  • 在Zabbix前端导航至监控 > 最新数据。

  • 选择您的“Cisco Router”主机(或已发现的主机),以查看诸如硬件和网络运行时间、ICMP丢包率、ping响应和响应时间等指标。

  • 图表和屏幕:

要可视化性能数据,点击SNMP监控项旁边的图表以查看详细指标。

下一步,您可以:

创建SNMP监控项

一旦主机设置完毕,您可以创建监控项来监控特定的指标。注意:如果使用模板,这一步是可选的,因为模板中已经包含了默认的监控项集合。

1. 确定SNMP OID:

使用snmpwalk命令列出设备上的可用OID。例如:

snmpwalk -v 2c -c <your_community_string> <device_IP> .

找到您希望监控的指标的OID(例如,IF-MIB::ifHCInOctets.3用于监控端口3的入向流量)。要获取数值OID,您可以使用:

snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3

2. 创建SNMP监控项:

  • 导航至 数据收集 > 主机 并点击您的SNMP主机的 监控项 标签,然后点击 创建监控项
  • 名称:输入描述性名称(例如,“端口3入向流量”)。
  • 类型:选择 SNMP agent
  • :提供有意义的键(例如,cisco.ifHCInOctets.3)。
  • 主机接口:确保选择了SNMP接口。
  • SNMP OID:使用支持的格式之一输入OID,例如:
    • get[1.3.6.1.2.1.31.1.1.1.6.3] 用于单个值;
    • walk[1.3.6.1.2.1.31.1.1.1.6.3] 异步检索值的子树。

  • 预处理(如果需要):如果监控项返回累积计数器(如接口流量),导航至 预处理 标签,并添加预处理步骤,如“每秒变化”来计算速率。

为了在单个SNMP事务中检索多个值,您可以使用语法walk[OID1,OID2,...]指定多个OID。

在数值OID与MIB名称之间进行转换

在处理SNMP时,你可能需要在数值OID和对应的MIB名称之间进行转换。这种转换有助于更轻松地识别和排查指标问题。

  • 将MIB名称转换为数值OID:使用snmptranslate命令与-On选项。例如,要将MIB名称IF-MIB::ifHCInOctets.3转换为其数值OID,运行:

    snmptranslate -On IF-MIB::ifHCInOctets.3

此命令可能输出:

.1.3.6.1.2.1.31.1.1.1.6.3
  • 将数值OID转换为其MIB名称:使用snmptranslate命令与-IR(或-m ALL)选项来逆向转换。例如,要将数值OID.1.3.6.1.2.1.31.1.1.1.6.3转换回其MIB名称,运行:

    snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3

此命令可能输出:

IF-MIB::ifHCInOctets.3

设置问题告警

本指南提供了发送邮件告警的基本配置步骤。

1. 请导航至 用户设置 > 档案,切换至 媒体 标签页并 添加您的邮箱

2. 请遵循 接收问题通知 的指南操作。

下次,当Zabbix检测到问题时,您应该会通过邮件收到告警。

测试您的配置

为了确保Zabbix能正确检测网络性能问题,请通过增加ICMP ping响应时间阈值来模拟实际问题。

1. 在Zabbix中打开您的"Cisco 路由器"主机配置。

2. 导航至标签页,并选择继承和主机宏

3. 定位到{$ICMP_RESPONSE_TIME_WARN}宏(或类似的响应时间阈值宏)。

4. 设置一个非常低的值(例如,0.001),当ping响应超过此值时触发告警。

5. 点击更新以应用更改。

6. 等待片刻,让Zabbix检测到模拟的问题。

7. 导航至监控 > 问题,以验证是否出现告警(例如,“ICMP ping响应时间高”)。

如果已配置告警,您也应该收到问题告警。

8. 将宏值恢复为原始设置,并点击更新以保存更改。

9. 确认问题已解决,并从问题部分消失。

排查SNMP监控问题

如果您发现Zabbix前端的SNMP图标显示为红色,或未收集到数据,请尝试以下步骤:

1. 检查SNMP连通性。

对于SNMPv2,请从您的Zabbix服务器运行以下命令:

snmpwalk -v 2c -c <community_string> <device_IP> .

此命令验证设备是否响应SNMP查询。

对于SNMPv3,包含适当的SNMPv3凭据:

snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .

这验证SNMPv3凭据正确无误,且设备安全响应。

2. 确保已安装并启用MIB文件,如先决条件中所述。为此,请确保以下命令在查询网络设备时不会出现错误:

snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets

这应返回无错误的已翻译OID。

3. 确认Zabbix中配置的SNMP版本和凭据与设备上设置的相匹配。例如,检查Zabbix主机配置中的SNMP设置,并与设备配置进行核对。在Cisco设备上,您可以通过运行以下命令检查SNMP设置:

show running-config | include snmp

这确保community string(对于SNMPv2)或SNMPv3用户详细信息正确无误。

4. 验证网络设备上正确启用了SNMP。在Cisco路由器上,登录控制台并运行:

show running-config | include snmp

此命令显示活动的SNMP配置,有助于确认SNMP正确配置。

5. 确保没有防火墙或网络问题阻止SNMP流量(通常在端口161)在Zabbix服务器和设备之间传输。您可以使用以下命令测试连通性:

nc -zv <device_IP> 161

nc -zv检查设备上的端口161是否开放并监听。

此外,如果您在Ubuntu上使用UFW,请检查防火墙状态:

sudo ufw status

或者,对于iptables:

sudo iptables -L -n

6. 查看Zabbix服务器日志文件中的任何SNMP相关错误,以帮助定位问题:

tail -f /tmp/zabbix_server.log

tail -f允许您实时监控日志更新。

另请参阅: