Package: hpilo-exporter-forked
# HP iLO Metrics ExporterBlackbox likes exporter used to exports HP Server Integrated Lights Out (iLO) states to Prometheus.### GaugesHere are the status code of gauge```0 - OK1 - Degraded2 - Dead (Other)```### Output exampleExample 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.0hpilo_storage{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 1.0hpilo_fans{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0hpilo_bios_hardware{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0hpilo_memory{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0hpilo_power_supplies{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0hpilo_processor{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0hpilo_network{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 2.0hpilo_temperature{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0hpilo_vrm{product_name="ProLiant DL380 Gen6",server_name="name.fqdn.domain"} 0.0hpilo_drive{product_name="ProLiant DL380 Gen6",server_name="name.fqdn.domain"} 0.0hpilo_firmware_version{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 2.5```### InstallingYou 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"]```### DockerPrebuild 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 composeHere is an example of Docker Compose deployment:```ymlhpilo:image: my.registry/hpilo-exporterports:- 9416:9416command:- '--port=9416'deploy:placement:constraints:- node.hostname == my_node.domain```### KubernetesA helm chart is available at [prometheus-helm-addons](https://github.com/IDNT/prometheus-helm-addons).### Prometheus configAssuming:- 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: 1mparams:ilo_port: ['443']ilo_user: ['my_ilo_user']ilo_password: ['my_ilo_password']static_configs:- targets:- ilo_fqdn.domainrelabel_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.```