0

我需要收集 snmptraps 并将它们显示在 Web 界面中。该应用程序已经包含 *ruby on rails *linux *delayed_job(用于排队) *postgresql *一些执行 snmp 查询的 cron 作业

现在我需要运行类似 snmptrapd 的东西来收集警报。snmptrapd 是否有可能将其陷阱写入我可以使用 cron 作业处理的队列。像 linux 的内置 mqueue 这样的东西会很棒。甚至将其写入 postgresql 数据库(我知道它支持 mysql,但在任何地方都没有提到 postgres)

有谁知道我如何将 snmptrapd 的输出重定向到我可以使用 cron 作业处理的内容。

4

1 回答 1

2

我在 Perl 中做了类似的事情,但你也可以用 Ruby 来做。

首先,您需要告诉 snmptrapd 谁是陷阱的默认处理程序。在 snmptrapdconf 中,您可以将其定义如下:

traphandle default /yourpluginpath/yourplugin

现在每次发生陷阱时,它的数据都会发送到您的插件。现在由他来处理。获得数据包后,您可以将其存储到所需的任何数据库中,无论是 MySQL 还是 PostgreSQL。

唯一的问题是解析来自陷阱的数据的库。在 Perl 中,我使用了 SNMP::Trapinfo,但由于我从未使用过 Ruby,所以我不知道等价的东西,我相信其他人可以将您指向正确的库。你甚至可以自己解析它。实际上,如果您希望其他人将数据存储到数据库中,您也可以使用基本的 shell 脚本。

于 2012-08-03T12:45:25.503 回答