IPMI Exporter
智能平台管理接口(Intelligent Platform Management Interface)是一种 Intel 架构的企业系统的周边设备所采用的一种工业标准。IPMI亦是一个开放的免费标准,用户无需支付额外的费用即可使用此标准。IPMI 能够横跨不同的操作系统、固件和硬件平台,可以智能的监视、控制和自动回报大量服务器的运作状况,以降低服务器系统成本。
针对 IPMI 管理工具 Prometheus 社区开发了一个 IPMI Exporter 来通过 IPMI 来获取监控数据,官方仓库是 https://github.com/prometheus-community/ipmi_exporter ,最新版本是 v1.4.0 ,发布于进 2021 年的 6 月 2 日。
IPMI Exporter 支持通过常规的 /metrics
接口暴露数据,以及通过 RMCP 支持 IPMI 的 /ipmi
接口,RMCP 是一个运行在一台主机上的导出器可以通过传递 target
参数来监视大量的IPMI接口。
IPMI Exporter 依赖 FreeIPMI 套件中的工具去实现对实际的 IPMI 的执行。
安装运行
从 https://github.com/prometheus-community/ipmi_exporter/releases 下载最新的适合自己的版本,一个最简单的启动方式如下:
./ipmi_exporter
支持的参数包括
- web.listen-address: 程序启动后默认的监控端口和地址,缺省的是
:9290
- config.file: 程序启动的配置文件,缺省是 none 。
- freeipmi.path: FreeIPMI 套件的执行路径,缺省是从
$PATH
中查找。
也可以使用 ./ipmi_exporter -h
来获取帮助信息,另外需要确认安装的 FreeIPMI 套件支持下列工具
- ipmimonitoring/ipmi-sensors
- ipmi-dcmi
- ipmi-raw
- bmc-info
- ipmi-sel
- ipmi-chassis
如果你以非特权用户的身份运行 IPMI Exporter,但需要以root用户的身份执行FreeIPMI 工具,你可以这样做:
- 在 sudoers 文件中运行下列命令的执行
ipmi-exporter ALL = NOPASSWD: /usr/sbin/ipmimonitoring,\
/usr/sbin/ipmi-sensors,\
/usr/sbin/ipmi-dcmi,\
/usr/sbin/ipmi-raw,\
/usr/sbin/bmc-info,\
/usr/sbin/ipmi-chassis,\
/usr/sbin/ipmi-sel
- 在模块配置中,使用 sudo 覆盖收集器命令,并将实际命令添加为自定义参数。“ipmi”采集器示例:
collector_cmd:
ipmi: sudo
custom_args:
ipmi:
- "ipmimonitoring"
对于 IPMI Exporter 一些更详细的配置可以参考 https://github.com/prometheus-community/ipmi_exporter/blob/master/docs/configuration.md 。
指标
IPMI Exporter 可以获取很多指标,比如一些元数据、BMC 信息、 Chassis Power 状态、电力消耗、系统事件日志信息、超微 LAN 模式的设置、传感器信息,传感器信息包括温度传感器、风扇转速传感器、电压传感器、电流传感器、电源传感器、其他传感器 。
详细的指标请参考 https://github.com/prometheus-community/ipmi_exporter/blob/master/docs/metrics.md 。