问题标签 [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.
python - 如何在不重新启动守护程序的情况下读取和截断 snmptrapd 日志文件
我制作了一个执行 nagios 检查的 python 脚本。脚本的功能非常简单,它只是解析日志并匹配一些用于构建 nagios 检查输出的信息。该日志是一个 snmptrapd 日志,它记录来自其他服务器的陷阱,并在/var/log/snmptrapd
我只用脚本解析它们之后将它们记录下来。为了获得最新的陷阱,我每次阅读后都会从 python 中删除日志。为了保留信息,我做了一个 cron 作业,它以比 nagios 检查间隔小一点的时间间隔将日志内容复制到另一个日志中。我不明白的是为什么日志增长如此之多(我的意思是消息日志,我猜它有 1000 倍的信息更小)。从我在日志中看到的有很多特殊字符,例如^@
我认为这是通过我从 pyton 操作文件的方式完成的,但看到我有三周的经验,我似乎无法找出问题所在。
脚本代码如下:
~
日志如下所示:
我很确定这与我擦除文件的方式有关,但我无法弄清楚。如果你有一些想法,我会很感兴趣。谢谢你。
作为有关大小的信息,我有 93 行(Vim 这么说),日志占用 161K,这不好,因为行很短。
好的,这与我读取和擦除文件的方式无关。当我擦除它的日志文件时,snmptrapd 守护进程中的某些东西正在执行此操作。我已经修改了我的代码,现在我在打开文件之前将 SIGSTOP 发送到 snmptrapd reight,我对文件进行了修改,然后在完成后发送 SIGCONT,但似乎我遇到了同样的行为。新代码看起来像(不同的部分):
和
我正在考虑停止守护进程擦除文件,然后使用适当的权限重新创建它并启动守护进程。
postgresql - 将 snmptrapd 重定向到 postgres 或消息队列
我需要收集 snmptraps 并将它们显示在 Web 界面中。该应用程序已经包含 *ruby on rails *linux *delayed_job(用于排队) *postgresql *一些执行 snmp 查询的 cron 作业
现在我需要运行类似 snmptrapd 的东西来收集警报。snmptrapd 是否有可能将其陷阱写入我可以使用 cron 作业处理的队列。像 linux 的内置 mqueue 这样的东西会很棒。甚至将其写入 postgresql 数据库(我知道它支持 mysql,但在任何地方都没有提到 postgres)
有谁知道我如何将 snmptrapd 的输出重定向到我可以使用 cron 作业处理的内容。
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。
现在它清楚地显示在上面没有显示主机值......我想知道为什么以及如何解决它。提前致谢
windows-xp - 无法格式化日志字符串
在 linux 系统上接收 snmptrap 时...一切正常,但在 windows server 和 XP 中我得到了Could not format log-string
。任何人请帮我解决这个问题。我正在为 Windows 服务器使用 Net-SNMP-5.6.1.1。提前致谢
snmp - 生成的 Net-Snmp 可执行文件未分发
实际上,我使用 Visual Studio C++ (2008) 在 Windows 系统上编译了 Net-Snmp-5.7.1 版本的源文件。它在那台特定的机器上运行良好,但是每当我尝试获取这个编译的源并让它在另一个机器上运行时windows系统,它给出了这个错误THE SYSTEM CANNOT EXECUTE THE SPECIFIED PROGRAM
。即使我在目标机器上使用 Microsoft 重新分发的包..任何可以帮助我的人,请帮助。我非常期待您的帮助。谢谢你
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 陷阱?那可能吗?
snmp - snmp v3 中的权威引擎 ID 和上下文引擎 ID
我有一台发送snmpinform的客户端机器。在另一台机器上,我正在运行 snmptrapd 服务器。
我想明确提及上下文引擎 ID 和权威引擎 ID。
在发送命令时,我可以使用-e作为权威引擎 ID,使用-E作为上下文引擎 ID。
但是,问题是如何在 snmptrad.conf 中提及这些值
snmptrapd.conf 的片段是
我对 snpinform 的命令是:
输出是超时(错误消息来了)。对wireshark 的进一步调查显示,在报告中它提供了具有相同值的权威和上下文引擎ID。
我确实尝试了几种解决方法而没有任何用处
发送 snmpinform 时未提供 -e 选项。它确实发现了权威引擎 ID 并且输出仍然相同(错误消息和超时)
没有给 -E 选项。snpinform:未知用户名
obv:这似乎是完全不同的行为。它能够正确解码上下文引擎 id 并能够识别用户名。但是,该报告具有不同的上下文引擎 ID。
创建用户时未提供 -e 选项,发送时仅提供 -e(权威引擎 ID)。然后它完美地工作了。
obv:权威引擎 ID 和上下文引擎 ID 相同。所以,它工作得很好。
如果我想在 conf 文件中同时提及两个引擎 ID,该怎么办?
如何将 snmptrapd.conf 文件中的权威引擎 ID 作为十六进制数字提供?它需要文本字符串。如果我有不可打印的字符怎么办。
感谢您耐心阅读:-)
snmp - 强制linux自动生成snmp陷阱
当服务器上的任何服务出现故障时,我想自动生成一个陷阱。我必须为此做些什么。是不是我必须为此修改一个脚本,因为我们必须配置 snmptrapd.conf 所以请让我知道一些这样做的例子。
- 谢谢
法鲁克·侯赛因
c - 如何使用 Net-SNMP API 编写代码发送用户定义的陷阱
我们是否可以编写代码来发送用户定义的陷阱,而不是 snmpd 中提到的那些,使用如下 Net-SNMP API 来发送陷阱 netsnmp_send_traps()、send_v2trap()、send_v3trap()?
我不打算编写任何 MIB 模块。所以我不希望我的陷阱应该通过snmpd(代理守护进程)。
我想要实现的想法是从外部代码发送陷阱到 snmptrapd,它将接收陷阱并将其转发给配置的陷阱接收器,以更熟悉 Net-SNMP 库。
snmp - snmp 陷阱特定陷阱代码
我正在构建一个 SNMP 代理,现在正在处理陷阱消息。在我开始编写陷阱消息的代码之前,我有一个问题:
在 SNMPv1 中,具体的陷阱代码是什么?在我搜索的任何地方,我都得到了肤浅的定义,我想得到一个深入的定义,以及它可以包含的可能性。