目录

简介

先决条件

要求

使用的组件

背景信息

SNMP架构

SNMP配置文件

XML文件

MIB文件

排除SNMP故障的基本步骤

简介

本文档介绍如何从量子策略套件(QPS)的角度对简单网络管理协议(SNMP)框架架构进行故障排除。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于QPS 5.5版及更高版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

SNMP架构

每个虚拟机(VM)运行一个“snmpd”进程。QPS中的VM生成的警报或陷阱通过主动负载均衡器（如lbvip01或lbvip02）转发到用户网络管理系统(NMS)。

- lbvip01 将SNMP陷阱发送到外部NMS服务器以进行外部通信。高QPS可用性心跳可确保 lbvip01始终可用，在负载均衡器VM上 lb01 或 lb02.

- lbvip02 由所有VM使用(例如 lb01x, qns0x, portal0x等等)，以便将SNMP陷阱发送到主动负载均衡器以进行内部通信。

- lbvip01 和 lbvip02 上的IP地址 lb01和 lb02 位于 /etc/hosts 文件.

- 162 是用于SNMP陷阱消息的默认UDP端口。

- Broadhop 是访问框架的默认SNMP社区字符串。

SNMP配置文件

负载均衡器VM上有四个重要的QPS 5.5版SNMP配置文件或脚本：

- /etc/snmp/snmpd.conf 用于IP地址和端口配置。“snmp”服务每分钟轮询虚拟机以获取此文件中配置的值。文件将版本2陷阱发送到 lbvip02 通过线路： trap2sink lbvip02 broadhop.

- /etc/snmp/scripts/snmp_communities 定义与外部NMS系统通信的SNMP社区名称，例如， trap_community=Cisco.

- /etc/snmp/scripts/component_trap_conver 将陷阱转换为BROADHOP-NOTIFICATION MIB中定义的Quantum Network Suite(QNS)陷阱，并将其发送到外部用户NMS IP地址。

- /etc/snmp/snmptrapd.conf 是Net-SNMP通知接收方配置文件，使用一个或多个配置文件控制其运行以及必须如何处理接收的陷阱。文件将实际陷阱发送到外部NMS系统通过  lbvip0.

XML文件

策略和更改规则功能(PCRF)客户端虚拟机（例如pcrfclient01和pcrfclient02）包含三个与QPS版本5.5 SNMP配置相关的XML文件：

- attributes.xml 包含SNMP对象标识符(OID)与包含该值的Java管理扩展(JMX)javabean或属性之间的映射。

- managers.xml 列出接收SNMP陷阱的远程主机。

- notifications.xml 列出可以发送的SNMP陷阱，其中包含属性到OID的映射。

三个XML文件位于 /etc/broadhop/

/snmp

目录。要查找正确的目录，请执行以下操作：

1. 使用cat实用程序在PCRF客户端虚拟机中查找正确的服务器文件。

cat /etc/broadhop/servers

示例输出：

lb01=iomanager01

lb02=iomanager02

qns01=pcrf_A

qns01=pcrf_A

qns02=pcrf_A

qns02=pcrf_A

qns03=pcrf_B

qns03=pcrf_B

qns04=pcrf_B

qns03=pcrf_B

qns04=pcrf_B

pcrfclient01=controlcenter

pcrfclient01=pb

pcrfclient02=controlcenter

pcrfclient02=pb

2. 查看服务器文件后，您可以找到包含特定VM的三个XML文件的目录，如下所示：

/etc/broadhop/pcrf_A/snmp

/etc/broadhop/pcrf_B/snmp

/etc/broadhop/pb/snmp

/etc/broadhop/controlcenter/snmp

/etc/broadhop/iomanager01/snmp

/etc/broadhop/iomanager02/snmp

MIB文件

SNMP使用的MIB位于 /etc/snmp/mibs  目录。

- BROADHOP-QNS-MIB.mib 定义可检索统计数据和关键绩效指标(KPI)。

- BROADHOP-NOTIFICATION-MIB.mib 定义可用的通知和陷阱。

排除SNMP故障的基本步骤

在主用负载均衡器虚拟机上（在lb01或lb02上）执行这些步骤。

1. 使用以下命令确保snmpd进程在各自的VM上正常工作：
service snmpd status

2. 如果snmpd服务已停止，请使用以下命令启动该服务：
service snmpd start

3. 确保iptables已关闭，并检查UDP端口162的状态（如果NMS也使用UDP端口162）。

4. 使用命令，确保SNMP的Red Hat Package Manager(RPM)版本相同：
rpm –qa | grep snmp

所有版本5.3.2.2的输出示例：

net-snmp-5.3.2.2-17.el5

net-snmp-utils-5.3.2.2-17.el5

net-snmp-libs-5.3.2.2-17.el5

- net-snmp 是部署SNMP所需的软件包。

- net-snmp-utils 是一个软件包，包含各种用于NET-SNMP的实用程序，并且是运行使用SNMP协议管理网络的实用程序所必需的。

- net-snmp-libs 包含共享二进制文件和应用程序的运行时库。

5. 输入 rpm-qi 命令查看RPM的详细信息。
命令示例：

rpm -qi net-snmp-5.3.2.2-17.el5

rpm -qi net-snmp-utils-5.3.2.2-17.el5

rpm -qi net-snmp-libs-5.3.2.2-17.el5

6. 为了确保QPS将SNMP陷阱发送到相应的NMS，请检查外部NMS IP是否已在以下位置中的负载均衡器VM中定义 /etc/hosts 和 /etc/snmp/scripts/ component_trap_convert 使用以下命令：
grep 'corporate_nms_ip'

注：其中“corporate_nms_ip”是NMS IP，例如10.106.74.10。

7. 确保snmpd.conf 文件包含行 rocommunity Broadhop 使用以下命令：
cat /etc/snmp/snmpd.conf

此行是必需的，因为从各种QNS VM到活动负载均衡器VM的所有内部陷阱都通过默认社区名称发送 Broadhop.

8. 检查以确保负载均衡器和外部NMS系统在命令中使用相同的陷阱社区名称：
/etc/snmp/scripts/snmp_communities

例如，确保负载均衡器和外部NMS系统都使用 trap_community=Cisco .

9. 查看 /var/log/snmp/trap 以确保来自相应QNS VM的陷阱已正确到达活动负载均衡器VM。
陷阱日志文件示例：

Jun 15 04:02:16 AIO-POD1 snmpd[3754]: Received SNMP packet(s) from UDP: [127.0.0.1]

:56568

Jun 15 04:02:16 AIO-POD1 snmpd[3754]: Connection from UDP: [127.0.0.1]:48071

Jun 15 04:02:14 AIO-POD1 snmptrapd[3769]: 2014-06-15 04:02:14 AIO-POD1.cisco.com

[10.106.74.34] (via UDP: [127.0.0.1]:39334) TRAP, SNMP v1, community broadhop

NET-SNMP-MIB::netSnmpNotificationPrefix Enterprise Specific Trap (NET-SNMP-AGENT-MIB

::nsNotifyRestart) Uptime: 62 days, 5:04:42.43

10. 捕获日志 /var/log/messages 并查找与SNMP相关的任何错误消息。