IPMI Exporter Setup
Installing and configuring Prometheus IPMI Exporter for hardware monitoring
Prerequisites
Before installing the IPMI Exporter, ensure that:
-
The target system has IPMI-capable hardware
-
You have administrative access to the system
-
The following packages are installed:
# For Debian/Ubuntu sudo apt-get install -y freeipmi-tools # For RHEL/CentOS sudo yum install -y freeipmi-tools
BMC Access:
The IPMI Exporter requires access to the Baseboard Management Controller (BMC). Make sure you have appropriate credentials and network access to the BMC.
Installation
Basic Installation
-
Download the latest release from the official GitHub releases page:
export VERSION=<latest_version> # Replace with the current version number wget https://github.com/prometheus-community/ipmi_exporter/releases/download/v${VERSION}/ipmi_exporter-${VERSION}.linux-amd64.tar.gz
-
Extract the tarball:
tar -xvf ipmi_exporter-${VERSION}.linux-amd64.tar.gz
-
Move the binary to the correct location:
sudo mv ipmi_exporter-${VERSION}.linux-amd64/ipmi_exporter /usr/local/bin/
-
Create a system user for the IPMI exporter:
sudo useradd -rs /bin/false ipmi_exporter
-
Create a configuration directory and file:
sudo mkdir -p /etc/ipmi_exporter sudo nano /etc/ipmi_exporter/ipmi_config.yml
Basic configuration example:
# Example IPMI Exporter configuration modules: default: collectors: - bmc - ipmi - chassis - dcmi user: admin pass: password privilege: user
-
Create a systemd service file:
sudo nano /etc/systemd/system/ipmi_exporter.service
Add the following content:
[Unit] Description=IPMI Exporter After=network.target [Service] User=ipmi_exporter Group=ipmi_exporter Type=simple ExecStart=/usr/local/bin/ipmi_exporter --config.file=/etc/ipmi_exporter/ipmi_config.yml [Install] WantedBy=multi-user.target
-
Enable and start the service:
sudo systemctl daemon-reload sudo systemctl enable ipmi_exporter sudo systemctl start ipmi_exporter
-
Verify installation:
sudo systemctl status ipmi_exporter
Also check if the metrics endpoint is accessible:
curl http://localhost:9290/metrics
Configuration Options
The IPMI Exporter configuration file (ipmi_config.yml
) supports several options:
Remote Monitoring
To monitor remote IPMI-enabled devices:
-
In your Prometheus configuration, use the target parameter:
scrape_configs: - job_name: "ipmi" params: module: [default] target: [192.168.1.100] # IP of the remote BMC static_configs: - targets: ["ipmi-exporter:9290"]
-
Update the IPMI exporter configuration to handle remote targets:
modules: default: collectors: - bmc - ipmi user: admin pass: password driver: LAN_2_0
Troubleshooting
-
Connection issues:
- Try using the
ipmitool
command directly to test connectivity
- Try using the
-
Missing sensors:
- Some hardware may not expose all sensor types
- Try different collector configurations
- Check if the BMC firmware is up to date
Resource Usage:
IPMI Exporter has low resource requirements compared to other exporters. However, be mindful of the scrape interval, as each IPMI request generates some load on the BMC.