要使用Zabbix监控网络交换机或路由器,您需要确保设备支持SNMP(简单网络管理协议),并配置SNMP以允许Zabbix服务器访问。以下步骤概述了如何设置监控:
配置SNMP:在您的网络设备上启用SNMP,并设置适当的社区字符串或用户凭证,以便Zabbix服务器可以读取设备信息。
创建主机:在Zabbix中创建一个新的主机,代表您的网络设备。确保正确设置SNMP接口,包括IP地址、端口、社区字符串或用户信息。
应用模板:为网络设备应用一个预定义的模板,该模板包含监控项、触发器和图表,用于收集和显示关键性能指标(KPIs)。
配置监控项:根据需要,配置监控项以收集特定的性能数据,如端口状态、CPU使用率、内存使用率、错误包计数等。
设置触发器:创建触发器以监控设备的健康状况,例如,当CPU使用率超过阈值时发送告警。
配置图表和仪表盘:设置图表和仪表盘,以可视化设备的性能数据,帮助您监控网络设备的运行状态。
定期检查:定期检查监控数据,确保设备正常运行,并及时响应任何潜在问题。
通过以上步骤,您可以有效地使用Zabbix监控网络交换机或路由器,确保网络设备的稳定性和性能。
本指南将引导您完成使用Zabbix对网络交换机或路由器进行基本监控所需步骤。以Cisco路由器为例,但此程序适用于任何启用SNMP的网络设备。
本指南适用对象
本指南专为Zabbix新用户和希望快速为网络设备启用基本监控的网络管理员设计。如果您需要深度定制或高级配置选项,请参阅SNMP agent页面或Zabbix手册的配置部分。
先决条件
在继续本指南之前,请确保您已具备:
在Ubuntu上安装MIB文件:
1. 安装MIB下载器包:
如果您需要添加特定于供应商的MIB(例如,来自Cisco、Juniper),请将它们放置在相应的MIB目录中:
确保环境变量MIBDIRS或snmp.conf文件包含正确的路径。
要验证系统是否识别新的MIB,请使用:
对于详细说明,请参阅您的SNMP库文档:
2. 编辑 /etc/snmp/snmp.conf
并注释掉以 mibs 开头的行,以允许系统加载所有可用的MIB。 3. 通过运行 snmpwalk
(例如,snmpwalk -v 2c -c <your_community_string> <device_IP>
)并检查OID是否以描述性名称显示来验证。
本指南基于以下设置:
假设您的网络设备已物理安装并连接。
为了通过SNMP进行监控,您必须配置网络设备以允许SNMP查询。下面的示例适用于SNMPv2,并未考虑现有设置。注意:应用这些命令可能会覆盖当前的SNMP配置。
对于Cisco路由器,配置通常涉及以下步骤。
1. 启用SNMP并设置团体字符串。
登录到您的Cisco路由器的控制台并进入配置模式:
然后,启用SNMP通过指定只读团体字符串。例如:
将<your_community_string>
替换为您的安全团体字符串。注意:RO(只读)选项允许SNMP从设备检索数据,但阻止任何配置更改。
出于安全原因,建议将SNMP访问限制为仅必要的设备。有关配置访问控制列表(ACL)的进一步指导,请参阅Cisco的官方文档。
2. 保存配置。
保存您的更改以确保SNMP设置在重启后仍然存在:
SNMPv3 通过身份验证和加密提供了增强的安全性。其配置比 SNMPv2 更安全,应对照您的设备特定文档进行验证。
1. 创建一个 SNMP 组。
配置一个启用了隐私(加密)的 SNMPv3 组:
2. 创建一个 SNMP 用户: 添加一个具有身份验证和隐私功能的 SNMPv3 用户。将占位符替换为您想要的值:
3. 保存配置:
对于更多细节或特定型号的指导,您可以参考外部 Cisco SNMP 配置教程。然而,本指南提供了启用 SNMP 监控的基本步骤。
1. 登录到Zabbix前端。
2. 添加新主机。
导航至 数据收集 > 主机 并点击 创建主机。
3. 链接模板
在 Templates 字段中,选择与您的设备最匹配的SNMP模板。Zabbix提供了许多设备家族的预构建 SNMP模板。例如,如果您正在监控Cisco设备,选择与您的设备操作系统或型号相对应的模板(如Cisco IOS SNMP 或 Cisco Catalyst 3750<设备型号> SNMP)。
4. 点击 添加 以保存主机。
恭喜!Zabbix现已设置完毕,可以监控您的网络设备。
最新数据:
要可视化性能数据,点击SNMP监控项旁边的图表以查看详细指标。
下一步,您可以:
一旦主机设置完毕,您可以创建监控项来监控特定的指标。注意:如果使用模板,这一步是可选的,因为模板中已经包含了默认的监控项集合。
1. 确定SNMP OID:
使用snmpwalk
命令列出设备上的可用OID。例如:
找到您希望监控的指标的OID(例如,IF-MIB::ifHCInOctets.3用于监控端口3的入向流量)。要获取数值OID,您可以使用:
2. 创建SNMP监控项:
cisco.ifHCInOctets.3
)。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。
在处理SNMP时,你可能需要在数值OID和对应的MIB名称之间进行转换。这种转换有助于更轻松地识别和排查指标问题。
将MIB名称转换为数值OID:使用snmptranslate
命令与-On
选项。例如,要将MIB名称IF-MIB::ifHCInOctets.3
转换为其数值OID,运行:
snmptranslate -On IF-MIB::ifHCInOctets.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
此命令可能输出:
本指南提供了发送邮件告警的基本配置步骤。
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. 确认问题已解决,并从问题部分消失。
如果您发现Zabbix前端的SNMP图标显示为红色,或未收集到数据,请尝试以下步骤:
1. 检查SNMP连通性。
对于SNMPv2,请从您的Zabbix服务器运行以下命令:
此命令验证设备是否响应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文件,如先决条件中所述。为此,请确保以下命令在查询网络设备时不会出现错误:
这应返回无错误的已翻译OID。
3. 确认Zabbix中配置的SNMP版本和凭据与设备上设置的相匹配。例如,检查Zabbix主机配置中的SNMP设置,并与设备配置进行核对。在Cisco设备上,您可以通过运行以下命令检查SNMP设置:
这确保community string(对于SNMPv2)或SNMPv3用户详细信息正确无误。
4. 验证网络设备上正确启用了SNMP。在Cisco路由器上,登录控制台并运行:
此命令显示活动的SNMP配置,有助于确认SNMP正确配置。
5. 确保没有防火墙或网络问题阻止SNMP流量(通常在端口161)在Zabbix服务器和设备之间传输。您可以使用以下命令测试连通性:
nc -zv <device_IP> 161
nc -zv
检查设备上的端口161是否开放并监听。
此外,如果您在Ubuntu上使用UFW,请检查防火墙状态:
或者,对于iptables:
6. 查看Zabbix服务器日志文件中的任何SNMP相关错误,以帮助定位问题:
tail -f
允许您实时监控日志更新。
另请参阅: