【问题标题】:redirect snmptrapd to postgres or message queue [closed]将 snmptrapd 重定向到 postgres 或消息队列 [关闭]
【发布时间】:2012-07-31 22:52:25
【问题描述】:

我需要收集 snmptraps 并将它们显示在 Web 界面中。该应用程序已经包括 *轨道上的红宝石 *Linux *delayed_job(用于排队) *postgresql *一些执行 snmp 查询的 cron 作业

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

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

【问题讨论】:

    标签: postgresql snmp mqueue snmptrapd


    【解决方案1】:

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

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

    traphandle default /yourpluginpath/yourplugin
    

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

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

    【讨论】:

    • 谢谢。唯一的缺点是它会为每个陷阱启动程序。太糟糕了,对于 snmptrapd 来说,没有什么比 fastcgi 类型的东西更好
    • @TommieJones 好吧,您总是可以实现某种队列。不会那么难。
    猜你喜欢
    • 2020-07-09
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 2013-12-15
    • 2015-12-17
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多