目錄

簡介

必要條件

需求

採用元件

設定

瞭解SNMP範圍

配置步驟（適用於全域性和VRF上下文範圍）

步驟1.配置SNMP交換矩陣策略

步驟2.將SNMP策略應用於Pod策略組（交換矩陣策略組）

步驟3.將Pod策略組與Pod配置檔案相關聯

步驟4.配置VRF上下文範圍

使用GUI配置SNMP陷阱

步驟1.配置SNMP TRAP伺服器

步驟2.在(Access/Fabric/Tenant)Monitoring Policy下配置SNMP TRAP Source

選項1.在「訪問策略」下定義SNMP源

選項2.在「交換矩陣策略」下定義SNMP源

選項3.在「租戶策略」下定義SNMP源

驗證

使用snmpwalk命令驗證

使用CLI Show命令

使用CLI Moquery命令

使用CLI cat命令

疑難排解

檢查snmpd流程

簡介

本檔案將介紹ACI中簡單網路管理通訊協定(SNMP)和SNMP陷阱的設定。

必要條件

需求

思科建議您瞭解以下主題：

- 交換矩陣發現已完成

- 與您的應用策略基礎設施控制器(APIC)和交換矩陣交換機的帶內/帶外連線

- 已配置為允許SNMP流量的帶內/帶外合約（UDP埠161和162）

- 在預設mgmt租戶下為APIC和交換矩陣交換機配置的靜態節點管理地址（如果不這樣做，從APIC提取SNMP資訊將失敗）

- 瞭解SNMP協定工作流程

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- APIC

- 瀏覽器

- 執行5.2(8e)的以應用程式為中心的基礎架構(ACI)

- Snmpwalk  指令

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

設定

Cisco 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)環境

Global Scope用於獲取機箱MIB，例如枝葉/主幹節點的介面數、介面索引、介面名稱、介面狀態等。

VRF情景範圍特定MIB提取特定於VRF的資訊，例如IP地址和路由協定資訊。

Cisco 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策略或修改預設SNMP策略。

在文檔中，SNMP策略稱為New-SNMP，使用SNMP版本v2c，因此此處需要的欄位只有Community Policies和Client Group Policies。

Community Policy Name欄位定義要使用的SNMP社群字串。在我們的例子中，New-1。您會看到這兩個社群字串後面的內容。

Name - SNMP策略的名稱。此名稱可以是1到64個字母數字字元。

說明- SNMP策略的說明。說明可以是0到128個字母數字字元。

Admin State - SNMP策略的管理狀態。可以啟用或禁用該狀態。這些狀態包括：

- enabled — 管理員狀態已啟用

- disabled — 管理員狀態已禁用

預設值為disabled。

聯絡人- SNMP策略的聯絡人資訊。

位置- SNMP策略的位置。

SNMP v3使用者 — SNMP使用者配置檔案用於將使用者與SNMP策略相關聯，用於監控網路中的裝置。

社群策略 — SNMP社群配置檔案允許訪問路由器或交換機統計資訊以進行監控。

客戶端組策略：

下一步是新增客戶端組策略/配置檔案。客戶端組策略/配置檔案的目的是定義哪些IP/子網能夠從APIC和交換矩陣交換機提取SNMP資料：

名稱 — 客戶端組配置檔案的名稱。此名稱可以是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，只需將客戶端條目保留為空）。

步驟2.將SNMP策略應用於Pod策略組（交換矩陣策略組）

要應用此配置，請導航至APIC Web GUI路徑；Fabric > Fabric Policies > Pods > Policy Groups > POD_POLICY_GROUP（文檔中的預設值）。

在右側窗格中，您會看到SNMP Policy的欄位。從下拉選單中，選擇您新建立的SNMP策略，然後提交您所做的更改。

步驟3.將Pod策略組與Pod配置檔案相關聯

在文檔中，使用預設Pod配置檔案以簡化操作。為此，請導航至APIC Web GUI路徑；Fabric > Fabric Policies > Pods > Profiles > POD_PROFILE（文檔中的預設值）。

在此階段，為全域性MIB配置基本SNMP。

附註：此時，SNMP配置的所有必要步驟（步驟1-3）都已完成，並且已隱式使用全域性MIB範圍。這允許為任何ACI節點或APIC執行SNMP漫遊。

步驟4.配置VRF上下文範圍

一旦將社群字串與VRF上下文相關聯，該特定社群字串就不能用於提取全域性範圍SNMP資料。因此，如果您希望提取全域性範圍和VRF上下文SNMP資料，則需要建立兩個SNMP社群字串。

