官方:GitHub - prometheus/mysqld_exporter: Exporter for MySQL server metrics
话不多说, 直接上代码。
先在mysql中给采集器开个账号:
CREATE USER 'exporter'@'localhost' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
version: '3.2'
services:
mysqld_exporter:
image: prom/mysqld-exporter
container_name: mysqld-exporter
#networks:
# - pangu_middleware_pangu_online
command:
- "--mysqld.username=exporter:123456"
- "--mysqld.address=localhost:3306"
ports:
- "9104:9104"
填坑记:
上面的是我最终可以运行的,在这之前遇到个坑,在网上很多使用config.my=.my.cnf或者-e DATA_SOURCE_NAME="root:Newmysql55..(127.0.0.1:3306)/ 什么的,然后就一直报一个错误:
ts=2023-06-30T13:44:35.523Z caller=config.go:150 level=error msg="failed to validate config" section=client err="no user specified in section or parent"
ts=2023-06-30T13:44:35.523Z caller=mysqld_exporter.go:225 level=info msg="Error parsing host config" file=.my.cnf err="no configuration found"
按照他们配置.my.cnf也不好使。搜了好久,最终搜到了这个https://discuss.prometheus.io/t/docker-compose-mysql-exporter-start-error/1734 这个解决的。