问题标签 [snmptrapd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1784 浏览

python - 如何在不重新启动守护程序的情况下读取和截断 snmptrapd 日志文件

我制作了一个执行 nagios 检查的 python 脚本。脚本的功能非常简单,它只是解析日志并匹配一些用于构建 nagios 检查输出的信息。该日志是一个 snmptrapd 日志,它记录来自其他服务器的陷阱,并在/var/log/snmptrapd我只用脚本解析它们之后将它们记录下来。为了获得最新的陷阱,我每次阅读后都会从 python 中删除日志。为了保留信息,我做了一个 cron 作业,它以比 nagios 检查间隔小一点的时间间隔将日志内容复制到另一个日志中。我不明白的是为什么日志增长如此之多(我的意思是消息日志,我猜它有 1000 倍的信息更小)。从我在日志中看到的有很多特殊字符,例如^@我认为这是通过我从 pyton 操作文件的方式完成的,但看到我有三周的经验,我似乎无法找出问题所在。

脚本代码如下:

~

日志如下所示:

我很确定这与我擦除文件的方式有关,但我无法弄清楚。如果你有一些想法,我会很感兴趣。谢谢你。

作为有关大小的信息,我有 93 行(Vim 这么说),日志占用 161K,这不好,因为行很短。

好的,这与我读取和擦除文件的方式无关。当我擦除它的日志文件时,snmptrapd 守护进程中的某些东西正在执行此操作。我已经修改了我的代码,现在我在打开文件之前将 SIGSTOP 发送到 snmptrapd reight,我对文件进行了修改,然后在完成后发送 SIGCONT,但似乎我遇到了同样的行为。新代码看起来像(不同的部分):

我正在考虑停止守护进程擦除文件,然后使用适当的权限重新创建它并启动守护进程。

0 投票
1 回答
632 浏览

postgresql - 将 snmptrapd 重定向到 postgres 或消息队列

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

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

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

0 投票
2 回答
1816 浏览

snmp - snmptraps 中主机的值

在执行时

" snmptrap -v 1 -c 公共本地主机 TRAP-TEST-MIB::demotraps 本地主机 4 0 '' IF-MIB::ifIndex i 1"

在我的系统上,我将主机、IP 和 OID 值设为

主机 = localhost.localdomain :ip = UDP: [127.0.0.1]:49109->[127.0.0.1] :OID =DISMAN-EVENT-MIB::sysUpTimeInstance 0:3:12:38.28

但是当陷阱来自它的展示之外

主机 = :ip = UDP: [192.168.1.73]:52346->[192.168.1.23]:OID =DISMAN-EVENT-MIB::sysUpTimeInstance 7:1:05:54.27

现在它清楚地显示在上面没有显示主机值......我想知道为什么以及如何解决它。提前致谢

0 投票
1 回答
526 浏览

windows-xp - 无法格式化日志字符串

在 linux 系统上接收 snmptrap 时...一切正常,但在 windows server 和 XP 中我得到了Could not format log-string。任何人请帮我解决这个问题。我正在为 Windows 服务器使用 Net-SNMP-5.6.1.1。提前致谢

0 投票
1 回答
175 浏览

snmp - 生成的 Net-Snmp 可执行文件未分发

实际上,我使用 Visual Studio C++ (2008) 在 Windows 系统上编译了 Net-Snmp-5.7.1 版本的源文件。它在那台特定的机器上运行良好,但是每当我尝试获取这个编译的源并让它在另一个机器上运行时windows系统,它给出了这个错误THE SYSTEM CANNOT EXECUTE THE SPECIFIED PROGRAM。即使我在目标机器上使用 Microsoft 重新分发的包..任何可以帮助我的人,请帮助。我非常期待您的帮助。谢谢你

0 投票
1 回答
3871 浏览

snmp - SNMP v3 似乎不起作用

我有一个 PHP 应用程序(在 ubuntu 上运行),它根据收到的一些陷阱执行一些命令。我有一个 Windows 测试客户端来发送陷阱,它适用于 snmp v2。我检查了 snmptrapd 日志中的所有内容。不幸的是,客户端不支持 v3,我必须使用真实设备。当我使用仅发送 v3 陷阱的 NoBreak 时,snmptrapd 什么也不做。事实上,我可以在我的 windows 客户端上看到这些陷阱,因此 linux 中的一些设置似乎丢失了。我一直在互联网上阅读 net-snmp 页面和教程,但我不太确定该怎么做,因为我没有在 windows 中配置任何安全方面,它只是工作。如果你去net-snmp docs,据说我们需要创建一个用户并设置一个密码,但是nobreak似乎发送一种广播。我也没有 t 接收设置说明(我并不是说我不需要这样做)。第一个问题是:如何侦听端口以检查陷阱接收?也许它已经到达但没有被处理。

第二个问题:如何配置 snmptrapd 接收所有 v3 陷阱?那可能吗?

0 投票
1 回答
6348 浏览

snmp - snmp v3 中的权威引擎 ID 和上下文引擎 ID

我有一台发送snmpinform的客户端机器。在另一台机器上,我正在运行 snmptrapd 服务器。

我想明确提及上下文引擎 ID 和权威引擎 ID。

在发送命令时,我可以使用-e作为权威引擎 ID,使用-E作为上下文引擎 ID。

但是,问题是如何在 snmptrad.conf 中提及这些值

snmptrapd.conf 的片段是

我对 snpinform 的命令是:

输出是超时(错误消息来了)。对wireshark 的进一步调查显示,在报告中它提供了具有相同值的权威和上下文引擎ID。

我确实尝试了几种解决方法而没有任何用处

  1. 发送 snmpinform 时未提供 -e 选项。它确实发现了权威引擎 ID 并且输出仍然相同(错误消息和超时)

  2. 没有给 -E 选项。snpinform:未知用户名

    obv:这似乎是完全不同的行为。它能够正确解码上下文引擎 id 并能够识别用户名。但是,该报告具有不同的上下文引擎 ID。

  3. 创建用户时未提供 -e 选项,发送时仅提供 -e(权威引擎 ID)。然后它完美地工作了。

    obv:权威引擎 ID 和上下文引擎 ID 相同。所以,它工作得很好。

如果我想在 conf 文件中同时提及两个引擎 ID,该怎么办?

如何将 snmptrapd.conf 文件中的权威引擎 ID 作为十六进制数字提供?它需要文本字符串。如果我有不可打印的字符怎么办。

感谢您耐心阅读:-)

