はじめに
このドキュメントでは、ACIでのSimple Network Management Protocol(SNMP)およびSNMPトラップの設定について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- ファブリック検出が完了しました
- Application Policy Infrastructure Controller(APIC)およびファブリックスイッチへのインバンド/アウトオブバンド接続
- SNMPトラフィックを許可するように設定されたインバンド/アウトオブバンド(UDPポート161および162)
- デフォルトの管理テナントの下でAPICとファブリックスイッチに設定されたスタティックノード管理アドレス(これがないと、APICからのSNMP情報の取得に失敗します)
- SNMPプロトコルワークフローを理解する
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- APICの
- ブラウザ
- 5.2(8e)を実行するアプリケーションセントリックインフラストラクチャ(ACI)
Snmpwalk
command
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
Cisco ACIは、Management Information Base(MIB;管理情報ベース)や通知(トラップ)などのSNMPv1、v2c、およびv3をサポートしています。 SNMP標準を使用すると、異なるMIBをサポートするサードパーティ製アプリケーションで、ACIリーフ/スパイン型スイッチおよびAPICコントローラを管理およびモニタできます。
ただし、SNMP writeコマンド(Set)はACIではサポートされていません。
SNMPポリシーは、リーフスイッチとスパインスイッチ、およびAPICコントローラに適用され、個別に実行されます。各ACIデバイスには独自のSNMPエンティティがあるため、APICクラスタ内の複数のAPICは、スイッチだけでなく個別にモニタする必要があります。ただし、SNMPポリシーソースはACIファブリック全体の監視ポリシーとして作成されます。
デフォルトでは、SNMPはポーリングにUDPポート161を使用し、トラップにポート162を使用します。
SNMPスコープについて
ACIのSNMPの基本的な概念の1つは、SNMP情報の取得元となるスコープが2つあることです。
1. グローバル
2. Virtual Routing and Forwarding(VRF)コンテキスト
グローバルスコープでは、リーフ/スパインノードのインターフェイス数、インターフェイスインデックス、インターフェイス名、インターフェイスステータスなどのシャーシMIBがプルされます。
VRF Context Scope固有のMIBは、IPアドレスやルーティングプロトコル情報など、VRF固有の情報をプルします。
Cisco ACI MIBサポートリストには、サポートされているAPICおよびファブリックスイッチのグローバルMIBとVRFコンテキストMIBの完全なリストがあります。
注:グローバルスコープのMIBは、システム内に1つのインスタンスしかありません。グローバル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 Policy Nameフィールドでは、使用するSNMPコミュニティストリングを定義します。この例では、New-1です。これら2つのコミュニティストリングは後で説明します。

Name:SNMPポリシーの名前。この名前には、1 ~ 64 文字の英数字を使用できます。
Description:SNMPポリシーの説明。説明には、0 ~ 128文字の英数字を使用できます。
Admin State:SNMPポリシーの管理状態。状態は有効または無効にできます。状態には次のものがあります。
-
enabled:管理状態は有効です
-
disabled:管理状態は無効です
デフォルトでは、disabledになっています。
Contact:SNMPポリシーの連絡先情報。
Location:SNMPポリシーの場所。
SNMP v3ユーザ:SNMPユーザプロファイルは、ネットワーク内のデバイスを監視するために、ユーザをSNMPポリシーに関連付けるために使用されます。
コミュニティポリシー:SNMPコミュニティプロファイルは、モニタリング用のルータまたはスイッチの統計情報へのアクセスを有効にします。
クライアントグループポリシー:
次の手順では、クライアントグループポリシー/プロファイルを追加します。クライアントのグループポリシーおよびプロファイルの目的は、APICおよびファブリックスイッチからSNMPデータをプルできるIPおよびサブネットを定義することです。

Name:クライアントグループプロファイルの名前。この名前には、1 ~ 64 文字の英数字を使用できます。
Description:クライアントグループプロファイルの説明。説明には、0 ~ 128文字の英数字を使用できます。
Associated Management End Point Group(EPG):VRFへのアクセスに使用されるエンドポイントグループの識別名。サポートされる文字列の最大長は255文字のASCII文字です。デフォルトは、管理テナントのアウトオブバンド管理アクセスEPGです。
Client Entries:SNMPクライアントプロファイルのIPアドレス。
このドキュメントでは、クライアントのグループポリシーおよびプロファイルはNew-Clientと呼ばれます。
クライアントのグループポリシー/プロファイルで、優先管理EPGを関連付ける必要があります。選択した管理EPGに、SNMPトラフィックを許可するために必要な契約(UDPポート161および162)があることを確認する必要があります。 このドキュメントでは、説明の目的でデフォルトのアウトオブバンド管理(OOB)EPGを使用します。
最後のステップでは、特定のIPまたはサブネット全体のアクセスによってACI SNMPデータを取得できるようにクライアントエントリを定義します。特定のIPまたはサブネット全体を定義するための構文があります。
- 特定のホストIP:192.168.1.5
- サブネット全体:192.168.1.0/24
注:クライアントエントリに0.0.0.0を使用してすべてのサブネットを許可することはできません(すべてのサブネットにSNMP MIBへのアクセスを許可する場合は、クライアントエントリを空のままにしてください)。
ステップ 2:SNMPポリシーのポッドポリシーグループ(ファブリックポリシーグループ)への適用
この設定を適用するには、APIC Web GUIのパスFabric > Fabric Policies > Pods > Policy Groups > POD_POLICY_GROUP
(ドキュメント内のデフォルト)に移動します。

