IPMI 实战:服务器硬件监控与异常告警

文章介绍了观测云基于 DataKit IPMI 采集器实现服务器硬件可观测的实践,无侵入采集温度、风扇转速、电压、功耗及设备状态等指标,并通过仪表板与告警规则,及时发现散热、电源及硬件异常风险,提升服务器运维效率。

最佳实践
banner.png

IPMI 介绍

IPMI 指标展示被监测设备的电流、电压、功耗、占用率、风扇转速、温度以及设备状态等信息。

在物理服务器、私有云资源池和机房设备运维场景中,操作系统层面的 CPU、内存、磁盘指标只能说明业务负载状态,无法直接反映主板、风扇、电源、温度、电压等硬件健康情况。一旦散热异常、电源不稳或设备状态异常未被及时发现,容易引发服务器降频、宕机、业务实例迁移失败等问题。

IPMI 通过独立于操作系统的管理通道暴露硬件运行状态,适合用于服务器硬件健康巡检、机房设备风险预警和远程故障定位。通过 DataKit 采集 IPMI 指标后,观测云可以把硬件健康指标纳入统一可观测体系,帮助运维人员从「设备是否健康」和「风险是否扩大」两个维度提前发现问题。

  1. IPMI 是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel 结构的企业系统中所使用的外围设备采用的一种工业标准。用户可以利用 IPMI 监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。
  2. IPMI 可以让运维系统无侵入获得被监控服务器等设备的运行健康指标,保障信息安全。

观测云

观测云是一款专为IT工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

部署 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。

登录观测云控制台,在 集成 -> DataKit 选择对应安装方式,当前采用 Linux 主机部署 DataKit。

配置采集器

# 安装 ipmitool
yum -y install ipmitool

# 加载模块
modprobe ipmi_msghandler
modprobe ipmi_devintf

# 验证 IPMI 返回数据
ipmitool -I lanplus -H <IP 地址> -U <用户名> -P <密码> sdr elist

# 进入 DataKit 安装目录下的 conf.d/samples 目录,复制采集器配置
cp ipmi.conf.sample ipmi.conf

# 配置好后,重启 DataKit 即可

接入注意事项

当前场景不建议使用 -I lan,它走 IPMI v1.5,容易出现 Unable to establish IPMI v1.5 / RMCP session。建议使用 -I lanplus

# 本地验证通过的命令
ipmitool -I lanplus -H xxx -U xxx -E -L USER -C 17 sdr elist

# 推荐配置
[[inputs.ipmi]]
  interval = "60s"
  election = false
  bin_path = "/usr/local/bin/ipmitool-dk"

  ipmi_servers = ["xxx"]
  ipmi_interfaces = ["lanplus"]
  ipmi_users = ["xxx"]
  ipmi_passwords = ["xxx"]

  metric_versions = [2]
  timeout = "30s"

如果 iDRAC 用户只有普通用户权限,DataKit 默认申请 ADMINISTRATOR 权限时可能出现 Set Session Privilege Level to ADMINISTRATOR failed: Unknown (0x81)。可给专用采集用户配置 IPMI LAN 管理员权限,或使用 wrapper 脚本强制添加 -L USER -C 17

sudo tee /usr/local/bin/ipmitool-dk >/dev/null <<'EOF'
#!/bin/sh
exec /opt/homebrew/bin/ipmitool -L USER -C 17 "$@"
EOF

sudo chmod +x /usr/local/bin/ipmitool-dk

sudo /usr/local/bin/ipmitool-dk -I lanplus -H xxx -U xxx -P 'xxx' sdr elist
sudo datakit service -R
datakit monitor | grep -i ipmi
sudo tail -n 200 /usr/local/datakit/log | grep -iE 'ipmi|error|dataway|upload'

Mac 上 Homebrew 安装的 ipmitool 通常位于 /opt/homebrew/bin/ipmitool,不要直接依赖 /usr/bin/ipmitool。同时不要修改 /usr/local/datakit/conf.d/samples/ipmi.conf,真实配置应放在 /usr/local/datakit/conf.d/ipmi/ipmi.conf。单机排障时建议设置 election = false,采集超时时可调大 intervaltimeout

关键指标

指标名 单位 描述
current ampere 电流
fan_speed RPM 风扇转速
power_consumption watt 功耗
status - 设备单元状态
temp temperature,C 温度
usage percent,percent 使用率
voltage volt 电压
warning - 告警开关

场景视图

登录 观测云控制台,点击「场景」 -「新建仪表板」,基于 IPMI 指标配置服务器硬件健康视图。

建议围绕服务器硬件健康配置以下仪表板,用于日常巡检和告警定位:

监控器(告警)

观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。

建议优先配置以下监控器,阈值可根据服务器型号、机房环境和历史基线调整:

设备状态异常告警

功耗异常告警

电压异常告警

风扇转速异常告警

温度过高告警

总结

通过 DataKit IPMI 采集器,观测云可以在不登录服务器业务系统、不安装额外业务探针的情况下,基于 iDRAC/IPMI 无侵入采集服务器硬件健康指标,覆盖温度、风扇转速、电压、电流、功耗、使用率和设备状态等关键数据。

本次完成了 IPMI 采集接入、指标确认、仪表板和监控器配置。仪表板按“总览 + 详情”设计,上方展示整体硬件健康状态,下方展开到具体传感器趋势和明细;监控器则围绕温度过高、风扇异常、电压异常、功耗异常和设备状态异常建立告警规则,帮助及时发现散热、电源和硬件模块风险。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台