Skip to main content
# HP iLO Metrics Exporter

Blackbox likes exporter used to exports HP Server Integrated Lights Out (iLO) states to Prometheus.

### Gauges

Here are the status code of gauge
```
0 - OK
1 - Degraded
2 - Dead (Other)
```


### Output example

Example of status of your iLO
```
health_at_a_glance:
battery: {status: OK}
bios_hardware: {status: OK}
fans: {redundancy: Redundant, status: OK}
memory: {status: OK}
network: {status: Link Down},
power_supplies: {redundancy: Redundant, status: OK}
processor: {status: OK}
storage: {status: Degraded}
temperature: {status: OK}
vrm: {status: Ok}
drive: {status: Ok}
```

The returned output would be:
```
hpilo_battery{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_storage{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 1.0
hpilo_fans{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_bios_hardware{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_memory{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_power_supplies{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_processor{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_network{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 2.0
hpilo_temperature{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_vrm{product_name="ProLiant DL380 Gen6",server_name="name.fqdn.domain"} 0.0
hpilo_drive{product_name="ProLiant DL380 Gen6",server_name="name.fqdn.domain"} 0.0
hpilo_firmware_version{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 2.5
```

### Installing

You can install exporter on the server directly or on separate machine.
To run, you must have `Python` and `pip` installed.

To install with `pip`:
```
pip install -e $HPILO_EXPORTER_DIR
```

Then just:
```
hpilo-exporter [--address=0.0.0.0 --port=9416 --endpoint="/metrics"]
```

### Docker

Prebuild images are available from the docker repository:
```
idnt/hpilo-exporter:latest
```


To build the image yourself
```
docker build --rm -t hpilo-exporter .
```

To run the container
```
docker run -p 9416:9416 hpilo-exporter:latest
```

You can then call the web server on the defined endpoint, `/metrics` by default.
```
curl 'http://127.0.0.1:9416/metrics?ilo_host=127.0.0.1&ilo_port=443&ilo_user=admin&ilo_password=admin'
```

Passing argument to the docker run command
```
docker run -p 9416:9416 hpilo-exporter:latest --port 9416 --ilo_user my_user --ilo_password my_secret_password
```

### Docker compose

Here is an example of Docker Compose deployment:

```yml
hpilo:
image: my.registry/hpilo-exporter
ports:
- 9416:9416
command:
- '--port=9416'
deploy:
placement:
constraints:
- node.hostname == my_node.domain
```

### Kubernetes

A helm chart is available at [prometheus-helm-addons](https://github.com/IDNT/prometheus-helm-addons).

### Prometheus config

Assuming:
- the exporter is available on `http://hpilo:9416`
- you use same the port,username and password for all your iLO

```yml
- job_name: 'hpilo'
scrape_interval: 1m
params:
ilo_port: ['443']
ilo_user: ['my_ilo_user']
ilo_password: ['my_ilo_password']
static_configs:
- targets:
- ilo_fqdn.domain

relabel_configs:
- source_labels: [__address__]
target_label: __param_ilo_host
- source_labels: [__param_ilo_host]
target_label: ilo_host
- target_label: __address__
replacement: hpilo:8082 # hpilo exporter.
```

Metadata

Release files for hpilo-exporter-forked 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hpilo-exporter-forked 0.4.3
File Size Uploaded
hpilo-exporter-forked-0.4.3.tar.gz 6.3 kB Details

Release files / hpilo-exporter-forked-0.4.3.tar.gz

Download URL hpilo-exporter-forked-0.4.3.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6fad6cd35fde50050c054660fc237ad4ca1c1b12ced6071447193aadce6085b2
BLAKE2b-256 checksum
How to use checksums
a53da30a1971b9c21e5988292fca0a573625d77d2797ef33478d43c4f2213175
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.12

Release history Release notifications | RSS feed

This release

0.4.3 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page