一、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库文件

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

左侧的树形目录展开,选择我们的想要查看的信息



三、Zabbix监控配置
创建模版-创建cpu的自动发现规则


然后在CPU的自动发现规则里面添加我们想要的监控项
比如CPU的健康状态、型号、核心、线程、频率、温度等等



配置CPU健康状态的触发器


然后继续完成内存监控,过程跟CPU一样,先创建自动发现规则,然后是各个监控项。



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

值得注意的地方是关于温度的监控项,上图中可以看到该MIB库中关于温度获取到的数据是35 Deg_C
这是一个字符串,如果你直接按照这个去配置触发器会发现格式有问题,是不能正常新建的。
所以需要先对温度的监控数据做一个预处理
官网关于监控预处理的参考文档:
https://www.zabbix.com/documentation/current/zh/manual/config/items/preprocessing#regexp

这里我们以CPU温度为例:

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

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

CPU温度监控项的触发器

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

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

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