本指南将引导您完成使用 Zabbix 开始对网络交换机或路由器进行基本监控所需的步骤。我们以 Cisco 路由器为例,但该流程适用于任何启用 SNMP 的网络设备。
本指南适用对象
本指南面向希望快速为网络设备启用基本监控功能的新 Zabbix 用户和网络管理员。如果您需要深度定制或高级配置选项,请参阅 Zabbix 手册中的 SNMP agent 页面或 Configuration 章节。
前提条件
在开始本指南之前,请确保您已完成以下准备:
在 Ubuntu 上安装 MIB 文件:
1. 安装 MIB 下载器包:
如果您需要添加厂商特定的 MIB 文件(例如来自 Cisco 或 Juniper 的 MIB 文件),请将它们放置在适当的 MIB 目录中:
请确保 MIBDIRS 环境变量或 snmp.conf file 包含正确的路径。
要验证系统是否识别新的 MIB 文件,请使用以下命令:
如需详细说明,请参阅您的 SNMP 库文档:
2. 编辑 /etc/snmp/snmp.conf
文件,并注释掉以 mibs : 开头的行,以允许系统加载所有可用的 MIB 文件。 3. 通过运行一个 snmpwalk
命令(例如 snmpwalk -v 2c -c <your_community_string> <device_IP>
)进行验证,并检查 OID 是否以描述性名称显示。
本指南基于以下设置:
假设您的网络设备已经物理安装并连接。
通过 SNMP 进行监控时,必须配置网络设备以允许 SNMP queries。以下示例适用于 SNMPv2,并未考虑现有设置。注意:应用这些命令可能会覆盖当前的 SNMP 配置。
对于 Cisco 路由器,配置通常包括以下步骤。
1。启用 SNMP 并设置团体 string。
通过 Log in 连接到 Cisco 路由器的控制台并进入配置模式:
然后,通过指定只读团体 string 来 enable SNMP。例如:
将 <your_community_string>
替换为您的安全团体 string。注意:RO(只读)选项允许 SNMP 从设备检索数据,但防止任何配置更改。
出于安全原因,建议仅允许必要的设备访问 SNMP。有关配置访问控制列表(ACL)的更多指导,请参考 Cisco's official documentation。
2。保存配置。
保存更改以确保 SNMP 设置在重启后仍然有效:
SNMPv3 通过身份验证和加密提供了增强的安全性。其配置比 SNMPv2 更安全,应根据设备特定的文档进行验证。
1. 创建 SNMP 组。
配置启用了隐私(加密)的 SNMPv3 组:
2. 创建 SNMP 用户: 添加具有身份验证和隐私的 SNMPv3 用户。将占位符替换为所需的值:
3. 保存配置:
有关更多详细信息或特定型号的说明,您可以参考外部 Cisco SNMP configuration tutorials。不过,本指南提供了启用 SNMP 监控的基本步骤。
1.登录到 Zabbix 前端。
2.添加新的 主机。
导航至 数据采集 > 主机,并点击 创建 主机。
3.关联模板
在 模板 字段中,选择最适合您设备的 SNMP 模板。Zabbix 提供了许多预置的 设备,适用于多种设备系列。例如,如果您正在监控 Cisco 设备,请选择与设备操作系统或型号相对应的模板(如 Cisco IOS SNMP 或 Cisco Catalyst 3750<device model> SNMP)。
4.点击 添加 以保存 主机。
恭喜!Zabbix 现在已配置为监控您的网络设备。
最新数据:
要可视化性能数据,请点击 SNMP 监控项 旁边的 Graphs(图表)以查看详细指标。
下一步您可以:
{HEADER_45292801}
一旦设置了主机,您就可以create 监控项以监控特定指标。注意:如果您使用的是模板,则此步骤是可选的,因为模板已经包含默认的监控项集合。
1. 确定 SNMP OID:
使用 snmpwalk
命令列出设备上的可用 OID。例如:
查找您希望监控的指标的 OID(例如,IF-MIB::ifHCInOctets.3 表示端口 3 的入站流量)。要get 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。导航到 User settings > Profile,切换到 媒介 标签页,然后单击 添加用户。
2。按照 Receiving a problem notification 的指南进行操作。
下次当 Zabbix 检测到问题时,您应该会通过电子邮件接收到警报。
为确保 Zabbix 能正确检测网络性能 问题,可通过增加 ICMP ping 响应时间阈值来模拟真实问题。
1. 在 Zabbix 中打开你的 "Cisco Router" 主机 配置。
2. 转到 Macros 标签页,并选择 Inherited and 主机宏。
3. 找到 {$ICMP_RESPONSE_TIME_WARN}
宏(或类似的响应时间阈值宏)。
4. 设置一个非常低的值(例如 0.001),当 ping 响应时间超过该值时将触发告警。
5. 点击 Update 以应用更改。
6. 等待片刻,让 Zabbix 检测模拟的 问题。
7. 转到 Monitoring > Problems 以确认告警是否出现(例如,“High ICMP ping response time”)。
如果已配置告警,你也应当收到问题告警。
8. 将宏值恢复为原始设置,并点击 Update 保存更改。
9. 确认问题已解决,并且已从 Problems 部分消失。
如果你注意到 Zabbix 前端中的 SNMP 图标显示为红色,或者未收集到数据,请尝试以下步骤:
对于 SNMPv2 run,请使用来自您的 Zabbix server 的以下命令:
此命令验证设备是否响应SNMP queries。
对于SNMPv3,包含适当的SNMPv3凭据:
snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .
这验证了SNMPv3凭据的正确性,并且设备正在安全地响应。
2。确保按照前提条件中的说明安装并启用了MIB文件。为确保这一点,在query网络设备时,以下命令不得出现错误:
这应该返回翻译后的OID而不会出现错误。
3。确认在 Zabbix 中配置的 SNMP version 和凭据与设备上设置的一致。例如,查看 Zabbix 主机 配置中的 SNMP 设置,并将其与设备的配置进行核对。在 Cisco 设备上,您可以通过运行以下命令来检查 SNMP 设置:
这确保了社区 string(针对 SNMPv2)或 SNMPv3 用户详情是正确的。
4。验证网络设备上是否已正确启用 SNMP。在 Cisco 路由器上,登录到控制台并运行以下命令:
此命令显示活动的 SNMP 配置,并帮助确认 SNMP 是否已正确配置。
5。确保没有防火墙或网络问题在Zabbix server与设备之间阻止 SNMP 流量(通常使用端口 161)。您可以使用以下命令测试连接性:
nc -zv <device_IP> 161
nc -zv
检查设备上端口 161 是否处于开放并监听状态。
此外,如果您在Ubuntu上使用UFW,请检查防火墙状态:
sudo ufw status
或者,对于 iptables:
sudo iptables -L -n
6。查看 Zabbix server 日志文件中的任何与 SNMP 相关的错误,以帮助定位 问题:
```bash
tail -f /tmp/zabbix_server.log
tail -f
允许您实时监控日志更新。
参见: