问题标签 [snmp4j]
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.
snmp - 如何使用脚本发送 SNMP 陷阱
当满足某些条件时(例如,当内存使用或磁盘使用率超过 80% 时),我必须使用脚本(例如 perl 或其他)向我的显示器发送 SNMP 陷阱。我从不写脚本,所以我不知道该怎么做。
这个小脚本将允许我测试我的 java 程序,该程序在给定端口上捕获一些陷阱。
networking - 如何使用 SNMP 检查端口是否启动或关闭
我开发了一个发现网络拓扑的应用程序,并使用 java 和 SNMP4j 以编程方式绘制它我向设备发送 CDP 和 LLDP 请求并分析其结果。但是有些设备不支持 CDP 或 LLDP(如接入点),因此我无法发现它。我必须将其显示为未知设备。感谢 CDP 和 LLDP,我知道哪个设备在哪个端口上。要了解未知设备在哪个端口上,我需要一个 oid 来使用 SNMP 或其他方法了解交换机的上下端口。
我使用 SNMP4J
log4j - 当 snmp4j 在 log4j 中配置 BasicConfigurator 时 Activemq 中的 Stackoverflow
这是一个非常奇怪的问题。我正在尝试将 snmp4j 从 1.10.1 升级到最新版本(2.2.5),现在我从 ActiveMQ(版本 5.9.1)中收到 stackoverflowerror。我有一个奇怪的解决方法,但如果有人能更清楚地了解这个问题,那将会很有趣。
当 snmp4j 加载 SnmpRequest 类并执行此静态块时,会发生 stackoverflow:
BasicConfigurator.configure()
调用时 ActiveMQ 崩溃。我的解决方法是在启动时(在 ActiveMQ 初始化之前)构造(加载)一个 SnmpRequest 对象。在 snmp4j 版本 1.10.1 中,SnmpRequest 类有一个不同的静态块,没有configure()
调用。
下面是 stackoverflowerror 的跟踪:
我相信这将是标准错误,这都是一条大线。
python - 在java中创建json并在python中解析?
我正在使用 snmp4j 进行 SNMP Walk 结果需要发送到客户端以在 python 中解码以进行进一步分析。我是 json 新手,需要帮助了解将 java 数据类型转换为 json 的最佳方法,以便可以在 python 中轻松解码。我不确定它是否可以在正确的字典或列表中解码,但这样做的任何帮助都会很有用。目前我正在使用 gson 将以下共振转换为 json
以下是我执行 json.loads 时的结果
请帮助理解更好的方式来编码成 json 以便于简单和可用的 python 解码。这里需要java序列化吗?我不确定这意味着什么,但仍然想知道我的问题是否清楚,任何帮助至少为我指出正确的资源都会有很大帮助。
java - ifInOctets 和 ifOutOctets 返回 noSuchInstance
我正在编写一个从多个服务器检索一些信息的 java 代码。一切正常,除了 ifInOctets 和 ifOutOctets 返回“noSuchInstance”而不是它们的值。我可以使用 iReasoning MIB 浏览器检索同一服务器的 ifInOctets 和 ifOutOctets。
那么关于可能是什么问题的任何想法?
snmp - 向 snmp 代理注册 OID
我正在尝试使用 snmp4j 模拟 SNMP 代理。我正在尝试向代理注册 MO。下面是代码片段:
在启动代理时,我收到 DuplicateRegistrationException。请指导我如何注册oid。请提供方向。
snmp - 如何从 SNMP 流中获取变量的单位?
我是 snmp4j 的新手。我使用 [1] 中的示例代码从 SNMP 流中提取一些有意义的信息。
在示例代码中,变量的 oid 和 value 被提取出来,但是 value 没有它的单位。例如
,oid 1.3.6.1.4.1.2021.4.6.0 (SNMP-MIB::memAvailReal.0) 给出的值 13385068 没有其单位 KB。有没有办法用 snmp4j 中的单位获取值?
有人可以看看这个吗?
snmp - SNMP4J 代理和 Net-SNMP “客户端”
我还在学习 SNMP,所以请温柔一点。
我用 snmp4j 做了一个代理,它似乎正在工作,我有一个标量应该记录自代理启动以来已经过去了多少时间。
我只需要做代理,然后我想用 net-snmp 看看标量的值。
问题是,当我启动代理时,我将标量 SystemUpTime 设置为 0,然后每当有人尝试使用 net-snmp 检查它时,我都会尝试更新 SystemUpTime,该值不会改变。
每次尝试访问它时,如何让我的代理更新 SystemUpTime?我有一个 MOScalar getSystemUpTime 方法,因为它会在返回之前更新 SystemUpTime,我认为它可以完成这项工作,但它不起作用。
你们有什么建议?
编辑(我的代理代码,我取消了一些强制方法来缩短这个东西)
java - 使用 snmp 协议的集中式日志文件
我想知道SNMP协议是否可以帮助我开发 Java 应用程序来集中本地网络的日志文件。我不想监控网络设备,我只想集中日志文件并分析主题。
java - 消息处理模型 3 返回错误:未知安全名称
为单个设备运行 get/ getNextMessage processing model 3 returned error: Unknown security name
命令时出现错误。我每 2 秒敲击一次设备。为了有更好的性能,如果我想得到不同的表。我创建线程并从我的应用程序并行访问每个线程。当我以单线程模式访问设备时,所有请求都可以正常工作。但是,当我在多线程模式下运行它时,我会间歇性地遇到上述错误(10 个请求中 2 个失败)。这是堆栈跟踪。
根据此处给出的链接,我使用以下安全模型:
另一个选项 noAuthNopriv 对我来说不是一个选项,我需要在 authpriv 中运行它。有人可以指出我正确的方向。
我相信这是一些 snmp 会话或 engineId 的问题。
************************编辑**********************
经过数周的调查,我终于发现我创建 USM 对象的方式
我为每个请求创建这个对象并添加到 securitymodel 中,从而重新创建 UserTable 和 usertime 表。我通过使 USM 成为单例并阻止重新创建 USM 表来解决此问题。但是我最终遇到了新问题,现在我遇到了错误
经过一番调查,我发现 snmp4j 没有在 UserTimeTable 中更新它自己的引擎时间和设备引擎时间。
除了这个问题,我还有几个查询。
如果我让 USM 成为一个单独的 USM 表,那么我的应用程序将拥有它的生命。如何清除此表(我可能有数万台设备,最终可能导致内存不足)。在什么基础上我可以清除这些用户?
如何让 SNMP4J 明确要求引擎启动和引擎时间
如果设备具有相同的用户名和安全名称但不同的 Authphrase 和隐私短语以及(可能相同的 engineId),SNMP4J 如何区分设备提前致谢。