Notifications SNMPv3代理如何知道在哪里发送通知?
当SNMPv3代理生成通知(例如,根据RFC 2981事件MIB)时,该代理如何确定要发送的通知类型以及发送到哪里?我假设使用了以下RFC 3413表格,但没有很好地描述连杆机构(IMHO)。 -snmpNotifyTable -snmpNotifyFilterProfileTable -snmpNotifyFilterTableNotifications SNMPv3代理如何知道在哪里发送通知?,notifications,snmp,Notifications,Snmp,当SNMPv3代理生成通知(例如,根据RFC 2981事件MIB)时,该代理如何确定要发送的通知类型以及发送到哪里?我假设使用了以下RFC 3413表格,但没有很好地描述连杆机构(IMHO)。 -snmpNotifyTable -snmpNotifyFilterProfileTable -snmpNotifyFilterTable RFC 3413第3.3节第(1)步指出,第一步是确定管理目标,但没有提供多少指南来定义如何使用标准化对象进行管理。从逻辑上讲,我认为通知名称和snmpNotifyN
RFC 3413第3.3节第(1)步指出,第一步是确定管理目标,但没有提供多少指南来定义如何使用标准化对象进行管理。从逻辑上讲,我认为通知名称和snmpNotifyName之间会有一个链接,这将指示是否在逐个通知的基础上向哪个目标发送陷阱或通知,但RFC3413中提供的示例似乎与此逻辑相反,并且对象的定义没有提供这种链接。。。帮助?
SNMP-NOTIFICATION-MIB
对象配置代理发送的通知<代码>SNMP-TARGET-MIB对象配置代理发送通知的位置。通过标记值/列表(例如,snmpNotifyTag
->snmptargetadrdrtaglist
)配置两个MIB表之间的链接(向何处发送通知)。换句话说,snmptagedrdrtable
中的给定目标将获取代理配置为发送的任何通知,其中该配置的snmpNotifyTag
出现在snmptagedrttaglist
中
每个评论的附加信息:
在DISMAN-EVENT-MIB
中,将根据配置的触发条件发送通知。要发送的通知由分配给mteEventNotification
的通知类型OID标识。假设发生任何触发条件,并且代理已决定将该通知发送给所有适当的目标。然后,将按如下方式发送通知:
snmpNotifyFilterTable
以查找mteEventNotification
与行的snmpNotifyFilterSubtree
和snmpNotifyFilterMask
匹配的所有行,使用snmpNotifyFilterType
和优先级规则确定该通知是否包含在配置文件中或从中排除snmpNotifyFilterProfileName
,其中要包括mteEventNotification
,代理通过snmpTargetAddrTable
搜索snmpTargetAddrParams
等于snmpNotifyFilterProfileName
的任何行snmpTargetAddrTagList
中的每个snmpTargetAddrTagTable
行,snmpNotifyTable
扫描具有相同snmpNotifyTag
值的行,以确定要发送的通知类型(陷阱或通知)snmptargetadrrams
行的snmptargetadrrams
值用于查找相应的snmpTargetParamsTable
行,其中snmptargetadrrams
等于snmpTargetParamsName
。此行中的信息用于确定用于发送目标通知的SNMP版本、安全级别和安全名称snmpTargetParamAssetSecurity Name
对应于snmpCommunityTable
(对于SNMPv1/v2c)或usmUserTable
(对于SNMPv3/USM)对,那部分我理解。但是RFC 2981生成的MteEventNotification和SNMPNotify表之间的关系是什么。我可以看到至少两种可能的解释,其中snmpNotifyName对应于1)mteEventName,或2)mteeventnotify指向的陷阱的名称。但这两种方法似乎都不符合RFC 3413中提供的示例。RFC 3413中的示例表明snmpNotifyName可能是“group1”(即与标记相同),但这在我看来似乎不合逻辑。我如何知道哪些通知与“group1”和“group2”相关?我已经用其他信息/程序更新了答案。注意:我对DISAN-EVENT-MIB不是特别熟悉;关于这一点的段落是我快速浏览后收集到的。但是,对于代理将要发送的任何通知OID,这些过程都应该是正确的。有趣的是,如果有一个snmpTargetAddrTable行在其snmpTargetAddrTagList(步骤3)中有三个snmptagValue,其中一个表示通知,两个表示陷阱,那么会发生什么?我是否发送三个通知(一个通知和两个相同的陷阱);两个通知(结合两个陷阱,因为它们是多余的);一个通知(实施者选择);上面提到的任何一个(实现者的选择)?我的解释(正如我解释/实现/修复了两个具有不同代理的不同客户端的bug)是,您将发送所有三个通知。它可能会受到实现者的解释,因为它有点含糊不清,但我的感觉/经验是,它要复杂得多,或者不发送设置表的人想要实现的东西,而不是发送所有三个。