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

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

  •  
  •   stayma · 1 天前 · 1483 次点击

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

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

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

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

    求助

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

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

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