内容

概要

障害の生成方法および障害の選択的な生成防止方法

ハイレベル メカニズム

例1 – テナントの障害

例2：物理障害

概要

このドキュメントでは、アプリケーションセントリックインフラストラクチャ(ACI)の障害生成の高度なプロセスと、特定の障害が生成されるのを防ぐ方法について説明します。このドキュメントでは、これを2つの例で示します。

障害の生成方法および障害の選択的な生成防止方法

ハイレベル メカニズム

1. 各エラーは、クラス faultInst（または faultDelegate）のマネージド オブジェクト（MO）です。 この障害MOは、一部のルールに違反しているため、別のMO（通常は親）によって生成されます。

2. ツリー内の各MOは、障害を生成できる属性monPolDnを持ち、モニタリングポリシーオブジェクトである別のMOを指します。このオブジェクトを使用すると、プロパティを変更し、トリガーでエラーを生成できます。監視ポリシーオブジェクトには、次のような複数のクラスがあります。

- monInfraPol – インフラストラクチャポリシー（VMMマネージャ、アクセスポートポリシー、物理ポートなど） - [ファブリック(Fabric)] > [アクセスポリシー(Access Policies)] > [モニタリングポリシー(Monitoring policies)]に配置

- monFabricPol：ファブリックの監視を処理します。[Fabric] > [Fabric Policies] > [Monitoring policies]にあります。

- monEPGPol - [テナント(Tenant)] > [モニタリングポリシー(Monitoring Policy)]メニューにあるテナントのモニタリングを処理

3. 通常、これはデフォルトのモニタリング オブジェクトです。ただし、オブジェクトモデルの特定の領域に移動すると、これらのモニタリングポリシークラスの特定のユーザ定義モニタリングポリシーを作成できます。

4. これらのモニタリング ポリシーのプロパティの多くは、変更可能です。この例では、モニタリングポリシーが適用されているすべてのオブジェクトに対して、特定のエラーが生成されないようにする方法を示します。ただし、障害ライフサイクルタイマー（保持時間、均熱時間など）を変更することもできます。

5. 障害の重大度を変更したり、障害が生成されないようにするには、このオブジェクトを生成したMOのクラス（障害の親など）に対応するモニタリングオブジェクトを選択する必要があります。

6. 次に、このクラスで、変更する障害コードを選択し、値「squelched」の初期重大度を選択します。

これにより、この特定のモニタリングポリシーに割り当てられたMOによって、そのコードに関する障害が生成されるのを防ぎます。

例1 – テナントの障害

各障害はオブジェクトに関連付けられます。

admin@apic:~> moquery -d "uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]/fault-F0879"

Total Objects shown: 1

# fault.Inst

code             : F0879

ack              : no

cause            : resolution-failed

changeSet        :

childAction      :

created          : 2015-01-22T00:05:00.286+01:00

descr            : Failed to form relation to MO uni/tn-RD/ap-App_RD1/epg-EPG_RD11 of class fvAEPg

dn               : uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]/fault-F0879

domain           : infra

highestSeverity  : warning

lastTransition   : 2015-01-22T00:05:00.286+01:00

lc               : raised

modTs            : never

occur            : 1

origSeverity     : warning

prevSeverity     : warning

rn               : fault-F0879

rule             : dbgac-rs-to-epg-resolve-fail

以前の障害はクラスfault.InstとコードF0879のMOです。

次に示すように、この障害はエンドポイントグループ(EPG)オブジェクトに関連付けられます。

このオブジェクトは、エラーの親の固有名（dn）です。この親オブジェクトはdbg.RsToEpgクラスです。

admin@apic:~> moquery -d uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]

Total Objects shown: 1

# dbgac.RsToEpg

tDn          : uni/tn-RD/ap-App_RD1/epg-EPG_RD11

childAction  :

dn           : uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]

forceResolve : no

lcOwn        : local

modTs        : 2014-12-05T12:56:29.340+01:00

monPolDn     : uni/tn-RD/monepg-RD_Monitoring

rType        : mo

rn           : rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]

state        : missing-target

stateQual    : none

status       :

tCl          : fvAEPg

tType        : mo

uid          : 15374

この EPG オブジェクトが monPolDn オブジェクトに関連付けられていることを確認できます。ツリー内のオブジェクトのほとんどは、モニタリング オブジェクトによってモニタされます。

dnを持つクラスmonEPGPolのユーザー定義モニタリングオブジェクトを次に示します。

uni/tn-RD/monepg-RD_Monitoring

モニタリングに使用される完全なオブジェクトを次に示します。

admin@apic:~> moquery -d uni/tn-RD/monepg-RD_Monitoring

Total Objects shown: 1

# mon.EPGPol

name         : RD_Monitoring

childAction  :

descr        :

dn           : uni/tn-RD/monepg-RD_Monitoring

lcOwn        : local

