Sign inSign up

prometheuscommunity/ipmi-exporter

By prometheuscommunity

•Updated 17 days ago

prometheuscommunity/ipmi-exporter

Image
4

500K+

prometheuscommunity/ipmi-exporter repository overview

⁠Prometheus IPMI Exporter

Build Status

This is an IPMI exporter for Prometheus⁠.

It supports both the regular /metrics endpoint, exposing metrics from the host on which the exporter runs, as well as a /ipmi endpoint that supports IPMI over RMCP, implementing the multi-target exporter pattern. If you plan to use the latter, please read the guide Understanding and using the multi-target exporter pattern⁠ for an overview of that paradigm.

By default, the exporter relies on tools from the FreeIPMI⁠ suite for the actual IPMI implementation.

There is, however, experimental support for using the Go-native go-ipmi library⁠ instead of FreeIPMI. Feedback to help mature this support would be greatly appreciated. Please read the native IPMI documentation⁠ if you are interested.

⁠Installation

For most use-cases, simply download the the latest release⁠.

For Kubernetes, you can use the community-maintained Helm chart⁠.

Pre-built container images are available on dockerhub⁠ and quay.io⁠.

⁠Building from source

You need a Go development environment. Then, simply run make to build the executable:

make

This uses common Prometheus tooling to build the exporter and run tests.

Alternatively, you can use standard Go tooling, which will install the executable in $GOPATH/bin:

go install github.com/prometheus-community/ipmi_exporter@latest
⁠Building a container image

You can build a container image with the included docker make target:

make promu
promu crossbuild -p linux/amd64 -p linux/arm64
make docker

⁠Running

A minimal invocation looks like this:

./ipmi_exporter

Supported parameters include:

  • web.listen-address: the address/port to listen on (default: ":9290")
  • config.file: path to the configuration file (default: none)
  • freeipmi.path: path to the FreeIPMI executables (default: rely on $PATH)

For syntax and a complete list of available parameters, run:

./ipmi_exporter -h

Ensure that the following tools from the FreeIPMI⁠ suite are installed:

  • ipmimonitoring/ipmi-sensors
  • ipmi-dcmi
  • ipmi-raw
  • bmc-info
  • ipmi-sel
  • ipmi-chassis

When running a container image, make sure to:

  • set config.file to the path of the config file as seen within the container
  • expose the default TCP port (9290) or set web.listen-address accordingly

NOTE: you should use containers only when collecting remote metrics.

⁠Configuration

The configuration⁠ document describes both the configuration of the IPMI exporter itself as well as configuring the Prometheus server to scrape it.

⁠TLS and basic authentication

The IPMI Exporter supports TLS and basic authentication.

To use TLS and/or basic authentication, you need to pass a configuration file using the --web.config.file parameter. The format of the file is described in the exporter-toolkit repository⁠.

⁠Exported data

For a description of the metrics that this exporter provides, see the metrics⁠ document.

⁠Privileges

Collecting host-local IPMI metrics requires root privileges. See privileges⁠ document for how to avoid running the exporter as root.

Tag summary

Content type

Image

Digest

sha256:0662cadaf…

Size

15.5 MB

Last updated

about 1 year ago

docker pull prometheuscommunity/ipmi-exporter