prometheus-community / ipmi_exporter

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

When to support raw command? #86

Closed jeyrce closed 2 years ago

jeyrce commented 3 years ago

As I see, the exporter worked depends on some binary tool installed like ipmitoool ipmi-dcmi and so on. But why not send a request to target ipmi with raw command like 0x20 ? We can work it with no dependance and get much more metrics as we can.

bitfehler commented 3 years ago

Hi there. The exporter depends on the FreeIPMI suite of tools. Implementing IPMI is a huge undertaking, and even sending a raw command is not simple, you'll need e.g. networking, session establishment, login, etc. We looked at several Go IPMI libraries, but none seemed mature and active enough to depend on them. IPMI also contains a lot of vendor-specific quirks, which FreeIPMI handles for us (to some extent at least).

That said, FreeIPMI also comes with a tool called ipmi-raw, which is used to send custom raw commands. It is already being used in the "sm-lan-mode` collector. Using this, it is quite easy to extend the exporter to provide more metrics.

Maybe you can provide some examples of what metrics you are interested in? If they are generic enough we could add them to the exporter.

jeyrce commented 3 years ago

Thanks, I'd like to do it sometimes and create a pr, just an idea now. In fact we can scrape metric by redfish restful api, it's a simpler way(but i found it's unreliable while scrape hardware metrics).

jeyrce commented 2 years ago

Close hte issue in few minutes.