* chore!: adopt log/slog, drop go-kit/log
Requires: prometheus/common#697
This PR includes:
- linter updates to enable `sloglint` linter
- Go dep updates for prometheus/{client_golang,common,exporter-toolkit}
libs
- refactorings to adopt log/slog in favor of go-kit/log
The bulk of this PR 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
Builds and passes tests locally with go workspaces and up-to-date main
branch of prometheus/common.
Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
* build(deps): bump prometheus/common to v0.60.0
Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
---------
Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
The intent is to use the instance struct to hold the connection
to the database as well as metadata about the instance:
- version
- flavor (mariadb or mysql)
Change is similar to prometheus-community/postgres_exporter#785
Signed-off-by: Vlad Gusev <vlad.esten@gmail.com>
## Breaking changes
### dropped metrics
* mysql_exporter_scrapes_total
* mysql_exporter_scrape_errors_total
* mysql_last_scrape_failed
### new metrics
* mysql_exporter_collector_success (replace mysql_exporter_scrape_errors_total)
### metrics isolated between requests
* mysql_up
* mysql_exporter_collector_success
* mysql_exporter_collector_duration_seconds
## Why is this neccessary
We are using mysqld_exporter in `multi-target` method, which means one exporter for multiple mysql instance, the crucial metric `mysql_up` must be isolated between requests, or there will be misunderstandings, some mysql instance would shown as down while in fact it is not.
all shared metrics are dropped especially `mysql_exporter_scrapes_total` and `mysql_exporter_scrape_errors_total` , the metrics are useless since prometheus can record almost everything, including scrape fail for each collector.
`mysql_last_scrape_failed` is covered by `mysql_exporter_collector_success` so it is also dropped.
fixes#713
---------
Signed-off-by: qizhicheng <qizhicheng@douban.com>
BREAKING CHANGES:
Metric names in the info_schema.processlist collector have been changed. #603
Metric names in the info_schema.replica_host collector have been changed. #496
* [CHANGE] Rewrite processlist collector #603
* [FEATURE] Add collector for `replica_host_status` #496
* [ENHANCEMENT] Expose dates as timestamps grom GLOBAL STATUS #561
* [BUGFIX] Fix mysql_slave_hosts_info for mysql 5.5 and mariadb 10.5 #577
* [BUGFIX] Fix logging issues #562#602
Signed-off-by: SuperQ <superq@gmail.com>
Use remote docker rather than machine image and docker-compose
to run integration tests.
* Update MariaDB supported versions.
Signed-off-by: Ben Kochie <superq@gmail.com>
Some log messages were made more consistent.
Logging of DSN was removed, as it may contain a password.
Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
* Add Version method to Scraper interface.
* Skip scrapers for unsupported MySQL versions.
Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@percona.com>