0 投票
1 回答
1333 浏览

snmp - 强制linux自动生成snmp陷阱

当服务器上的任何服务出现故障时,我想自动生成一个陷阱。我必须为此做些什么。是不是我必须为此修改一个脚本,因为我们必须配置 snmptrapd.conf 所以请让我知道一些这样做的例子。

- 谢谢

法鲁克·侯赛因

0 投票
1 回答
1440 浏览

c - 如何使用 Net-SNMP API 编写代码发送用户定义的陷阱

我们是否可以编写代码来发送用户定义的陷阱,而不是 snmpd 中提到的那些,使用如下 Net-SNMP API 来发送陷阱 netsnmp_send_traps()、send_v2trap()、send_v3trap()?

我不打算编写任何 MIB 模块。所以我不希望我的陷阱应该通过snmpd(代理守护进程)。

我想要实现的想法是从外部代码发送陷阱到 snmptrapd,它将接收陷阱并将其转发给配置的陷阱接收器,以更熟悉 Net-SNMP 库。

0 投票
1 回答
3638 浏览

snmp - snmp 陷阱特定陷阱代码

我正在构建一个 SNMP 代理,现在正在处理陷阱消息。在我开始编写陷阱消息的代码之前,我有一个问题:
在 SNMPv1 中,具体的陷阱代码是什么?在我搜索的任何地方,我都得到了肤浅的定义,我想得到一个深入的定义,以及它可以包含的可能性。