snmptrap 是否存储陷阱?

网络工程 snmp
2022-02-15 23:45:18

我最近学习了 SNMP。基本上,我通过与普通数据库系统进行比较来理解它。因此,让我简要介绍一下我的理解。

因此,我们有一个中央数据库(大树),它以 MIB 文件描述的结构化方式包含有关系统、网络、接口和其他资源的所有信息。每条信息都由一个 OID(对象标识符)标识。使用各种命令,如snmpget,SNMP MASTER 可以一次从代理获取每条信息或多条信息。这些命令实际上是在查询中央数据库的信息并将其发送给 MASTER。snmpwalksnmpbulkwalk

MASTER 可以使用snmpset命令更新此中央数据库。

snmptrap或者snmpinform是代理用来告诉 MASTER 事件发生的命令。因此,如果我执行以下操作:

snmptrap -v 2c -c public localhost "" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 9323

代理人将是他的netSnmpExampleHeartbeatRate主人9323那么,这些信息是否存储在 OID 下的中央数据库中.1.3.6.1.4.1.8072.2.3.2.1

$snmptranslate NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatRate -On
.1.3.6.1.4.1.8072.2.3.2.1

我试着snmpget确认一下。

$snmpget -v2c -c public localhost NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatRate
NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatRate = No Such Object available on this agent at this OID

看,它告诉没有可用的对象。我的理解是它没有存储在任何地方。snmptrap发送信息,就是这样。现在我明白了我可以记录陷阱信息。但是它是否将它存储在可以查询的任何地方?我错过了什么吗?

1个回答

设备因事件发送陷阱。发送设备可能会或可能不会在某处记录事件,但它不会将其保存在数据库中。陷阱只是一个信号。

例如,交换机可以发送 SNMP 陷阱或通知交换机端口何时关闭(例如,用户已断开连接或关闭了他的 PC)。交换机可能会或可能不会被配置为在其日志中记录此类事件(只有这么大并最终被覆盖),或者记录到更永久的日志服务器。您可以发送 SNMP get 来查看交换机端口的状态,但不能请求事件的副本。事件发生了,可能在某处被记录,并且您被告知了该事件。