Inhoud

Inleiding

Hoe een fout wordt gegenereerd en hoe u selectief kunt voorkomen dat fouten worden gegenereerd

Mechanisme op hoog niveau

Voorbeeld 1 - fout in een huurder

Voorbeeld 2 - Fysieke fout

Inleiding

In dit document wordt uitgelegd hoe de fout-generatie (ACI) op hoge niveaus van Application Centric Infrastructure (Application Centric Infrastructure) wordt uitgevoerd en hoe een specifieke fout wordt voorkomen. Het document laat dit zien met twee voorbeelden.

Hoe een fout wordt gegenereerd en hoe u selectief kunt voorkomen dat fouten worden gegenereerd

Mechanisme op hoog niveau

1. Elke fout is een Managed Object (MO) van class errorInst (of errorGedeleate). Deze fout MO wordt gegenereerd door een andere MO, gewoonlijk haar moedermaatschappij, omdat sommige regels worden overtreden.

2. Elke MO in de boom die fouten kan genereren heeft een eigenschap monPolDn die wijst op een andere MO die een monitoringbeleidsobject is. Dit object maakt het mogelijk de eigenschap aan te passen en de trigger om fouten te genereren. Er zijn meerdere klassen van het monitoringbeleid, zoals:

- monInraPol - gaat over het infra beleid (VM manager, toegangshavenbeleid, fysieke havens, enz.) - Plaatst in Fabric > Toegangsbeleid > Bewakingsbeleid

- monFabricPol - deals gericht op het bewaken van weefsels - gesitueerd in Fabric > Fabric-beleid > Bewakingsbeleid

- monEPGPol - transacties met toezicht op huurders > gelegen in Tenant > Monitoring Policy menu

3. Meestal zal dit het standaard bewakingsobject zijn. Door naar het specifieke gebied van het objectmodel te gaan, kunt u echter een specifiek door de gebruiker bepaald monitoringbeleid voor een van die monitoringbeleidsklassen maken.

4. U kunt veel eigenschappen van dat monitoringbeleid wijzigen. Het voorbeeld toont hoe u kunt voorkomen dat een bepaalde fout wordt gegenereerd voor alle objecten waarop het monitoringbeleid van toepassing is. U kunt echter ook de timers voor de foutlevenscyclus wijzigen (retentietijd, inweektijd enzovoort).

5. Om de fouternst te wijzigen of te voorkomen dat een fout wordt gegenereerd, moet u het bewakingsobject selecteren dat overeenkomt met de klasse van de MO die dit object heeft gegenereerd (bijvoorbeeld de ouder van de fout).

6. Kies vervolgens onder deze class de foutcode die u wilt wijzigen en kies een eerste ernst van de waarde "uitgelijnd".

Dit voorkomt dat een fout met die code wordt veroorzaakt door de MO die is toegewezen aan dit specifieke controlebeleid.

Voorbeeld 1 - fout in een huurder

Elke fout is gekoppeld aan een object.

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

De vorige fout is een MO van klasse-fout.Inst en met code F0879.

De fout is gekoppeld aan een EPG-object (Endpoint Group) zoals hieronder wordt weergegeven.

Dit object is de naam (DN) van de ouder van de fout. Dit parent-object is van klasse 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

U kunt zien dat dit EPG object is gekoppeld aan een monPolDn-object. De meeste objecten in de boom worden gecontroleerd door een controleobject.

Hier is een door de gebruiker gedefinieerd monitoringobject van klasse monEPGPol met dn.

uni/tn-RD/monepg-RD_Monitoring

Hier is het complete object dat gebruikt wordt voor controle.

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

Het monEPGPol object wordt gevormd onder het beleid van de huurder, waar u of een nieuw beleid kunt creëren of het standaard beleid kunt wijzigen. Hier is een voorbeeld van de monEPGPol naam RD_Monitoring.

U kunt het beleid voor de toewijzing van de Fault Severity kiezen en op het potlood klikken (naast het object Monitoring).

Vervolgens, als je in de lijst van bewakingsobjecten van dat monitoringbeleid kiest, de klasse waarvoor de fout is gemaakt (hier dbgac.rsToEpg).

U kunt alle fouten zien die aan die specifieke klasse zijn gekoppeld (de enige die hier wordt getoond, is F0789).

De fout F0789 is de code van de foutmelding aan het begin van het voorbeeld.

U kunt deze fout kiezen en als u een initieel risico op uitgevallen hebt ingesteld (u kunt Target Severity laten om te erven), voorkomt u dat deze fout in de toekomst wordt gegenereerd met de veronderstelling dat ze wordt gegenereerd door een object dat een link heeft naar het zojuist aangepaste monitoringbeleid.

Bestaande fouten worden er echter niet door opgelost, maar alleen nieuwe fouten.

Voorbeeld 2 - Fysieke fout

In dit voorbeeld wordt de fout gegenereerd omdat port 1/25 op blad wordt bestuurd maar zonder SFP erin.

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              :

Dit is gekoppeld aan een fysieke poort. Hier is de moeder MO die die fout veroorzaakte.

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

Dit is gekoppeld aan het monInfraPol-object dat is geconfigureerd zoals hier wordt getoond.

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

Klik onder het beleid voor toewijzing van fout op het potlood in het werkvenster, naast de vervolgkeuzelijst bewakingsobject. Voeg een klasse toe waar u de controleeigenschappen wijzigt. Kies vervolgens de klasse van het object dat de fout heeft veroorzaakt, namelijk ethmPhysIf.

Kies deze klasse en klik op het pictogram + om elke fout te zien die voor dat object gegenereerd is.

In dit voorbeeld, kunt u fout F1678 zien en het zijn eigenschappen kan worden aangepast. Voor het kiezen van de optie Oorspronkelijke ernst gelijnd en doelernst voorkomt u dat nieuwe fouten van die code worden gegenereerd van het object waarop dit monitoringbeleid van toepassing is.

Nadat u de verandering heeft gemaakt, als u haven 1/25 zonder SFP in het toelaat zal het geen fouten produceren!

Opmerking: In versies eerder dan softwareversie 2.2: Bestaande fouten (zelfs in de RESTERENDE WASMACHINE) worden niet gewist.

Opmerking: in softwareversie 2.2 en hoger: Zelfs bestaande tekortkomingen zullen door het nieuwe beleid worden beïnvloed.