Commit Graph

15 Commits

Author SHA1 Message Date
Daniel Swarbrick 02c3a7514c
Instantiate logger after parsing log.level command-line flag
promlogConfig does not need to be a global var either.

Signed-off-by: Daniel Swarbrick <daniel.swarbrick@gmail.com>
2022-01-03 19:56:54 +01:00
Conrad Hoffmann 43f2978543 Use buffered channel for signal handling 2021-12-10 19:59:30 +01:00
Conrad Hoffmann e1906fa46c Satisfy linter
I don't see what else to do with the messages at this point if logging
were to fail...
2021-12-10 19:59:30 +01:00
Conrad Hoffmann a30b3518fe Silence linter error 2021-12-10 19:59:30 +01:00
SuperQ 70b78ffa78
Switch logging to promlog
Replace deprecated common/log with common/promlog.
* Update Go modules.

Signed-off-by: SuperQ <superq@gmail.com>
2021-09-21 14:44:11 +02: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 52c50a5e7e Supply proper version information
This only adds the facilities to do so, the version information itself
is currently only a git hash, as we have not tagged any releases so far.

With this in place, let's set up some CI system, maybe a few test stubs
and then we can do a 1.0 release.
2019-07-15 10:49:10 +02: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 b478aaf12e Remove unimplemented version flag
This was a leftover from when the exporter used more of the Prometheus
build tooling, which was eventually deemed overkill for such a small
project (at least until it has matured a bit).

There is currently no versioning of any significance anyways, so remove
it for now.

This fixes #15.
2019-02-15 11:33:15 +01:00
Conrad Hoffmann 1e16da97c1 Minor style fixes 2018-09-21 11:41:59 +02: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
Alexander Fahlke ee3429f2fd fixes soundcloud/ipmi_exporter#8 2018-08-10 17:42:19 +02:00
Conrad Hoffmann 670b92c799 Initial public release 2018-05-24 16:28:06 +02:00