【问题标题】:How to send a SNMP trap with a script如何使用脚本发送 SNMP 陷阱
【发布时间】:2014-03-30 22:50:01
【问题描述】:

当满足某些条件时(例如,当内存使用或磁盘使用率超过 80% 时),我必须使用脚本(例如 perl 或其他)向我的显示器发送 SNMP 陷阱。 我从不写脚本,所以我不知道该怎么做。

这个小脚本将允许我测试我的 java 程序,该程序在给定端口上捕获一些陷阱。

【问题讨论】:

    标签: snmp snmp4j snmp-trap


    【解决方案1】:

    如果您只想发送一个陷阱来测试您的陷阱接收器,那么您不必编写脚本!您可以从以下位置下载并安装 net-snmp 命令行工具 http://net-snmp.sourceforge.net/download.html 命令“snmptrap”正是您要寻找的。​​p>

    如果您想从 shell 脚本执行此操作,当然您只需让脚本调用 snmptrap 二进制文件。

    如果你真的是用perl写一些监控脚本,我仍然认为最简单的方法是从perl脚本中执行snmptrap程序。您也可以选择使用一些 SNMP 库。我使用 Net::SNMP (与 net-snmp 无关)效果很好: https://metacpan.org/pod/Net::SNMP

    【讨论】:

    • 我刚刚制作了我的shell脚本,所以这部分是可以的。但是我仍然不知道如何使用 net-snmp 发送陷阱。如果我尝试类似: snmptrap -v 1 -c public host '1.2.3.4.5.6' '192.193.194.195' 6 99 '55' 1.11.12.13.14.15 s "teststring" 我得到: getaddrinfo: host Name or service not known getaddrinfo("host", NULL, ...): Name or service not known snmptrap: zsh: exit 1 snmptrap -v 1 -c public host '1.2.3.4.5.6' '192.193.194.195' 6 99 '55' s
    • 我认为您的网络上不存在主机“host”。尝试输入一个 IP 地址或现有的主机名。顺便说一句,您不需要在 OID 字符串周围加上引号。在手册页“man snmptrap”上有更多关于命令语法的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多