The IPMI exporter now supports using a Go-native IPMI implementation, powered by go-ipmi. In doing so, the exporter can run without the FreeIPMI suite of tools. This mode of operation is currently considered experimental. But it is being actively maintained/developed, and is likely the future of this exporter.
In general, if you have the time to spare, it would be great if you could give this a spin and provide feedback if you can spot anything is not working in native-IPMI mode that is working via FreeIPMI (the default mode).
Besides that, the native implementation also offers some real benefits:
- No more execution of external commands
- If you are affected by #227 - this cannot happen with native IPMI
- Some collectors may require less round-trips, as the exporter has more control over the IPMI calls being made
- The BMC watchdog collector now works remotely
- In the future, as the native implementation matures, it might provide better data in certain situations
Simply run the exporter with --native-ipmi
. But please make sure to read the
rest of this document.
There are some subtle differences to be aware of, compared to the FreeIPMI-based collectors:
- All collectors:
- The following config items no longer have any effect:
driver
(only local andLAN_2_0
are supported, please open an issue if you rely on another driver)workaround_flags
(not supported by go-ipmi, please open an issue if you rely on this)collector_cmd
,collector_args
,custom_cmd
- no longer applicable, please see also privileges section below
- The
privilege
config item should no longer be needed (FreeIPMI restricts this to "OPERATOR" by default, but go-ipmi does not)
- The following config items no longer have any effect:
- ipmi collector: sensors can now have a
state
value of3
("non-recoverable") - a value that FreeIPMI does not provide - chassis collector: in the native collector, the representation changed
from
"Current drive fault state (1=false, 0=true)."
to"Current drive fault state (1=true, 0=false)."
, simply because the current representation is weird and will likely also be changed in a future major release; same thing for the fan fault state - bmc collector: this needs some testing, specifically the
system_firmware_revision
, as not all hardware supports this
Since no external commands are executed in native IPMI mode, none of the sudo
trickery described in
privileges
will work anymore. Make sure the exporters runs as a user that has access to
the local IPMI device (for local scraping, for remote scraping no special
privileges should be required)
Please open an issue if you run into problems using the native IPMI mode.