登录
首页 >  Golang >  Go问答

gosnmp发出snmpwalk请求后为什么会在29秒后出现超时?

来源:stackoverflow

时间:2024-02-14 22:09:25 184浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《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。重试和超时字段是否仅映射到 -r 和 -t 命令行参数? 这些是针对同一设备的三个连续测试的日志。

{"已用时间":28596.288132,"time":"2021-10-11T18:24:14-04:00","message":"testSnmpWalk 成功"}

{"error":"请求超时(0次重试后)","已用时间":29571.202639,"time":"2021-10-11T18:43:37-04:00","message":" testSnmpWalk 失败”}

{"已用时间":14645.645597,"time":"2021-10-11T18:44:40-04:00","message":"testSnmpWalk 成功"}


正确答案


我的解决方案是使用 exec.Cmd 调用 net-SNMP。虽然需要进行一些工作来传输和解析结果,但我对性能感到满意。

今天关于《gosnmp发出snmpwalk请求后为什么会在29秒后出现超时?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>