dellhw_exporter
Prometheus exporter for Dell Hardware components using OMSA.
The exporter was originally made by PrFalken. Due to some issues in the code, I rewrote the whole exporter using the "node_exporter" pattern and therefore moved it from being a fork out, to a standalone repository.
Omreport parsing functions were borrowed from the Bosun project, thank you very much for that, they are the most tedious part of the job.
This exporter wraps the omreport command from Dell OMSA. If you can't run or get any output from omreport on your system, then the exporter probably won't export any metrics.
Compatibility
Tested Dell OMSA Compatibility
The dellhw_exporter has been tested with the following OMSA versions:
7.48.49.1
Kernel Compatibility
Please note that only kernel versions that are supported by DELL DSU / OMSA tools are working!
State 07.06.2019: Dell OMSA DSU_19.05.00 is not compatible with 5.x kernel it seems (e.g., Fedora uses that kernel).
Should you run into issues when using the Container image, please follow the Troubleshooting - No metrics being exported.
Collectors
For a list of the available collectors, see Collectors doc page.
Configuration
For flags and environment variables, see Configuration doc page.
Caching
Optional caching can be enabled to prevent performance issues caused by this exporter, see Caching doc page.
Running in Container
Container Image available from:
(Docker Hub is not receiving new images begining from releasev1.10.0)
Pull the Container Image
Each Git tag is built and published as a release and container image.
Quay.io
docker pull quay.io/galexrt/dellhw_exporter
GHCR.IO
docker pull ghcr.io/galexrt/dellhw_exporter
Run the Container Image
NOTE The --privileged flag is required as the OMSA needs to access the host's devices and other components.
docker run -d --name dellhw_exporter --privileged -p 9137:9137 quay.io/galexrt/dellhw_exporter
I can recommend adding the following flags to the docker run command:
--restart=alwaysto ensure the container is restarted on failure or system reboot.-v /etc/hostname:/etc/hostname:ro -e HOSTNAME=$(cat /etc/hostname)to set the container's hostname to the host's hostname (this is useful for Omreport data/Prometheus labels).-v /etc/os-release:/etc/os-release:roto ensure the container has access to the host's OS release information (this is useful for Omreport data/Prometheus labels).
Running without Docker / Podman
To run without Docker / Podman either download a release binary or build it (using make build command):
./dellhw_exporter
./dellhw_exporter --help
./dellhw_exporter [YOUR_FLAGS]
The DELL OMSA services must already be running for the exporter to be able to collect metrics!
E.g., run /opt/dell/srvadmin/sbin/srvadmin-services.sh start or systemctl start SERVICE_NAME (to enable autostart on use systemctl enable SERVICE_NAME; where SERVICE_NAME are the DELL OMSA service(s) you installed).
Prometheus
The exporter by default runs on port 9137 TCP.
Example static Prometheus Job config:
[...]
- job_name: 'dellhw_exporter'
# Override the global default and scrape targets from this job every 60 seconds.
scrape_interval: 60s
static_configs:
- targets:
- 'YOUR_EXPORTER_SERVER_HERE:9137'
[...]
Monitoring
Checkout the files in the contrib/monitoring/ directory.
Installation
Troubleshooting
Development
Golang version 1.26 is used for testing and building the dellhw_exporter.
go mod is used for "vendoring" of the dependencies.