modTs        : 2014-11-13T15:41:45.326+01:00

monPolDn     : uni/tn-RD/monepg-RD_Monitoring

ownerKey     :

ownerTag     :

rn           : monepg-RD_Monitoring

status       :

uid          : 10673

monEPGPolオブジェクトは、テナントのモニタリングポリシーの下で設定されます。このポリシーでは、新しいポリシーを作成するか、デフォルトのポリシーを変更できます。次に、monEPGPol name RD_Monitoringの例を示します。

[Fault Severity]割り当てポリシーを選択し、（モニタリングオブジェクトの横にある）鉛筆をクリックできます。

次に、その監視ポリシーの監視オブジェクト・リストで選択した場合、障害が作成されたクラス(ここでdbgac.RsToEpg)。

特定のクラスに関連付けられたすべての障害を確認できます（ここに示す唯一の障害はF0789です）。

エラー F0789 は、例の先頭にあるエラーのコードです。

この障害を選択できます。最初の重大度をsquelchedに設定した場合は(ターゲットの重大度を継承したままです)、変更した監視ポリシーへのリンクを持つオブジェクトによって生成されることを想定して、将来そのような障害をを防止します。

ただし、既存の障害はクリアされず、新しい障害だけがクリアされます。

例2：物理障害

この例では、リーフのポート1/25がadmin upですが、SFPが含まれていないため、この障害が発生しています。

admin@apic:~> moquery -c faultInst -f 'fault.Inst.code == "F1678"'

Total Objects shown: 2

# fault.Inst

code             : F1678

ack              : no

cause            : port-failure

changeSet        : usage (New: epg)

childAction      :

created          : 2015-01-19T14:26:13.862+01:00

descr            : TEST FAULT -- Port is down, reason:sfpAbsent(connected), used by:EPG,

lastLinkStChg:1970-01-01T01:00:00.000+01:00, operSt:down

dn               : topology/pod-1/node-101/sys/phys-[eth1/25]/phys/fault-F1678

domain           : access

highestSeverity  : critical

lastTransition   : 2015-01-19T14:28:41.668+01:00

lc               : raised

modTs            : never

occur            : 1

origSeverity     : critical

prevSeverity     : critical

rn               : fault-F1678

rule             : ethpm-if-port-down-infra-epg-test

severity         : critical

status           :

subject          : port-down

type             : communications

uid              :

これは、物理ポートに関連付けられます。この障害を発生させた親MOを次に示します。

admin@apic:~> moquery -d topology/pod-1/node-101/sys/phys-[eth1/25]/phys

Total Objects shown: 1

# ethpm.PhysIf

accessVlan         : vlan-1

allowedVlans       :

backplaneMac       : 50:87:89:A2:2A:C1

bundleBupId        : 1

bundleIndex        : unspecified

cfgAccessVlan      : vlan-1

cfgNativeVlan      : vlan-1

childAction        :

currErrIndex       : 4294967295

diags              : none

dn                 : topology/pod-1/node-101/sys/phys-[eth1/25]/phys

encap              : 3

errDisTimerRunning : no

errVlanStatusHt    : 0

errVlans           :

hwBdId             : 0

intfT              : phy

iod                : 29

lastErrors         : 0

lastLinkStChg      : 1970-01-01T01:00:00.000+01:00

media              : 2

modTs              : never

monPolDn           : uni/infra/moninfra-default

nativeVlan         : vlan-1

これは、次に示すように設定されたmonInfraPolオブジェクトに関連付けられます。

admin@apic:~> moquery -c monInfraPol

Total Objects shown: 4

# mon.InfraPol

name         : default

childAction  :

descr        :

dn           : uni/infra/moninfra-default

lcOwn        : local

modTs        : 2014-08-06T07:58:19.494+01:00

monPolDn     : uni/infra/moninfra-default

ownerKey     :

ownerTag     :

rn           : moninfra-default

status       :

uid          : 0

[Fault Severity Assignment]ポリシーで、[monitoring object]ドロップダウンリストの横にある作業ペインの鉛筆をクリックします。モニタリングプロパティを変更するクラスを追加します。次に、エラーを生成したオブジェクトのクラス、つまりethmPhysIfを選択します。

このクラスを選択し、[+]アイコンをクリックして、そのオブジェクトに対して生成された各エラーを表示します。

この例では、エラー F1678 が表示され、そのプロパティを変更できることを確認できます。[Initial severity Squelched]と[target severity inherit]を選択すると、このモニタリングポリシーが適用されているオブジェクトからそのコードの新しい障害が生成されなくなります。

変更を行った後、ポート1/25にSFPが取り付けられていない状態で有効にすると、障害は発生しません。

注：ソフトウェアバージョン2.2より前のバージョンでは：既存の障害（保持モードのクリアであっても）はクリアされません。

注：ソフトウェアバージョン2.2以降：既存の障害も新しいポリシーの影響を受けます。