prometheus-community / ipmi_exporter

Remote IPMI exporter for Prometheus
MIT License
469 stars 133 forks source link

Fail to compare servers by manufacturer_id #142

Closed jairoserrano closed 1 year ago

jairoserrano commented 1 year ago

I need to create a query to compare which servers have high temperature, but only HP servers.

For instance: If it is HP the temperature should NOT be higher than 40. If it is Supermicro, it should not be higher than 50.

(ipmi_bmc_info{manufacturer_id="Hewlett-Packard (11)",job="ipmi"} == 1) and (ipmi_temperature_celsius{name="02-CPU 1",job="ipmi"} > 40)

I created a query, but it does not work. I would appreciate to know if it is a bug or I am crossing the data wrong.

bitfehler commented 1 year ago

I am just making this up, the exact details depend on how your data is structured, but you will want something along these lines:

ipmi_temperature_celsius{name="02-CPU 1",job="ipmi"} * on (instance) group_left (manufacturer_id) ipmi_bmc_info{manufacturer_id="Hewlett-Packard (11)"}

This should (or is supposed to, again, I am making this up) give you the temperature of all HP servers (because ipmi_bmc_info is always 1, so the multiplication doesn't do anything).

All this has however nothing to do with the exporter. If the data is there you will have to find the right query. I admit the documentation is sparse. The #prometheus IRC channel might be a good place to get more help if you need it.