General
Fault management 主要用于向 subscriber(一般是netconf client) 发送 alarm notification。
alarm notification 应可以支持 enable/disable。
NETCONF server 应管理一个 active-alarm-list。当 alarm 出现时,它将被加入到此 list 中。当引起 alarm 的原因消失,则 alarm 应从此 list 中删去。
NETCONF client 可以通过 get RPC 来查询 active-alarm-list 的内容。
Alarm Norification
若 NETCONF client 订阅了 alarm notification,则当
- 新的 alarm 被发现
- alarm 被从 list 中删去
时,设备应向 client 发送 <alarm-notif>。
<alarm-notify> 中只报告新加入的或删除的 alarm,并不是所有的 active alarm。
Manage Alarms Request to NETCONF Clients
NETCONF client 可通过向 NETCONF server 发送 create-subscription 来订阅 Fault Management Element。
<netconf:rpc netconf:message-id="101" xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
<create-subscription xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<filter netconf:type="subtree">
<event xmlns="http://example.com/event/1.0">
<eventClass>fault</eventClass>
<severity>critical</severity>
</event>
<event xmlns="http://example.com/event/1.0">
<eventClass>fault</eventClass>
<severity>major</severity>
</event>
<event xmlns="http://example.com/event/1.0">
<eventClass>fault</eventClass>
<severity>minor</severity>
</event> </filter>
</create-subscription>
</netconf:rpc>
注:NETCONF client 只能设置 enable/disable 某一 severity 的 alarm,不能单独设置某一 alarm。
协议中还提供了2个 create-subscription 的实例。此处略。
要停止订阅,NETCONF client 应在该订阅的 session 中发送 <close-session> 。
Fault Sources
NETCONF Server 报告的 alarm notification 中包含 "fault-source" element,表示 alarm 的源头。 此值一般来源于 YANG leaf 中设置的 name。
Alarm 有 "fault-id",“fault-source”,"fault-severity" 等属性,但这些属性之间并没有什么联系。
fault-id 分为 common 和 vendor-specific。 common fault-id 在 Annex A 中定义。 vendor-specific 的 fault-id 范围为 [1000, 65535]。
网友评论