SNMP、OID 与 MIB:网络监控的核心机制全解析
前言
点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。
作者:神的孩子都在歌唱
一. SNMP 、OID 与 MIB 的关系对象标识符(Object Identifier,OID) 是 SNMP代理提供的具有 唯一标识的键值,可保证对象在通信与信息处理中正确地定位和管理。 管理信息库(MIB,Management Information Base) 是TCP/IP网络管理协议标准框架的内容之一,MIB定义了受管设备必须保存的数据项、允许对每个数据项进行的操作及其含义, 即管理系统可访问的受管设备的控制和 状态信息等数据变量都保存在MIB中。
可以这样理解:
概念
类比
MIB
数据库表结构(定义了指标名称和类型)
OID
每个字段的唯一 ID
SNMP
用来访问这些字段的协议
也就是说:
• MIB 是“说明书”• OID 是“具体地址”• SNMP 是“读写工具”一. SNMP 是什么SNMP(Simple Network Management Protocol)
中文叫做简单网络管理协议,是 TCP/IP 协议族中用于管理和监控网络设备的标准协议。
它的主要功能包括:
• 获取设备状态(CPU、内存、流量等)• 修改设备配置• 发送告警(如链路断开、CPU 过载)SNMP 是典型的 C/S 架构:
角色
功能
Manager(管理端)
比如 Zabbix、Prometheus、Nagios,用来查询或接收设备信息
Agent(代理端)
运行在路由器、交换机、服务器上,负责提供数据
MIB(管理信息库)
存储监控指标定义的“数据库”
OID(对象标识符)
每个指标的唯一编号
SNMP 的基本工作流程
1. Manager 发送请求• 比如请求:“给我当前 CPU 使用率”2. Agent 从 MIB 中查找对应 OID• 每个监控项都有唯一 OID3. Agent 返回数据给 Manager • 比如返回 CPU 利用率 = 35%image-20241231001802792二. MIB(管理信息库)1. 概念MIB(Management Information Base)是一个树状结构的数据库,里面定义了设备可被管理的所有参数。
每一个 MIB 文件通常以 .mib 或 .txt 结尾,内容是一系列 变量定义 + OID + 类型。
例子(节选):
这表示:
• 系统描述信息 (sysDescr)• 对应的 OID 是 { icmp 4 }三. OID(对象标识符)OID(Object Identifier)是用一串数字来唯一标识设备上的某个管理对象。
比如:
对象
OID
含义
sysDescr
1.3.6.1.2.1.1.1
系统描述
sysUpTime
1.3.6.1.2.1.1.3
设备运行时间
ifInOctets
1.3.6.1.2.1.2.2.1.10
接口输入字节数
ifOutOctets
1.3.6.1.2.1.2.2.1.16
接口输出字节数
这串数字其实对应 MIB 树上的路径,可以用命令查看如下:
使用 snmpwalk 获取设备信息
代码语言:javascript复制snmpwalk -v2c -c public 192.168.1.1 system只查询某个 OID
代码语言:javascript复制snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.3.0常见 OID 分类(MIB-II 标准)
分类
OID
内容
system
1.3.6.1.2.1.1
系统信息(描述、运行时间)
interfaces
1.3.6.1.2.1.2
网卡接口流量统计
ip
1.3.6.1.2.1.4
IP 层信息
tcp
1.3.6.1.2.1.6
TCP 连接状态
udp
1.3.6.1.2.1.7
UDP 数据包统计
snmp
1.3.6.1.2.1.11
SNMP 协议自身统计
关注 公众号 神的孩子都在歌唱 可领取 几十G的 python ,java, 计算机基础,算法,网络等学习资料
你了解 SNMP 协议吗?
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客链接