Commit Graph

17 Commits

Author SHA1 Message Date
TJ Hoplock 90bb0c0c16 chore!: adopt slog, drop go-kit/log
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>
2024-10-17 20:28:12 -04:00
Aleksandr Aleksandrov 45ff1b4947 feat: custom SEL events metrics
Signed-off-by: Aleksandr Aleksandrov <aleks.aleksandrov@corp.mail.ru>
2024-01-12 18:17:14 +03:00
Erdem Agaoglu 5a4e594b68 Add collector for bmc-watchdog
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>
2023-11-14 18:24:36 +03:00
SuperQ 1c14fc49f7
Update build
* 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>
2023-10-17 13:51:59 +02: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 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 e9d24d733c Remove unused struct 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
Jakub Chábek 534775f13a Add new metric config_lan_mode 2020-06-30 10:40: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
zliuva 636235f6da Adding config options for workaround_flags. 2019-12-18 08:51:47 -08: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
Conrad Hoffmann a4a57fe40b Allow setting the session timeout
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.
2019-03-22 12:27:32 +01: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 670b92c799 Initial public release 2018-05-24 16:28:06 +02:00