クラス
Application Policy Infrastructure Controller(APIC)のクラスは、システム イベントおよびフォールトがオブジェクト モデル内のオブジェクトとどのように関連しているかを理解するために操作面で重要です。システムの各イベントやフォールトは、設定、正常性、フォールト、および/または統計情報にアクセスできる固有のオブジェクトです。
アプリケーション セントリック インフラストラクチャ ファブリックを構成するすべての物理および論理コンポーネントは、階層管理情報ツリー(MIT)で表されます。このツリー内の各ノードは、管理ステータスと動作ステータスを含む、管理対象オブジェクト(MO)またはオブジェクトのグループを表します。
プログラムの REST API は、REST アーキテクチャを使用します。API は、JSON または XML ドキュメントを含む HTTP または HTTPS メッセージを受け入れて返します。プログラミング言語を使用して、API メソッドまたは管理対象オブジェクト(MO)の説明を含むメッセージおよび JSON または XML ドキュメントを生成できます。
HTTP/1.1 または HTTPS POST、GET、または DELETE メッセージを APIC に送信することで、API 機能を呼び出すことができます。POST メッセージの HTML 本文には、MO または API メソッドを記述する JSON または XML データ構造が含まれます。応答メッセージの HTML 本文は要求されたアクションが要求されたデータ、確認、エラー情報が含まれる JSON または XML 構造が含まれます。
クラスの完全なリストにアクセスするには、APIC を指定し、URL の最後で doc/html ディレクトリを参照します。
https://apic_ip_address/doc/html/
ファブリックのモニタリング
topSystem
名前:top:System
説明:コントローラ、リーフおよびスパインなど、ファブリック内のすべてのデバイスのリストを提供します。
使用:topSystem クラスは、inb/oob 管理の詳細、現在時刻、システムの稼働時間と現在の状態を含むオブジェクト プロパティを取得するために使用できます。
topSystem REST :: https://172.16.96.2/api/node/class/topSystem.json
fabricNode
名前:fabric:Node
説明:コントローラ、リーフおよびスパインなど、ファブリックの一部であるすべてのノードのリストを提供します。
使用:fabricNode クラスは、ノードのシリアル番号、割り当てられたノード ID、ノードのモデル番号とデバイス ロールを含むオブジェクト プロパティを取得するために使用できます。
fabricNode REST :: https://172.16.96.2/api/node/class/fabricNode.json
faultInst
名前:fault:Inst
説明:フォールトの詳細情報が含まれます。このオブジェクトは、フォールト状態が発生したオブジェクトの子としてアタッチされます。親オブジェクトの各フォールト状態に対し 1 つのインスタンス オブジェクトが作成されます。フォールト インスタンス オブジェクトはフォールト コードで識別されます。
使用:faultInst クラスは、APIC 内のファブリック、テナントまたは個々の管理対象オブジェクトに関連付けられたすべてのフォールトを取得するために使用できます。
faultInst REST :: https://172.16.96.2/api/node/class/faultInst.json
fabricHealthTotal
名前:fabric:HealthTotal
説明:ファブリックの総ヘルス スコア インスタンス。
使用:fabricHealthTotal クラスは、システム全体の状態を取得するために使用できます。
fabricHealthTotal REST :: https://172.16.96.2/api/node/class/fabricHealthTotal.json
fvCEp
名前:fv:CEp
説明:ネットワークにアタッチしているクライアント エンドポイント。
使用:fvCEp クラスは、ファブリックにアタッチされたエンド ポイントおよび関連付けられている IP/MAC アドレス、および各オブジェクトのカプセル化のリストを取得するために使用できます。
fvCEp REST :: https://172.16.96.2/api/node/class/fvCEp.json
fvRsCEpToPathEp
名前:fv:RsCEpToPathEp
説明:これは、パスのエンドポイントとの関係を提供する内部オブジェクトです。
使用:fvRsCEpToPathEp クラスは、ノードおよびポートなどのパスのファブリック詳細と、テナント名、アプリケーション プロファイルおよびエンドポイント グループなどのテナントの詳細を取得するために使用できます。
fvRsCEpToPathEp REST :: https://172.16.96.2/api/node/class/fvRsCEpToPathEp.json
eqptFabP
名前:eqpt:FabP
説明:ファブリック ポート、外部 IO ポートに向いているファブリック。
使用:eqptFabP クラスは、ファブリック ポートと、ラインカードやシャーシの位置などの関連情報のリストを取得するために使用できます。
eqptFabP REST :: https://172.16.96.2/api/node/class/eqptFabP.json
eqptLeafP
名前:eqpt:LeafP
説明:ファブリック ポート、外部リーフ IO ポートに向いている非ファブリック。
使用:eqptFabP クラスは、非ファブリック ポートと、ラインカードやシャーシの位置などの関連情報のリストを取得するために使用できます。
eqptLeafP REST :: https://172.16.96.2/api/node/class/eqptLeafP.json
eqptCh
名前:eqpt:ChA
説明:ハードウェアのシャーシ コンテナ。
使用:eqptCh クラスは、シャーシのリストと、動作状態、シリアル番号、モデル番号などの関連情報を取得するために使用できます。
eqptCh REST :: https://172.16.96.2/api/node/class/eqptCh.json
eqptLC
名前:eqpt:LCA
説明:IO ポートを含むラインカード(IO カード)。
使用:eqptLC クラスは、ファブリック内に展開されたラインカードと、冗長化の状態、モデル、シリアル番号、ポート数などの関連情報のリストを取得するために使用できます。
eqptLC REST :: https://172.16.96.2/api/node/class/eqptLC.json
eqptFt
名前:eqpt:Ft
説明:インベントリ化されているファン トレイ。
使用:eqptFt クラスは、ファン トレイと、動作状態、モデル番号、シリアル番号、ハードウェア バージョンなどの関連情報のリストを取得するために使用できます。
eqptFt REST :: https://172.16.96.2/api/node/class/eqptFt.json
eqptPsu
名前:eqpt:Psu
説明:電源装置。
使用:eqptFt クラスは、ファブリック内の電源装置と、モデル番号、シリアル番号、動作ステータス、電圧源などの関連情報のリストを取得するために使用できます。
eqptPsu REST :: https://172.16.96.2/api/node/class/eqptPsu.json
eqptSupC
名前:eqpt:SupC
説明:コントロール プレーンを実行中の CPU を含む、スーパーバイザ カード。
使用:eqptFt クラスは、ファブリック内に展開されたスーパーバイザ カードと、モデル番号、シリアル番号、動作ステータス、冗長化の状態などの関連情報のリストを取得するために使用できます。
eqptSupC REST :: https://172.16.96.2/api/node/class/eqptSupC.json
ethpmPhysIf
名前:ethpm:PhysIf
説明:物理インターフェイスの情報ホルダー。
使用:ethpmPhysIf クラスは、ファブリック内の物理インターフェイスと、速度、デュプレックス、動作ステータス、使用状態などの関連情報のリストを取得するために使用できます。
ethpmPhysIf REST :: https://172.16.96.2/api/node/class/ethpmPhysIf.json
dbgAcTrail
名前:dbg:AcTrail
説明:アトミック カウンタ証跡。
使用:dbgAcTrail クラスは、ファブリック内に展開されたアトミック カウンタと、ドロップされたパケット統計情報やパケット数などの関連情報のリストを取得するために使用できます。
dbgAcTrail REST :: https://172.16.96.2/api/node/class/dbgAcTrail.json
dbgEpgToEpgRslt
名前:dbg:EpgToEpgRslt
説明:エンドポイント グループからエンドポイント グループへのアトミック カウンタ、オンデマンド、エントリ。
使用:dbgEpgToEpgRsIt クラスは、ファブリック内に展開された EPG から EPG へのアトミック カウンタと、ドロップされたパケット統計情報やパケット数などの関連情報のリストを取得するために使用できます。
dbgEpgToEpgRsIt REST :: https://172.16.96.2/api/node/class/dbgEpgToEpgRslt.json
dbgEpToEpRslt
名前:dbg:EpToEpRslt
説明:エンドポイントからエンドポイントへのアトミック カウンタ、オンデマンド、エントリ。
使用:dbgEpToEpTsIt クラスは、ファブリック内に展開されたエンドポイントからエンドポイントへのアトミック カウンタと、ドロップされたパケット統計情報やパケット数などの関連情報のリストを取得するために使用できます。
dbgEpToEpTsIt REST :: https://172.16.96.2/api/node/class/dbgEpToEpRslt.json
VM_Monitoring
compVm
名前:comp:Vm
説明:仮想マシン オブジェクト。
使用:compVm クラスは、ファブリック内に展開された仮想マシンと、名前や状態などの関連情報のリストを取得するために使用できます。
compVm REST :: https://172.16.96.2/api/node/class/compVm.json
compHv
名前:comp:Hv
説明:コンピューティング ハイパーバイザを表すオブジェクト。
使用:compVm クラスは、ファブリック内に展開されたコンピューティング ハイパーバイザと、名前やステータスなどの関連情報のリストを取得するために使用できます。
compHv REST :: https://172.16.96.2/api/node/class/compHv.json
fvRsVm
名前:fv:RsVm
説明:ハイパーバイザに接続された仮想マシンとの関係。これは内部オブジェクトです。
使用:fvRsVm クラスは、ハイパーバイザに接続された仮想マシンの関係を取得するために使用できます。
vRsVm REST :: https://172.16.96.2/api/node/class/fvRsVm.json
fvRsHyper
名前:fv:RsHyper
説明:APIC VM を制御およびモニタするハイパーバイザとの関係。これは内部オブジェクトです。
使用:fvRsHyper クラスは、APIC VM を制御およびモニタするハイパーバイザの関係を取得するために使用できます。
fvRsHyper REST :: https://172.16.96.2/api/node/class/fvRsHyper.json
vmmCtrlrP
名前:vmm:CtrlrP
説明:VMM コントローラ プロファイル。ポリシー適用のドメインを含めることの一部である単一の VM 管理コントローラへの接続方法を指定します。たとえば、VMM コントローラ プロファイルは、VMM ドメインの一部である VMware vCenter に接続するためのポリシーにできます。
使用:vmmCtrlrP クラスは、接続された VM ドメインの IP アドレスとデータセンター名を取得するために使用できます。
vmmCtrlrP REST :: https://172.16.96.2/api/node/class/vmmCtrlrP.json
レイヤ 4 ~レイヤ 7 のモニタリング
vnsAbsGraph
名前:vnsAbsGraph
説明:抽象グラフは、抽象的なノードから構成され、ロード バランシング、SSL オフロード、またはファイアウォールなどのサービス機能によるトラフィック フローを定義するために使用されます。抽象的なノードは、サービス ノード バランサ(SLB)またはファイアウォール(FW)などのサービス ノード、抽象的な条件ノード(エンドポイント グループに接続されているノード)、および接続から構成されます。
使用:クラス vnsAbsGraph は、APIC で設定されたサービス グラフ テンプレートとそのプロパティのリストを取得するために使用できます。
vnsAbsGraph REST :: https://172.16.96.2/api/node/class/vnsAbsGraph.json
vnsLDevVip
名前:vnsLDevVip
説明:L4-L7 デバイス クラスタ。単一の仮想 IP(VIP)によって表されます。設定は、VIP アドレスにプッシュ ダウンされます。
使用:クラス vnsLDevVip は、ファブリック内の論理デバイス クラスタ用に設定されたすべての VIP を取得するために使用できます。
vnsLDevVip REST :: https://172.16.96.2/api/node/class/vnsLDevVip.json
vnsCDev
名前:vnsCDev
説明:個々のサービス デバイス。具体的な L4-L7 サービス デバイスを定義するために使用されます。
使用:クラス vnsCDev は、L4-L7 サービス統合の一部として設定された具体的なデバイスのリストを取得するために使用できます。
vnsCDev REST :: https://172.16.96.2/api/node/class/vnsCDev.json
vnsLif
名前:vnsLif
説明:L4-L7 デバイス クラスタからの具体的なインターフェイスのセットに関連付けられている論理インターフェイス。
使用:クラス vnsLif は、サービス グラフとデバイス インターフェイス間の接続を取得するために使用できます。
vnsLif REST :: https://172.16.96.2/api/node/class/vnsLIf.json
vnsLDevCtx
名前:vnsLDevCtx
説明:コントラクト、サブジェクト、機能ラベルまたは名前に基づいて特定のデバイスを選択するのに使用されるデバイス クラスタを指すデバイス クラスタ コンテキスト。ワイルドカードを指定するには、名前を [Any] に設定します。
使用:クラス vnsLDevCtx は、ノードおよびコントラクト名を取得するために使用できます。
nsLDevCtx REST :: https://172.16.96.2/api/node/class/vnsLDevCtx.json
vnsRsLDevCtxToLDev
名前:vnsRsLDevCtxToLDev
説明:サービス デバイス クラスタまたはテナント内の論理デバイス クラスタ用のプロキシ オブジェクトの抽象化に対する送信元の関係。
使用:クラス vnsRsLDevCtxToLDev は、vnsLDevCtx と vnsLDev 間の関係を取得するために使用できます。
vnsRsLDevCtxToLDev REST :: https://172.16.96.2/api/node/class/vnsRsLDevCtxToLDev.json
統計情報
compHostStats1h
名前:comp:HostStats1h
説明:1 時間のサンプリング間隔におけるホストの最新の統計情報を表すクラス。このクラスは 15 分ごとに更新されます。
使用:compHostStats1h クラスは、コンピューティング ハイパーバイザに関連付けられた統計情報を取得するために使用できます。
compHostStats1h REST :: https://172.16.96.2/api/node/class/compHostStats1h.json
compRcvdErrPkts1h
名前:comp:RcvdErrPkts1h
説明:1 時間のサンプリング間隔における受信したエラー パケットの最新の統計情報を表すクラス。このクラスは 15 分ごとに更新されます。
使用:compRcvdErrPkts1h クラスは、受信したエラー パケットの最新の統計情報を取得するために使用できます。
compRcvdErrPkts1h REST :: https://172.16.96.2/api/node/class/compRcvdErrPkts1h.json
compTrnsmtdErrPkts1h
名前:comp:TrnsmtdErrPkts1h
説明:1 時間のサンプリング間隔における送信されたエラー パケットの最新の統計情報を表すクラス。このクラスは 15 分ごとに更新されます。
使用:compTrnsmtdErrPkts1h クラスは、送信されたエラー パケットの最新の統計情報を取得するために使用できます。
compTrnsmtdErrPkts1h REST :: https://172.16.96.2/api/node/class/compTrnsmtdErrPkts1h.json
Authentication, Authorization, and Accounting(認証、許可、およびアカウンティング)
aaaModLR
名前:aaa:ModLR
説明:AAA の監査ログ レコード。ログ レコードは、ユーザがオブジェクトを変更するたびに自動的に生成されます。
使用:aaaModLR クラスは、すべての変更およびイベントに関するファブリック ベースの監査ログを取得するために使用できます。
aaaModLR REST :: https://172.16.96.2/api/node/class/aaaModLR.json
aaaUser
名前:aaa:User
説明:ローカル認証されたユーザ アカウント。
使用:aaaUser クラスは、ファブリック内に展開されたユーザ アカウントのリストを取得するために使用できます。
aaaUser REST :: https://172.16.96.2/api/node/class/aaaUser.json
aaaRemoteUser
名前:aaa:RemoteUser
説明:リモート ユーザのログイン アカウント。
使用:aaaUser クラスは、ファブリック内に展開されたリモート ユーザ アカウントのリストを取得するために使用できます。
aaaRemoteUser REST :: https://172.16.96.2/api/node/class/aaaRemoteUser.json
ファブリックの容量
ポリシー TCAM
名前:eqptcapacityPolEntry5min
説明:ポリシー CAM エントリの統計情報。5 分間のサンプリング間隔におけるポリシー エントリの最新の統計情報を表すクラス。このクラスは 10 秒ごとに更新されます。
使用:eqptcapacityPolEntry5min クラスは、ポリシー TCAM の使用に関連付けられた現在の値を取得するために使用できます。
eqptcapacityPolEntry5min REST :: https://172.16.96.2/api/class/eqptcapacityPolEntry5min.json
プレフィックス TCAM
名前:eqptcapacityL3Entry5min
説明:Layer3 エントリの統計情報。5 分間のサンプリング間隔における layer3 エントリの最新の統計情報を表すクラス。このクラスは 10 秒ごとに更新されます。
使用:eqptcapacityL3Entry5min クラスは、プレフィックス TCAM の使用に関連付けられた現在の値を取得するために使用できます。
eqptcapacityL3Entry5min REST :: https://172.16.96.2/api/class/eqptcapacityL3Entry5min.json
SNMP および syslog
SNMP トラップの宛先
名前:snmpTrapDest
説明:"background-color:rgb(255, 255, 255); color:rgb(51, 51, 51)"> トラップおよび通知が送信される宛先。
使用:snmpTrapDest クラスは、ファブリック内で実装される SNMP トラップ宛先の現在のリストを取得するために使用できます。
snmpTrapDest REST :: https://172.16.96.2/api/node/class/snmpTrapDest.json
syslog リモート宛先ホスト
名前:syslogRemoteDest
説明:syslog リモート宛先ホストによって、APIC およびファブリック ノードからのメッセージの転送先となる syslog サーバを指定できます。
使用:syslogRemoteDest クラスは、ファブリック内で実装される syslog リモート宛先の現在のリストを取得するために使用できます。
syslogRemoteDest REST :: https://172.16.96.2/api/node/class/syslogRemoteDest.json
使用例
次の使用例 #1 および #2 で使用されているクラス faultInst は、前述の、または APIC ドキュメント内で指定された、管理対象オブジェクト クラスのいずれかに置き換えることができます。『Cisco APIC Command-Line Interface User Guide』も、次の項を理解する上で役立ちます。
ケース 1:ファブリック内のフォールトの現在のリストを取得するためのアプリケーション スクリプトの作成。
この使用例は一般的に、ACI 管理者がファブリック内の現在のフォールトのリストを取得する環境向けです。ユーザには、CLI、Visore、POSTMAN および/または Cobra によって結果を収集するオプションがあります。アプリケーション固有のアクセスと説明については上記の項を参照してください。
CLI の観点からは、次のコマンドを使用してクエリを実行します。
admin@apic1:~> moquery -c faultInst
Visore の観点からは、次のパラメータを使用してクエリを実行します。
Class or DN :: faultInst
Property :: n/a
Op :: n/a
Value :: n/a
POSTMAN の観点からは、次の REST GET を使用してクエリを実行します。
GET http://<your apic ip address>/api/node/class/faultInst.xml
Cobra の観点からは、次のクラス クエリを使用します。
# Class Query
classQuery= ClassQuery(' faultInst')
for fault in md.query(classQuery):
print fault.name
次は、ファブリック内のフォールトをキャプチャするための Cobra スクリプトのサンプルです。
#!/usr/bin/env python
import cobra.mit.access
import cobra.mit.session
from cobra.mit.session import LoginSession
from cobra.mit.request import ClassQuery
ls = cobra.mit.session.LoginSession('https://'<your apic ip address>, <username>,
<password>, secure=False)
md = cobra.mit.access.MoDirectory(ls)
md.login()
# Class Query
classQuery= ClassQuery(' faultInst')
for fault in md.query(classQuery):
print fault.name
ケース 2:設定の失敗によるファブリック内のフォールトの現在のリストを取得するためのアプリケーション スクリプトの作成。
この使用例は一般的に、ACI 管理者がファブリック内の現在のフォールトのリストを取得する環境向けです。ユーザには、CLI、Visore、POSTMAN および/または Cobra によって結果を収集するオプションがあります。アプリケーション固有のアクセスと説明については上記の項を参照してください。
CLI の観点からは、次のコマンドを使用してクエリを実行します。
admin@apic1:~> moquery -c faultInst -f 'fv.faultInst.cause=="config-failure"'
Visore の観点からは、次のパラメータを使用してクエリを実行します。
Class or DN :: faultInst
Property :: cause
Op :: ==
Value :: config-failure
POSTMAN の観点からは、次の REST GET を使用してクエリを実行します。
GET http:// <your apic ip address>/api/node/class/faultInst.xml?
query-target-filter=and(eq(faultInst.cause,"config-failure"))
Cobra の観点からは、次のクラス クエリを使用します。
# Class Query
classQuery= ClassQuery(' faultInst')
classQuery.propFilter = 'wcard(faultInst. cause, "{0}")'.format(' config-failure')
for fault in md.query(classQuery):
print fault.name
設定不良によるフォールトをキャプチャするための Cobra スクリプト。
#!/usr/bin/env python
import cobra.mit.access
import cobra.mit.session
from cobra.mit.session import LoginSession
from cobra.mit.request import ClassQuery
ls = cobra.mit.session.LoginSession('https://'<your apic ip address>, <username>,
<password>, secure=False)
md = cobra.mit.access.MoDirectory(ls)
md.login()
# Class Query
classQuery= ClassQuery(' faultInst')
for fault in md.query(classQuery):
print fault.name
ケース 3:特定の管理対象オブジェクト DN のプロパティを取得するためのアプリケーション スクリプトの作成
この使用例は一般的に、ACI 管理者がテナント名 Common のプロパティを取得する環境向けです。ユーザには、CLI、Visore、POSTMAN および/または Cobra によって結果を収集するオプションがあります。アプリケーション固有のアクセスと説明については上記の項を参照してください。
CLI の観点からは、次のコマンドを使用してクエリを実行します。
admin@apic1:~> moquery -d uni/tn-common
Visore の観点からは、次のパラメータを使用してクエリを実行します。
Class or DN :: uni/tn-common
Property :: n/a
Op :: n/a
Value :: n/a
POSTMAN の観点からは、次の REST GET を使用してクエリを実行します。
GET http://<your apic ip address>/api/node/mo/uni/tn-common.xml?query-target=self
Cobra の観点からは、次のクラス クエリを使用します。
# DN Query
dnQuery= DnQuery(' uni/tn-common')
for results in md.query(dnQuery):
print results.dn
設定不良によるフォールトをキャプチャするための Cobra スクリプト。
#!/usr/bin/env python
import cobra.mit.access
import cobra.mit.session
from cobra.mit.session import LoginSession
from cobra.mit.request import DnQuery
ls = cobra.mit.session.LoginSession('https://'<your apic ip address>, <username>,
<password>, secure=False)
md = cobra.mit.access.MoDirectory(ls)
md.login()
# DN Query
dnQuery= DnQuery('uni/tn-common')
for results in md.query(dnQuery):
print results.dn
ケース 4:ファブリックにアタッチされているエンドポイント(MAC アドレス)の現在のリストを取得するためのアプリケーション スクリプトの作成
この使用例は一般的に、ファブリックにアタッチされている現在のエンドポイントのリストと、各エンドポイントに関連するノードの詳細をキャプチャするアプリケーション スクリプトを ACI 管理者が作成する環境向けです。
設定不良によるフォールトをキャプチャするための Cobra スクリプト。
#!/usr/bin/env python
from cobra.mit.access import MoDirectory
from cobra.mit.session import LoginSession
from cobra.mit.request import ClassQuery
lls = cobra.mit.session.LoginSession('https://'<your apic ip address>, <username>,
<password>, secure=False)
md = MoDirectory(ls)
md.login()
q = ClassQuery('fvCEp')
q.subtree = 'children'
q.subtreeClassFilter = 'fvRsCEpToPathEp'
mos = md.query(q)
for mo in mos:
for child in mo.rscEpToPathEp:
print child.dn