1
0
mirror of https://github.com/prometheus/mysqld_exporter.git synced 2025-07-11 05:41:46 +03:00
Commit Graph

15 Commits

Author SHA1 Message Date
be5dc65671 chore!: adopt log/slog, drop go-kit/log (#875)
* 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>
2024-10-10 18:04:21 +02:00
31bc75a200 Add the instance struct to handle connections (#859)
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>
2024-08-12 15:39:52 +02:00
8ccb651374 Update build (#838)
* Update Go to 1.22.
* Update Go modules.
* Update version collector.
* Update integration tests.

Signed-off-by: SuperQ <superq@gmail.com>
2024-05-15 17:04:32 +02:00
6ad9f256a1 Fix shared metrics between requests (#722)
## 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>
2023-04-11 17:35:15 +02:00
ca1b9af82a Release 0.14.0 (#607)
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>
2022-03-04 17:23:55 +01:00
3c116d1929 Update go & dependencies
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-11-09 14:12:34 +01:00
cecdaeae4d Switch CircleCI to remote docker
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>
2020-12-09 13:59:16 +01:00
76326b7cd4 Move integration test to CircleCI.
Add logging to exporter version to allow better debugging.

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-05-28 20:54:38 +02:00
73160d968f Switch to go-kit for logs.
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>
2019-09-12 14:32:18 +01:00
1465a0b0e0 Add minimal MySQL version to Scraper interface (#328)
* Add Version method to Scraper interface.
* Skip scrapers for unsupported MySQL versions.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@percona.com>
2018-10-29 16:35:38 +01:00
ff14a3d4cb Update circleci test job (#342)
* Update circleci test job

* Add check_license.
* Change test to test-short.
* Add missing license headers

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-10-29 15:49:50 +01:00
abb19291cb Abort on timeout. (#323)
* PMM-2726: Abort on timeout.
* Set default value for timeout-offset to 0.25s

Signed-off-by: Kamil Dziedzic <arvenil@klecza.pl>
2018-10-29 10:40:48 +01:00
4d7577bf1d PMM-2612: Scrape MySQL database only once and fix scrape counter. (#292)
Scrape MySQL database only once and fix scrape counter.

Signed-off-by: Kamil Dziedzic <arvenil@klecza.pl>
2018-06-28 14:28:00 +02:00
f556a61867 Introduce Scraper interface
Signed-off-by: Kamil Dziedzic <arvenil@klecza.pl>
2018-04-27 16:49:45 +02:00
ef9ebd0185 Add Docker Compose for integration tests (#228)
* Add Docker Compose for integration tests.

Closes #223.

* Add very basic integration test as an example.

* Remove `-v`.

* Remove duplicate line.
2017-08-29 07:30:19 +02:00