소개
이 문서에서는 ACI(Application Centric Infrastructure) 결함 생성의 상위 레벨 프로세스와 특정 결함이 생성되지 않도록 방지하는 방법에 대해 설명합니다.이 문서에서는 두 가지 예를 보여 줍니다.
결함 생성 방법 및 결함 생성 시 선택적으로 방지 방법
상위 레벨 메커니즘
- 각 결함은 class faultInst(또는 faultDelegate)의 MO(Managed Object)입니다. 이 결함 MO는 일부 규칙이 위반되기 때문에 다른 MO에 의해 생성되며, 일반적으로 상위 MO입니다.
- 오류를 생성할 수 있는 트리의 각 MO에는 모니터링 정책 개체인 다른 MO를 가리키는 monPolDn 특성이 있습니다.이 개체를 사용하면 속성을 수정하고 트리거를 사용하여 오류를 생성할 수 있습니다. 모니터링 정책 개체의 클래스는 다음과 같습니다.
- monInfraPol - 인프라 정책(VMM 관리자, 액세스 포트 정책, 물리적 포트 등) 관련 거래 - 패브릭 > 액세스 정책 > 모니터링 정책
- monFabricPol - 패브릭 모니터링 관련 거래 - 패브릭 > 패브릭 정책 > 모니터링 정책
- monEPGPol - 테넌트 모니터링 관련 거래 > 테넌트 > 모니터링 정책 메뉴에 있음
- 일반적으로 기본 모니터링 객체가 됩니다.그러나 객체 모델의 특정 영역으로 이동하여 해당 모니터링 정책 클래스에 대해 특정 사용자 정의 모니터링 정책을 생성할 수 있습니다.
- 이러한 모니터링 정책의 여러 속성을 수정할 수 있습니다.이 예에서는 모니터링 정책이 적용되는 모든 객체에 대해 특정 결함이 생성되지 않도록 하는 방법을 보여줍니다.그러나 결함 라이프사이클 타이머(보존 시간, 소진 시간 등)를 수정할 수도 있습니다.
- 결함 심각도를 수정하거나 결함이 생성되지 않도록 하려면 이 개체를 생성한 MO의 클래스에 해당하는 모니터링 객체(예: fault의 부모)를 선택해야 합니다.
- 그런 다음 이 클래스에서 수정할 결함 코드를 선택하고 값의 초기 심각도를 "squeliged"로 선택합니다.
이렇게 하면 해당 코드의 모든 결함이 이 특정 모니터링 정책에 할당된 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
이전 결함은 class fault.Inst 및 코드 F0879의 MO입니다.
결함은 다음에 표시된 대로 EPG(엔드포인트 그룹) 개체와 연결됩니다.
이 개체는 결함의 상위 개체의 DN(Distinguished Name)입니다.이 부모 개체는 class 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이 있는 class 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 이름 RD_Monitoring의 예입니다.
Fault Severity 할당 정책을 선택하고 Monitoring 객체 옆에 있는 연필을 클릭할 수 있습니다.
그런 다음 해당 모니터링 정책의 모니터링 객체 목록에서 선택하는 경우 fault가 생성된 클래스(dbgac.RsToEpg에서).
특정 클래스와 관련된 모든 결함을 볼 수 있습니다(여기에 표시된 유일한 결함은 F0789).
결함 F0789는 예제의 시작 부분에 있는 결함 쇼의 코드입니다.
이 결함을 선택할 수 있으며 초기 Severity를 Squeliged로 설정한 경우(Target Severity를 상속하도록 할 수 있음), 방금 수정한 모니터링 정책에 대한 링크가 있는 객체에 의해 생성되는 것으로 추정하면서 이후에 이러한 결함이 생성되지 않도록 합니다.
그러나 기존 결함은 해소되지 않고 새로운 결점만 제거한다.
예 2 - 물리적 결함
이 예에서는 leaf의 포트 1/25가 admin up이지만 SFP가 없으므로 fault가 생성됩니다.
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(결함 심각도 할당) 정책 아래에서 작업 창의 모니터링 개체 드롭다운 목록 옆에 있는 연필을 클릭합니다.모니터링 속성을 수정할 클래스를 추가합니다.그런 다음 결함을 생성한 객체의 클래스(즉, etmPhysIf)를 선택합니다.
이 클래스를 선택하고 + 아이콘을 클릭하여 해당 객체에 대해 생성된 각 결함을 확인합니다.
이 예에서는 결함 F1678을 볼 수 있으며 해당 속성을 수정할 수 있습니다.Initial severity Squeled(초기 심각도 스쿼링됨) 및 target severity inherit(대상 심각도 상속)를 선택하면 이 모니터링 정책이 적용된 객체에서 해당 코드의 새 결함이 생성되지 않습니다.
변경 후 SFP가 없는 포트 1/25를 활성화하면 장애가 발생하지 않습니다.
참고: 소프트웨어 버전 2.2 이전 버전에서는기존 결함(지우기 유지 모드에서도)은 지워지지 않습니다.
참고: 소프트웨어 버전 2.2 이상에서:기존 결함도 새 정책의 영향을 받습니다.