Commit Graph

23 Commits

Author SHA1 Message Date
Conrad Hoffmann 05e849c91b README: remove mention of arm64 docker image
The prometheus tooling currently makes it impossible to build containers
for arm64.
2023-08-31 16:02:21 +02:00
Gabriele Iannetti b72f43d24f Refactor rpm build process
* Move rpm build files to contrib/rpm/ directory structure
* Update top level README.md for referencing to contrib/rpm/README.md for rpm build
2022-12-02 14:19:36 +01:00
Gabriele Iannetti 188c9ef67f Update README.md for Building RPM Package 2022-11-24 11:31:54 +01:00
SuperQ 39622179c4
Add TLS/auth config
Add the exporter-toolkit to support TLS and authentication.
* Cleanup error throwaway in logging calls.
* Bump Go modules.

Signed-off-by: SuperQ <superq@gmail.com>
2022-02-24 13:03:23 +01:00
Conrad Hoffmann 8f3072a1fe Fix instructions for building docker image
This fixes #84
2022-02-21 21:47:29 +01:00
SuperQ e649afb008
Update for Prometheus Community
* Update Makefile.common from prometheus/prometheus.
* Switch from Cirrus to CircleCI.
* Add CHANGELOG.md and VERSION.
* Drop inline /vendor.
* Update references to old github URL.
* Update copyrights.
* Update Go version.
* Skip building on aix (undefined: syscall.Mkfifo)

Signed-off-by: SuperQ <superq@gmail.com>
2021-09-21 13:42:22 +02:00
Conrad Hoffmann 67041ef633 The great refactoring
- Move every collector into its own file
- Move FreeIPMI code into own package
- Allow more customization of commands executed by collectors
- Split up documentation, so README is a little less overwhelming

A single commit message does not do justice to the amount of changes
here, but hey... :)
2021-06-01 22:38:23 +02:00
Conrad Hoffmann 57c0f966d0 Make system firmware version optional in BMC info
There are systems that do not make this available, so don't make the
entire collector fail if only this metric can not be read. Instead, set
it to "N/A" if it cannot be determined.

This fixes #57.
2020-10-22 18:09:14 +02:00
Conrad Hoffmann 2ae0db3934 Misc doc fixes for README and example configs 2020-07-26 17:16:30 +02:00
Conrad Hoffmann 35a6530c50 Document new "system firmware version" in BMC info 2020-07-26 16:46:54 +02:00
Conrad Hoffmann 0aa63d4c21 Add SEL collector
It exposes two metrics about the IPMI system event log (SEL), the
current number of entries stored in it and the free space for new
records. The collector is not enabled by default, it has to be
explicitly enabled in the config.

Related to #41.
2020-04-22 22:58:29 +02:00
cawamata fff7d37cc8
add ipmi-chassis info to README.md 2020-01-29 09:13:23 +09:00
Conrad Hoffmann f76900aa23 Refactor and update README a bit 2019-10-18 15:06:28 +02:00
Conrad Hoffmann 5e699d473e Add Cirrus CI integration 2019-10-16 13:52:36 +02:00
Michael Sherman 25d1fd0ef8 Check chassis power state
Use ipmi-chassis to check power on /off
report via ipmi_chassis_power_state
enable via "chassis" module
2019-10-14 15:43:30 -04:00
Aggelos Kolaitis 277c9cc91c Added Dockerfile and docker-compose.yml 2019-10-11 22:38:21 +03:00
cawamata e2c299b38e
Update README.md 2019-10-10 11:04:18 +09:00
cawamata d0b97919ac
Add how to execute as non root to README.md
https://github.com/soundcloud/ipmi_exporter/issues/32
2019-10-06 18:35:19 +09:00
Conrad Hoffmann 1a99329314 Refactor mapping of target to IPMI settings
Specifically, allow definition of a set of settings as module in the
configuration file, and the ability to use these settings by setting the
`module` URL parameter to the respective module name when scraping.

THIS COMMIT CHANGES THE CONFIG FORMAT IN A NON-BACKWARDS-COMPATIBLE WAY!

Based on this, the following "side effects" are noteworthy:

 - the exporter no longer requires a config file
 - the IPMI "privilege level" can be set in the config file
 - collectors can be enabled/disabled in the config file
 - anonymous IPMI access is now theoretically possible
 - there are now two example configurations (local & remote)

This fixes #10 by allowing to set the privilege level.
2019-03-16 16:11:32 +01:00
Conrad Hoffmann 25e67b2f9c Switch to kingpin command line parser
Unfortunately this is a breaking change, as this means going from
`-config.file` to `--config.file` syntax, but it needs to happen
eventually. It better aligns the IPMI exporter with the rest of the
Prometheus eco-system.

As a first benefit, expose the command line parameters that control the
logging library.
2019-02-20 20:11:49 +01:00
Conrad Hoffmann 2c927eb68e Support collecting local IPMI metrics
This enables the standard `/metrics` endpoint. A scrape will trigger the
collection of IPMI metrics from the local machine (that the exporter is
running on).
2018-09-20 16:27:03 +02:00
Conrad Hoffmann 9fb5f7296c Handle tool-specific failures more gracefully
Instead of failing hard and not returning any metrics at all if just one
(or two) of the three calls to IPMI tools fail, return whatever data was
properly received and add a `collector` label to the `ipmi_up` metric
indicating which tools failed.

This is only a small step towards the concept of "collectors" like they
exist e.g. in the node exporter, but it should help solve #1. Additional
functionality, like disabling certain collectors, can be built on top of
this.

Currently, an error in the `ipmi` collector is always logged as an error,
In the `dcmi` and `bmc` collectors, an error retrieving the data is only
logged as debug output, but an error processing retrieved data is logged
as an error. This should cover most use cases and will be improved upon
once more work is done to make the collectors selectable per scrape.
2018-07-31 09:24:54 +02:00
Conrad Hoffmann 670b92c799 Initial public release 2018-05-24 16:28:06 +02:00