简介
本文档介绍ACI中简单网络管理协议(SNMP)和SNMP陷阱的配置。
先决条件
要求
Cisco 建议您了解以下主题:
- 交换矩阵发现已完成
- 与应用策略基础设施控制器(APIC)和交换矩阵交换机的带内/带外连接
- 配置允许SNMP流量的带内/带外合同(UDP端口161和162)
- 在默认管理租户下,为您的APIC和交换矩阵交换机配置的静态节点管理地址(如果没有此地址,从APIC提取SNMP信息失败)
- 了解SNMP协议工作流程
使用的组件
本文档中的信息基于以下软件和硬件版本:
- APIC
- 浏览器
- 运行5.2 (8e)的以应用为中心的基础设施(ACI)
Snmpwalk 命令
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
配置
思科ACI提供SNMPv1、v2c和v3支持,包括管理信息库(MIB)和通知(陷阱)。SNMP标准允许支持不同MIB的任何第三方应用管理和监控ACI枝叶和主干交换机以及APIC控制器。
但是,ACI不支持SNMP写入命令(Set)。
SNMP策略在枝叶和主干交换机上独立应用并运行,同时独立于APIC控制器。由于每个ACI设备都有自己的SNMP实体,即APIC集群中的多个APIC必须与交换机分开监控。不过,SNMP策略源是作为整个ACI交换矩阵的监控策略创建的。
默认情况下,SNMP使用UDP 端口161 进行轮询,使用162 端口进行TRAP。
了解SNMP范围
ACI中SNMP的一个简单基本概念是可以从两个范围内提取SNMP信息:
1. 全球
2. 虚拟路由和转发(VRF)情景
全局范围是提取机箱MIB,如枝叶/主干节点的接口数、接口索引、接口名称、接口状态等。
VRF情景范围特定MIB提取特定于VRF的信息,例如IP地址和路由协议信息。
思科ACI MIB支持列表中提供了支持的APIC和交换矩阵交换机全局和VRF情景MIB的完整列表。
注意:具有全局范围的MIB在系统中只有一个实例。全局MIB中的数据与整个系统相关。
具有VRF特定范围的MIB可以在系统中具有每个VRF实例。VRF特定MIB中的数据仅与该VRF相关。
配置步骤(适用于全局和VRF情景范围)
步骤1:配置SNMP交换矩阵策略
注意:此处指定SNMP设置,例如SNMP社区策略和SNMP客户端组策略。
配置SNMP的第一步是创建必要的SNMP交换矩阵策略。要创建SNMP交换矩阵策略,请导航到APIC Web GUI路径;Fabric > Fabric Policies > Policies > Pod > SNMP。
![添加SNMP策略1](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-00.png)
您可以创建新的SNMP策略或修改默认SNMP策略。
在本文档中,SNMP策略称为New-SNMP,使用SNMP v2c版,因此此处需要的字段只有“Community Policies”和“Client Group Policies”。
Community Policy Name字段定义要使用的SNMP社区字符串。在我们的例子中,New-1。您会看到这两个团体字符串稍后会出现在何处。
![添加SNMP策略2](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-01.png)
名称- SNMP策略的名称。此名称可以是1到64个字母数字字符。
说明- SNMP策略的说明。说明可以是0到128个字母数字字符。
管理状态- SNMP策略的管理状态。该状态可以是启用或禁用。这些状态包括:
-
已启用-管理状态已启用
-
disabled -管理状态已禁用
默认值为disabled。
Contact - SNMP策略的联系人信息。
Location - SNMP策略的位置。
SNMP v3用户 - SNMP用户配置文件用于将用户与用于监控网络设备的SNMP策略相关联。
社区策略- SNMP社区配置文件允许访问路由器或交换机统计数据进行监控。
客户端组策略:
下一步是添加客户端组策略/配置文件。客户端组策略/配置文件的目的是定义哪些IP/子网能够从APIC和交换矩阵交换机获取SNMP数据:
![添加SNMP策略3](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-02.png)
Name - 客户端组配置文件的名称。此名称可以是1到64个字母数字字符。
Description - 客户端组配置文件的说明。说明可以是0到128个字母数字字符。
关联管理终端组(EPG) - 通过其可访问VRF的终端组的可分辨名称。支持的最大字符串长度为255个ASCII字符。默认为管理租户带外管理访问EPG。
客户端条目- SNMP客户端配置文件IP地址。
在本文档中,客户端组策略/配置文件称为New-Client。
在客户端组策略/配置文件中,必须关联首选管理EPG。您必须确保您选择的管理EPG具有允许SNMP流量(UDP端口161和162)的必要合同。本文档中使用默认带外管理EPG进行演示。
最后一步是定义客户端条目,以便允许特定IP或整个子网访问提取ACI SNMP数据。有定义特定IP或整个子网的语法:
- 特定主机IP:192.168.1.5
- 整个子网:192.168.1.0/24
注意:不能在客户端条目中使用0.0.0.0来允许所有子网(如果要允许所有子网访问SNMP MIB,只需将客户端条目留空)。
第二步:将SNMP策略应用于Pod策略组(交换矩阵策略组)
要应用此配置,请导航到APIC Web GUI路径;Fabric > Fabric Policies > Pods > Policy Groups > POD_POLICY_GROUP(文档中的默认值)。
![应用SNMP策略](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-03.png)
在右侧窗格中,您将看到SNMP Policy字段。从下拉列表中,选择新创建的SNMP策略并提交更改。
第三步:将Pod策略组与Pod配置文件关联
为简单起见,在本文档中使用默认 Pod配置文件。为此,请导航至APIC Web GUI路径;Fabric > Fabric Policies > Pods > Profiles > POD_PROFILE(文档中的默认值)。
![应用交换矩阵策略](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-04.png)
在此阶段,配置全局MIB的基本SNMP。
注意:此时,SNMP配置的所有必要步骤(步骤1-3)均已完成,并且已隐式使用全局MIB范围。 这允许为任何ACI节点或APIC执行SNMP漫游。
第四步:配置VRF情景范围
一旦将社区字符串关联到VRF情景,该特定社区字符串将无法用于提取全局范围SNMP数据。因此,如果您希望提取全局范围和VRF情景SNMP数据,则需要创建两个SNMP社区字符串。
在这种情况下,之前创建的社区字符串(在步骤1.中)即(New-1),在VRF情景范围中使用New-1,在Example自定义租户中使用VRF-1自定义VRF。为此,请导航到APIC Web GUI路径;Tenants > Example > Networking > VRFs > VRF-1 (right click) > Create SNMP Context 。
![创建VRF SNMP情景1](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-05.png)
![创建VRF SNMP情景2](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-06.png)
提交配置后,您可以验证应用的SNMP情景配置,方法是左键点击VRF,导航到VRF上的Policy选项卡,然后向下滚动到窗格底部:
![验证VRF SNMP情景](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-07.png)
为了在VRF上禁用SNMP情景,您可以取消选中Create SNMP Context复选框(显示在屏幕截图中),或者右键单击VRF并选择Delete SNMP Context。
使用GUI配置SNMP陷阱
SNMP TRAP不通过轮询发送到SNMP服务器(SNMP目标/网络管理系统(NMS)),一旦发生故障/事件(定义的条件),ACI节点/APIC就会发送SNMP TRAP。
SNMP陷阱根据访问/交换矩阵/租户监控策略下的策略范围启用。 ACI最多支持10个Trap接收器。
注意:如果没有上一节中的步骤1-3,SNMP TRAP配置是不够的。第2步:在SNMP TRAP配置中,与(接入/交换矩阵/租户)的监控策略相关。
要在ACI中配置SNMP TRAP,除上一部分中的步骤1、2和3之外,您还需要执行两个步骤。
步骤1:配置SNMP TRAP服务器
为此,请导航到APIC Web GUI路径;Admin > Eternal Data Collectors > Monitoring Destinations > SNMP。
![创建SNMP陷阱服务器1](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-08.png)
![创建SNMP陷阱服务器2](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-09.png)
![创建SNMP陷阱服务器3](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-10.png)
![创建SNMP陷阱服务器4](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-11.png)
Host Name/IP - SNMP陷阱目标的主机。
Port - SNMP陷阱目标的服务端口。范围为0(未指定)到65535;默认值为162。
版本- SNMP陷阱目标支持的CDP版本。版本可以是:
-
v1 - 使用社区字符串匹配进行用户身份验证。
-
v2c - 使用社区字符串匹配进行用户身份验证。
-
v3 -基于标准的可互操作网络管理协议,通过结合使用身份验证和加密网络上的帧,为设备提供安全访问。
默认值为v2c。
安全名称- SNMP陷阱目标安全名称(社区名称)。它不能包含@符号。
v.3安全级别- SNMP目标路径的SNMPv3安全级别。级别可以是:
默认值为noauth。
管理EPG - 通过其可到达远程主机的SNMP目标的管理终端组的名称。
第二步:在(访问/交换矩阵/租户)监控策略下配置SNMP TRAP源
您可以使用以下三个范围创建监控策略:
- 接入-接入端口、FEX、VM控制器
- 交换矩阵-交换矩阵端口、卡、机箱、风扇
注意:您可以根据需要选择其中任意一项或多项进行配置。
第 1 项.在Access Policies下定义SNMP源
为此,请导航到APIC Web GUI路径;Fabric > Access Polices > Polices > Monitoring > Default > Callhome/Smart Callhome/SNMP/Syslog/TACACS。
![应用访问陷阱](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-12.png)
注意:您可以使用自定义监控策略(如果已配置)而不是默认策略,请在此处使用默认策略。 可以指定要监控的监控对象;所有对象均在此处使用。
第 2 项.在交换矩阵策略下定义SNMP源
为此,请导航到APIC Web GUI路径;Fabric > Fabric Polices > Polices > Monitoring > Default > Callhome/Smart Callhome/SNMP/Syslog/TACACS。
![应用交换矩阵陷阱](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-13.png)
选项 3.在“租户策略”(Tenant Policies)下定义SNMP源
为此,请导航到APIC Web GUI路径;Tenant > (Tenant Name) > Polices > Monitoring > (Custom monitoring policy) > Callhome/Smart Callhome/SNMP/Syslog/TACACS。
![应用租户陷阱](/c/dam/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/221836-configure-snmp-in-aci-14.png)
验证
使用snmpwalk命令进行验证
首先,查看从枝叶交换机的全局范围提取SNMP数据。使用snmpwalk命令可以做到这一点;snmpwalk -v 2c -c New-1 x.x.x.x。
snmpwalk =安装在MacOS/Linux/Windows上的snmpwalk可执行文件
-v =指定要使用的SNMP版本
2c=指定使用SNMP版本2c
-c=指定特定社区字符串
New-1=社区字符串用于提取全局范围SNMP数据
x.x.x.x=我的枝叶交换机的带外管理IP地址
命令结果:
$ snmpwalk -v 2c -c New-1 x.x.x.x SNMPv2-MIB::sysDescr.0 = STRING: Cisco NX-OS(tm) aci, Software (aci-n9000-system), Version 15.2(8e), RELEASE SOFTWARE Copyright (c) 2002-2015 by Cisco Systems, Inc. Compiled 2018/07/26 09:34:42 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.12.3.1.3.1626 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (45013216) 5 days, 5:02:12.16 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: leaf1 SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 70 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (3) 0:00:00.03 SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.2 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.5 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module for SNMPv2 entities SNMPv2-MIB::sysORDescr.2 = STRING: View-based Access Control Model for SNMP. SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB. SNMPv2-MIB::sysORDescr.4 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.5 = STRING: The management information definitions for the SNMP User-based Security Model.
在截取的命令输出中,您可以看到snmpwalk是成功的,并且提取了特定于硬件的信息。如果让snmpwalk继续,您将看到硬件接口名称、说明等等。
现在,使用SNMP社区字符串New-1继续检索VRF情景SNMP数据、以前创建的SNMP情景New-VRF-SNMP。
由于在两个不同的SNMP上下文中使用相同的社区字符串New-1,您必须指定希望从中提取SNMP数据的SNMP上下文。有些snmpwalk语法需要用来指定特定SNMP上下文;snmpwalk -v 2c -c New-1@New-VrF-SNMP 10.x.x.x。
您可以看到,要从特定SNMP情景中提取,可以使用以下格式: COMMUNITY_NAME_HERE@SNMP_CONTEXT_NAME_HERE .
使用CLI Show命令
在APIC上:
show snmp show snmp policy <SNMP_policy_name> show snmp summary show snmp clientgroups show snmp community show snmp hosts show snmp engineid
在交换机上:
show snmp show snmp | grep "SNMP packets" show snmp summary show snmp community show snmp host show snmp engineID show snmp context show snmp user show snmp internal dump-internal-log show snmp internal globals show snmp internal trace log
使用CLI Moquery命令
在APIC/交换机上:
moquery -c snmpGroup #The SNMP destination group, which contains information needed to send traps or informs to a set of destinations. moquery -c snmpTrapDest #A destination to which traps and informs are sent. moquery -c snmpRtDestGroup #A target relation to SNMP destination group. This group contains information needed to send traps or informs to a set of destinations. moquery -c snmpPol #The SNMP policy, which enables you to monitor client group, v3 user, and/or community SNMP policies. moquery -c snmpClientGrpP #A client group, which is a group of client IP addresses that allows SNMP access to routers or switches. moquery -c snmpCommunityP #The SNMP community profile, which enables access to the router or switch statistics for monitoring. moquery -c snmpRtSnmpPol #A target relation to an SNMP policy that contains site information and general protocol configuration parameters. Note that this relation is an internal object. moquery -c snmpClientP #The client profile information. moquery -c snmpRsEpg #A source relation to the endpoint group VRF through which the clients can connect. The VRF is an in-band or out of-band management endpoint. moquery -c snmpSrc #The SNMP source profile, which determines the fault information, severity level, and destination for sending messages to the SNMP destination. moquery -c snmpCtxP #The SNMP context profile, which enables you to specify a context to monitor with a community profile.
使用CLI cat命令
在APIC上:
cat /aci/tenants/mgmt/security-policies/out-of-band-contracts/summary cat /aci/tenants/mgmt/security-policies/filters/summary cat /aci/tenants/mgmt/node-management-epgs/default/out-of-band/default/summary cat /aci/admin/external-data-collectors/monitoring-destinations/snmp/*/snmp-trap-destinations/summary cat /aci/fabric/fabric-policies/pod-policies/policies/snmp/summary cat /aci/fabric/fabric-policies/pod-policies/policies/snmp/*/summary cat /aci/fabric/fabric-policies/pod-policies/policies/snmp/*/client-group-policies/*/*/summary cat /aci/fabric/fabric-policies/pod-policies/policy-groups/summary cat /aci/fabric/fabric-policies/pod-policies/pod-selector-default-all/summary cat /aci/fabric/fabric-policies/monitoring-policies/monitoring-policy-default/callhome-snmp-syslog/all/snmp*/summary cat /aci/fabric/fabric-policies/monitoring-policies/common-policy/callhome-snmp-syslog/snmp/*/summary cat /aci/fabric/access-policies/monitoring-policies/default/callhome-snmp-syslog/all/snmp*/summary
故障排除
检查snmpd进程
在交换机上:
ps aux | grep snmp pidof snmpd
在APIC上:
ps aux | grep snmp
如果此过程正常,请联系思科TAC获取更多帮助。