右側のペインに、SNMP Policyのフィールドが表示されます。ドロップダウンから、新しく作成したSNMPポリシーを選択し、変更を送信します。
ステップ 3:ポッドポリシーグループとポッドプロファイルの関連付け
このドキュメントでは、わかりやすくするためにdefaultポッドプロファイルを使用します。これを行うには、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データを取得する場合は、2つの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を左クリックし、VRFのPolicyタブに移動してペインの一番下までスクロールダウンすると、適用したSNMPコンテキストの設定を確認できます。

VRFでSNMPコンテキストを無効にするには、Create SNMP Contextチェックボックスを選択解除するか(スクリーンショットを参照)、VRFを右クリックしてDelete SNMP Contextを選択します。
GUIを使用したSNMPトラップの設定
SNMP TRAPはポーリングなしでSNMPサーバ(SNMP宛先/ネットワーク管理システム(NMS))に送信され、障害/イベント(定義された条件)が発生するとACIノード/APICがSNMP TRAPを送信します。
SNMPトラップは、アクセス/ファブリック/テナントモニタリングポリシーの下で、ポリシーの範囲に基づいて有効になります。 ACIは最大10個のトラップレシーバをサポートします。
注:前のセクションのステップ1 ~ 3を実行しないと、SNMP TRAPの設定では不十分です。ステップ2:SNMP TRAP設定は、(アクセス/ファブリック/テナント)のモニタリングポリシーに関連します。
ACIでSNMPトラップを設定するには、前のセクションのステップ1、2、および3に加えて2つの手順が必要です。
ステップ 1:SNMPトラップサーバの設定
これを行うには、APIC Web GUIのパスAdmin > Eternal Data Collectors > Monitoring Destinations > SNMP
に移動します。




Host Name/IP:SNMPトラップ送信先のホスト。
Port:SNMPトラップ送信先のサービスポート。指定できる範囲は0(未指定)~ 65535です。デフォルトは162です。
Version:SNMPトラップ送信先でサポートされているCDPのバージョン。バージョンは次のうちいずれかにすることができます。
-
v1:ユーザ認証にコミュニティストリング一致を使用します。
-
v2c:ユーザ認証にコミュニティストリング一致を使用します。
-
v3:ネットワーク管理用の相互運用可能な標準ベースのプロトコルで、ネットワーク上のフレームの認証と暗号化を組み合わせてデバイスへの安全なアクセスを提供します。
デフォルトはv2cです。
Security Name:SNMPトラップの宛先セキュリティ名(コミュニティ名)。 @記号を含めることはできません。
v.3セキュリティレベル:SNMP宛先パスのSNMPv3セキュリティレベル。レベルは次のうちいずれかにすることができます。
デフォルトはnoauthです。
Management EPG(管理EPG):リモートホストに到達するために経由するSNMP宛先の管理エンドポイントグループの名前。
ステップ 2:(アクセス/ファブリック/テナント)モニタリングポリシーでのSNMPトラップソースの設定
モニタリングポリシーは、次の3つのスコープを使用して作成できます。
- アクセス:アクセスポート、FEX、VMコントローラ
- ファブリック:ファブリックポート、カード、シャーシ、ファン
- テナント – EPG、アプリケーションプロファイル、サービス
注:ニーズに応じて設定するには、任意の1つまたは任意の組み合わせを選択できます。
オプション 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を続行すると、ハードウェアインターフェイスの名前や説明などが表示されます。
次に、SNMPコミュニティストリングNew-1を使用しているVRFのVRFコンテキストSNMPデータ(以前に作成したSNMPコンテキストNew-VRF-SNMP)の取得に進みます。
New-1という同じコミュニティストリングが2つの異なるSNMPコンテキストで使用されるため、SNMPデータの取得元となるSNMPコンテキストを指定する必要があります。特定のSNMPコンテキストの指定に使用する必要があるsnmpwalk構文は、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
スイッチ上:
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
プロセスが正常な場合は、Cisco TACに問い合せて指示を受けてください。