V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
stayma
V2EX  ›  程序员

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

  •  
  •   stayma · 2 天前 · 1800 次点击

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

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

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

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

    求助

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

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

    深信服、华三、华为都有详细 mib 跟 oid ,再不行可以用 mib browser 或者 snmpwalk 遍历一次
    defunct9
        18
    defunct9  
       1 天前
    body007
        19
    body007  
       1 天前
    @felixcode 对的,好像是这个命令可以把设备所有 oid 列出来。要不就得找厂家提供了。
    julyclyde
        20
    julyclyde  
       1 天前
    这年头再开发 snmp 类的管理系统有啥意义啊
    早都已经成熟过好几遍了
    oom
        21
    oom  
       1 天前
    有目标设备的 ssh 登录权限没,有的话直接上 netmiko ,省去找 OID 的烦恼,不过这是 python 写的,可以整个定时任务将收集到的数据写到库里,golang 提供交互 API
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   894 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:41 · PVG 03:41 · LAX 12:41 · JFK 15:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.