一、MIB库说明

一线品牌服务器通常会提供现成的Zabbix监控模板,或至少提供一个直观的OID说明文档链接。但是对于二线品牌或DIY厂商,往往仅提供一个MIB库文件,用户需借助特定工具加载该MIB文件,才能获取所需的信息。

MIB的本质:设备的数据字典
MIB(Management Information Base) 是SNMP协议的核心数据库,定义了设备中所有可通过SNMP管理的数据对象(OID)及其属性:
数据类型(如整数、字符串、计数器)
读写权限(Read-Only/Read-Write)
描述信息(如”CPU温度”的单位是摄氏度)
厂商MIB文档 = 设备支持的OID清单 + 详细说明,相当于设备的使用说明书

为什么需要MIB文件?
解决OID可读性问题:
1.3.6.1.2.1.1.5.0 → 通过MIB解析为人类可读的sysName.0(设备名称)
确保兼容性:不同厂商的设备通过标准MIB(如MIB-II)提供统一接口

二、Mib库加载工具

下载链接:https://www.ireasoning.com/download/mibfree/setup.exe

选择MIB库文件
选择mib库文件

填写服务器的带外ip、团体名、snmp版本等信息
配置agent

左侧的树形目录展开,选择我们的想要查看的信息
CPU索引OID
CPU型号OID
CPU健康状态OID

三、Zabbix监控配置

创建模版-创建cpu的自动发现规则
CPU索引OID注意前面有一个.
创建CPU自动发现规则
然后在CPU的自动发现规则里面添加我们想要的监控项
比如CPU的健康状态、型号、核心、线程、频率、温度等等
CPU健康状况监控项
CPU型号监控项
CPU所有的监控项

配置CPU健康状态的触发器
CPU健康状态触发器1
CPU健康状态触发器2
然后继续完成内存监控,过程跟CPU一样,先创建自动发现规则,然后是各个监控项。
内存健康状态
内存健康状态监控项
内存健康状态触发器

其他关于硬盘、风扇、电源、GPU显卡也都有对应的OID,需要监控什么数据就添加响应的监控项即可。
显卡

值得注意的地方是关于温度的监控项,上图中可以看到该MIB库中关于温度获取到的数据是35 Deg_C
这是一个字符串,如果你直接按照这个去配置触发器会发现格式有问题,是不能正常新建的。
所以需要先对温度的监控数据做一个预处理

官网关于监控预处理的参考文档:
https://www.zabbix.com/documentation/current/zh/manual/config/items/preprocessing#regexp
官网关于预处理正则表达式详解

这里我们以CPU温度为例:
CPU温度监控项预处理
[0-9]+ 这个是我的正则表达式,我只需要关于数字的部分。后面的\0 的意思是替换成匹配的文本
如果你填写的是 \1 那么获取的到的数据只会是CPU温度的第一个数字 也就是5
CPU温度监控项预处理2

然后我们把温度监控项的单位我们设置成度数
CPU温度度数单位

CPU温度监控项的触发器
CPU温度监控项触发器
触发器名称这个 {#CPU} 宏是干嘛的? 这个是监控模版中CPU自动发现规则里面的索引,目的是当CPU监控告警发出来的时候,我们可以明确知道是具体哪一个CPU。
CPU宏

这里我们可以做一个测试,故意将CPU温度告警阈值设置低一点,看一下我们飞书获取到的监控数据
CPU温度告警示例

其他硬件的监控添加完成之后,该模版最终的一个效果:
最终效果