问题标签 [gosnmp]
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.
datetime - 在 GoLang 中将 datetime OctetString 转换为人类可读的字符串
如何将日期时间八进制字符串转换为 ASCII。我通读了python netsnmp中的一个示例,但仍然无法解决它。
这是我从gosnmp收到的[]uint8
或值的 Go 语法表示
日期时间的输出应该是这样的:
这是 mibs:oid:HOST-RESOURCES-MIB::hrSWInstalledDate
有人可以给我一些关于如何使用二进制将其解码为人类可读的 ascii 或字符串的想法。
go - gosnmp 从 SNMP PDU 获取八位字节串
我正在尝试OctetString
从包返回的 SNMP PDU 中获取值gosnmp
。甚至字节就足够了。
这是我的代码:
当我使用该MapBPIIfindex
方法时,我得到以下输出:
现在,这应该包含一个OctetString
. uint8 字节应解码为Fa0/1
,但我无法做到这一点。
当我更改log.Println(p.Value)
为 时log.Println(p.Value.([]uint8))
,我收到以下错误:
我怎样才能得到这个值?文档对此并不十分清楚。
python - 从具有三个库的 OID 读取 SNMP 会给出不同的执行时间
我已经习惯easysnmp
阅读 SNMP OID,但我pysnmp
现在选择了库,因为easysnmp
不支持Python3asyncio
中的架构。
考虑的问题是,pysnmp
它比其他库太慢:
pysnmp:
出去:
简单的snmp
出去:
gosnmp
出去:
快 30 倍于pysnmp
我需要在Python3go-routine
中填充的异步性能。asyncio
那么,这是否意味着我应该从 迁移pysnmp
到gosnmp
?
go - 创建用于解组以下 yaml 文件的 go 结构的更好方法是什么?
我正在解组一个 yaml 文件snmp.yml。我想知道是否可以就创建更好的结构获得建议。这就是我现在所拥有的,但我猜我为 Metric 创建的结构很好,但 SNMPyaml 需要更好的重组才能完全能够正确使用未编组的数据。
非常感谢这里的任何建议/反馈。先感谢您!
我得到的错误是:
go - 将 SNMP 八位字节字符串转换为 golang 中的文本约定
我正在使用 gosnmp 包从节点获取 SNMP 值。返回的值是十六进制字符串。如何使用 MIB 中指定的显示提示和文本约定将其转换为显示字符串。
有可用的 MIB 解析器,但他们会将 OID 转换为文本名称,这不是我的要求。
例如https://www.rfc-editor.org/rfc/rfc2579定义
现在,如果我们将十六进制字符串转换为 ascii,因为ifPhysicalAddress
它的形式是,XXXXXXXXXXXX
但如果我们应用 DISPLAY-HINT,它会变成XX:XX:XX:XX:XX:XX
我们可以根据具体情况进行处理,但是否有一个库或其他东西可以读取 MIB 并返回显示字符串。
go - 为什么使用 gosnmp 发出的 snmpwalk 请求会在 29 秒后超时?
我正在使用 gosnmp 遍历 snmp 接口表,1.3.6.1.2.1.2.2.1 和 1.3.6.1.2.1.31.1.1.1。完成此任务所需的时间有很大差异,我认为这取决于计算机上的负载和网络拥塞。在针对 V1 设备的测试中,我在 29 秒后超时。这是因为组成 snmpwalk 命令的 getnext 请求之一超过了超时时间吗?有没有办法区分调用繁忙的设备和许多 getnext 请求失败之一(想要更长的超时)和调用死设备(想要更短的超时)。在snmpwalk中间超时后,只有最后一个getnext重试了吗?我假设 gosnmp 的 snmpwalk 包装了标准的 snmpwalk。Retries 和 Timeout 字段是否仅映射到 -r 和 -t 命令行参数?这些是针对同一设备的三个连续测试的日志。
{"经过时间":28596.288132,"time":"2021-10-11T18:24:14-04:00","message":"testSnmpWalk 成功"}
{“错误”:“请求超时(重试 0 次后)”,“经过时间”:29571.202639,“时间”:“2021-10-11T18:43:37-04:00”,“消息”:“testSnmpWalk 失败” }
{"经过时间":14645.645597,"time":"2021-10-11T18:44:40-04:00","message":"testSnmpWalk 成功"}