The bulk of this change set was automated by the following script which
is being used to aid in converting the various exporters/projects to use
slog:
https://gist.github.com/tjhop/49f96fb7ebbe55b12deee0b0312d8434
Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
Some BMC's provide a watchdog functionality, i.e. taking some specified
action if a timer is not reset within a specified time. freeipmi tools
have a bmc-watchdog command to control and also report the current status
of such function. This collector reports that information.
Signed-off-by: Erdem Agaoglu <erdem.agaoglu@gmail.com>
* Update Go to 1.21.
* Update minimum Go version to 1.19.
* Fixup deprecated `io/ioutil`.
* Move errcheck excludes inline.
Signed-off-by: SuperQ <superq@gmail.com>
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>
* 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>
- 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... :)
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.
Now that we have a good config framework in place, this is low-hanging
fruit. Will apply to all collectors used, so total scrape time for
Prometheus could be (timeout * #-of-collectors) milliseconds for a given
module.
Related to #20.
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.