简介
本文档介绍如何从量子策略套件(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
目录。要查找正确的目录,请执行以下操作:
-
使用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
-
查看服务器文件后,您可以找到包含特定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上)执行这些步骤。
- 使用以下命令确保snmpd进程在各自的VM上正常工作:
service snmpd status
- 如果snmpd服务已停止,请使用以下命令启动该服务:
service snmpd start
- 确保iptables已关闭,并检查UDP端口162的状态(如果NMS也使用UDP端口162)。
- 使用命令,确保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
包含共享二进制文件和应用程序的运行时库。
- 输入
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
- 为了确保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。
- 确保
snmpd.conf
文件包含行 rocommunity Broadhop
使用以下命令: cat /etc/snmp/snmpd.conf
此行是必需的,因为从各种QNS VM到活动负载均衡器VM的所有内部陷阱都通过默认社区名称发送 Broadhop
.
- 检查以确保负载均衡器和外部NMS系统在命令中使用相同的陷阱社区名称:
/etc/snmp/scripts/snmp_communities
例如,确保负载均衡器和外部NMS系统都使用 trap_community=Cisco
.
- 查看
/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
- 捕获日志
/var/log/messages
并查找与SNMP相关的任何错误消息。