关于 SNMP 协议,特来 v2 站大佬指点!脑袋都要扣烂了! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
stayma
V2EX    程序员

关于 SNMP 协议,特来 v2 站大佬指点!脑袋都要扣烂了!

  stayma 14 天前 2460 次点击

处于某种不可说原因,我需要开发一个内网 IT 设备 运维监控系统(简易版,能抓服务器、交换机、路由器的基本运行数据即可)。

由于要抓交换机和路由器还有一些安全设备,只能选择 snmp 协议!

但!我实在是搞不定了,当我个半吊子深入了解 snmp 协议后,发现这玩意儿简直是个互联网盲区啊! google 、baidu 、doubao 、DeepSeek 都问烂了,头发是一把一把掉啊,我都无法解决这个 OID 的问题!

我了解到 OID 这个东西,每个设备都不一样,在网上有查不到,厂商说是会公布,我也没找到。。。

求助

各位大佬,有没有什么办法能达到接入设备自动抓取 OID 、或者说有没有什么标准库,类似大家都遵守的规则,能让我接入不同的设备都能获取到他的数据?比如:CPU 使用率、内存使用率、硬盘使用率、出入接口流量等等信息呢?

21 条回复    2025-09-26 17:37:34 +08:00
stayma
    1
stayma  
OP
   14 天前
对了,我后端用的 golang ,有没有什么三方库能让我站在巨人的肩膀上?
felixcode
    2
felixcode  
   14 天前
用 snmpwalk 做调试
wheat0r
    3
wheat0r  
   14 天前
以用户的身份找厂家要。拿到一个产品的 MIB 基本上可以分析出一整个产品线。
国内厂商非常不喜欢公布 MIB ,都得找渠道要。
stayma
    4
stayma  
OP
   14 天前
或者说能在哪里收集(白嫖)各种 OID ?
stayma
    5
stayma  
OP
   14 天前
@wheat0r 他们不给。。。。
chenplum
    6
chenplum  
   14 天前
华为设备可以看产品文档
pingdog
    7
pigdog  
   14 天前 via Android
某些厂家不是固定的,要遍历某些 oid 才出来
CPU 使用率、内存使用率、硬盘使用率、出入接口流量
这些都是公有 oid ,搜下 mib browser 用关键字找到节点 id ,然后遍历就有了
Azuku
    8
Azuku  
   14 天前 via iPhone
网络设备基本上去官网都能找到,关键字是 snmp 或者 mib ,安全设备如果是监测 cpu 内存这些信息的话,大概率是和 linux 一样的 1.3.6.1.4 开头的那一套,实在找不到就去 https://mibbrowser.online/找
PolarBears
    9
PolarBears  
   14 天前
很多厂商要签 NDA 才给 mib 库,然后有 mib 用起来也很难。我用的是 snmp_exporter 然后要用它的那 generating 去生成配置文件。但有时候因为各种问题会导致它无法解析 mib 文件,需要根据错误自己去手动修改 mib 文件。
v1
    10
v1  
   14 天前
小厂不会有,大厂看文档,中厂都是公版方案贴标,你只要找一下公版方案的就有了
Victor215
    11
Victor215  
   14 天前 via Android
刚好做过这块儿。
CPU 使用率、内存使用率、硬盘使用率 这三个不是 1.3.6.1 常用的 mib ,一般会是私有的节点。
出入接口流量,这个 ifxtable 有的。可以看这个文档: https://info.support.huawei.com/hedex/api/pages/EDOC1100277650/AZM1016J/04/resources/mib/yunshan/dc_8090_IF-MIB_mibtable_1.3.6.1.2.1.31.1.1.html
当然,最好是问厂家要,snmp 属于比较古老的协议,每家实现或多或少有点差异。
Victor215
    12
Victor215  
   14 天前 via Android
话说这块儿华为的文档确实写的好,是花了钱的
kokutou
    13
kokutou  
   13 天前 via Android   1
1 自动遍历
2 大厂给的也不一定准,比如沟槽的华为
3 今天是准的,下次系统软件升级就给你改了,比如沟槽的华为
dacapoday
    14
dacapoday  
   1 天前
@kokutou 换供应商了吧,或者良心 wx 离职了
zhangrandl
    15
zhangrandl  
   13 天前
放弃吧,国内厂商基本上都不按照这一套走,给了文档你都查不出来,还有一些查出来以后是二进制编码,还需要二次解析……完全不可信,当然,大部分 metric 还是有的,比如机器状态,网卡状态这种,但是有一些偏门的,就是不行
stayma
    16
stayma  
OP
   13 天前
@Victor215 现在也只有 SNMP 协议能通杀这些设备呢。没办法
winterx
    17
winterx  
   13 天前
不说一下什么设备,怎么帮你找 mib

深信服、华三、华为都有详细 mib 跟 oid ,再不行可以用 mib browser 或者 snmpwalk 遍历一次
defunct9
    18
defunct9  
   13 天前
body007
    19
body007  
   13 天前
@felixcode 对的,好像是这个命令可以把设备所有 oid 列出来。要不就得找厂家提供了。
julyclyde
    20
julyclyde  
   13 天前
这年头再开发 snmp 类的管理系统有啥意义啊
早都已经成熟过好几遍了
oom
    21
oom  
   13 天前
有目标设备的 ssh 登录权限没,有的话直接上 netmiko ,省去找 OID 的烦恼,不过这是 python 写的,可以整个定时任务将收集到的数据写到库里,golang 提供交互 API
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     885 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 22:24 PVG 06:24 LAX 15:24 JFK 18:24
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86