在本例中，先前建立的社群字串（在步驟1中），即(New-1)，在範例自訂租戶中將New-1用於VRF內容範圍和VRF-1自訂VRF。為此，請導航至APIC Web GUI路徑；Tenants > Example > Networking > VRFs > VRF-1 (right click) > Create SNMP Context。

提交配置後，您可以通過左鍵按一下VRF，導航到VRF上的Policy頁籤並向下滾動窗格底部來驗證應用的SNMP上下文配置：

若要在VRF上停用SNMP情景，您可以取消選中Create SNMP Context覈取方塊（顯示在螢幕截圖中），或者按一下右鍵VRF並選擇Delete SNMP Context。

使用GUI配置SNMP陷阱

SNMP陷阱被傳送到SNMP伺服器(SNMP目標/網路管理系統(NMS))而不進行輪詢，一旦發生故障/事件（定義的條件），ACI節點/APIC就會傳送SNMP陷阱。

SNMP陷阱基於接入/交換矩陣/租戶監視策略下的策略範圍啟用。ACI最多支持10個陷阱接收器。

附註：如果沒有上一節中的步驟1-3,SNMP TRAPs配置是不夠的。步驟2.在SNMP TRAP配置中，與（接入/交換矩陣/租戶）的監控策略相關。

要在ACI中配置SNMP陷阱，除了上一節中的步驟1、2和3外，還需要兩個步驟。

步驟1.配置SNMP TRAP伺服器

為此，請導航至APIC Web GUI路徑；Admin > Eternal Data Collectors > Monitoring Destinations > SNMP。

主機名/IP - SNMP陷阱目標的主機。

連線埠 - SNMP陷阱目的地的服務連線埠。範圍為0（未指定）至65535;預設值為162。

版本 — SNMP陷阱目標支援的CDP版本。版本可以是：

- v1 — 使用社群字串匹配進行使用者驗證。

- v2c — 使用社群字串匹配進行使用者驗證。

- v3 — 用於網路管理的基於標準的可互操作協定，通過結合驗證和加密網路上的幀，提供對裝置的安全訪問。

預設值為v2c。

安全名稱- SNMP陷阱目標安全名稱（社群名稱）。 它不能包含@符號。

v.3安全級別 — SNMP目標路徑的SNMPv3安全級別。級別可以是：

- auth

- noauth

- priv

預設值為noauth。

管理EPG — 可訪問遠端主機的SNMP目標的管理終結點組的名稱。

步驟2.在(Access/Fabric/Tenant)Monitoring Policy下配置SNMP TRAP Source

您可以使用三個作用域建立監視策略：

- 接入 — 接入埠、FEX、VM控制器

- 交換矩陣 — 交換矩陣埠、卡、機箱、風扇

- 租戶 — EPG、應用配置檔案、服務

附註：您可以根據自己的需要選擇任意一個或任意組合，以進行配置。

選項1.在「訪問策略」下定義SNMP源

為此，請導覽至APIC Web GUI路徑；Fabric > Access Polices > Polices >  Monitoring > Default > Callhome/Smart Callhome/SNMP/Syslog/TACACS.

附註：您可以使用自定義的監視策略（如果已配置）而不是預設監視策略，請在此處使用預設監視策略。您可以指定要監視的監視對象；都在這裡使用。

選項2.在「交換矩陣策略」下定義SNMP源

為此，請導覽至APIC Web GUI路徑；Fabric > Fabric Polices > Polices >  Monitoring > Default > Callhome/Smart Callhome/SNMP/Syslog/TACACS.

選項3.在「租戶策略」下定義SNMP源

為此，請導覽至APIC Web GUI路徑；Tenant > (Tenant Name) > Polices > Monitoring > (Custom monitoring policy) > Callhome/Smart Callhome/SNMP/Syslog/TACACS.

驗證

使用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繼續，您將看到硬體介面名稱、說明等。

現在，繼續檢索VRF上下文SNMP資料、以前建立的SNMP上下文、使用SNMP社群字串New-1的VRF的新VRF-SNMP。

由於在兩個不同的SNMP上下文中使用相同的社群字串New-1，您必須指定要從哪個SNMP上下文中提取SNMP資料。您需要使用snmpwalk語法來指定特定的SNMP上下文；snmpwalk -v 2c -c New-1@New-VrF-SNMP 10.x.x.x.

您可以看到，要從特定SNMP情景中提取，請使用以下格式： .

使用CLI Show命令

在APIC上：

show snmp

show snmp policy

show snmp summary

show snmp clientgroups

show snmp community

show snmp hosts

show snmp engineid

在Switch:

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/Switch:

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流程

在Switch:

ps aux | grep snmp

pidof snmpd

在APIC上：

ps aux | grep snmp

如果該過程正常，請聯絡Cisco TAC以獲得更多幫助。