简介
本文档介绍以应用为中心的基础设施(ACI)故障生成的高级流程,以及如何防止生成特定故障。本文档通过两个示例演示了这一点。
如何生成故障以及如何选择性地防止故障生成
高级机制
- 每个故障都是类faultInst(或faultDelegate)的托管对象(MO)。 此故障MO由另一个MO(通常是其父MO)生成,因为某些规则被违反。
- 树中每个可以生成故障的MO都具有一个属性monPolDn,该属性指向另一个MO,该MO是监控策略对象。此对象允许修改属性,并允许触发器生成故障。监视策略对象有多个类,例如:
- monInfraPol — 处理基础设施策略(VMM管理器、接入端口策略、物理端口等) — 位于交换矩阵>访问策略>监控策略
- monFabricPol — 处理交换矩阵监控 — 位于交换矩阵>交换矩阵策略>监控策略
- monEPGPol — 处理租户监控>位于租户>监控策略菜单中
- 通常,它将是默认监控对象。但是,通过转到对象模型的特定区域,可以为任何这些监控策略类创建特定用户定义的监控策略。
- 您可以修改这些监控策略的许多属性。本示例将展示如何防止为应用监控策略的所有对象生成给定故障。但是,您还可以修改故障生命周期计时器(保留时间、浸泡时间等)。
- 要修改故障严重性或防止生成故障,您需要选择与生成此对象的MO类(例如,故障的父级)对应的监控对象。
- 然后,在此类下,选择要修改的故障代码,并选择初始严重性值“squeched”。
这可以防止分配给此特定监控策略的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
上一个故障是类故障的MO。Inst,代码为F0879。
故障与终端组(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名称RD_Monitoring的示例。
您可以选择故障严重性分配策略,然后点击铅笔(在监控对象旁边)。
然后,如果在该监控策略的监控对象列表中选择,则会为其创建故障的类(此处为dbgac.RsToEpg)。
您可以看到与该特定类关联的所有故障(此处显示的唯一故障是F0789)。
故障F0789是示例开头故障显示的代码。
您可以选择此故障,如果将初始严重性设置为静止(可以将目标严重性保留为继承),则它会防止将来生成此故障,假定这些故障是由与刚刚修改的监控策略有链接的对象生成的。
但是,它不会清除现有故障,而只会清除新故障。
示例2 — 物理故障
在本例中,由于枝叶上的端口1/25处于管理状态,但没有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
在故障严重性分配策略下,点击工作窗格中监控对象下拉列表旁边的铅笔。添加一个类,在其中修改监控属性。然后选择生成故障的对象的类,即ethmPhysIf。
选择此类并点击+图标,以查看为该对象生成的每个故障。
在本例中,您可以看到故障F1678,并且可以修改其属性。选择初始严重性压缩和目标严重性继承可防止从应用了此监控策略的对象生成该代码的新故障。
进行更改后,如果启用端口1/25且端口中没有SFP,则不会生成任何故障!
注意:在软件版本2.2之前的版本中:不会清除现有故障(即使在清除保留模式中)。
注意:在软件版本2.2及更高版本中:即使现有故障也会受到新策略的影响。