mysql 数据库进行授权
MariaDB [(none)]> CREATE USER 'exporter'@'localhost' IDENTIFIED BY '000000';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
Query OK, 0 rows affected (0.001 sec)
按照mysql-export
官方Git
https://github.com/prometheus/mysqld_exporter
#拉取镜像
docker pull prom/mysqld-exporter
#启动exporter
docker run -d --net=host -e DATA_SOURCE_NAME="exporter:000000@(localhost:3306)" prom/mysqld-exporter
curl 127.0.0.1:9104/metrics
consul 自动发现
curl -X PUT -d '{"id": "location-mysql-export","name": "mysql-export","address": "192.168.168.155","port": 9104,"tags": ["mysql-export"],"meta": {"instance": "prometheus", "group": "mysql-export"}, "checks": [{"http": "http://192.168.168.155:9104/metrics", "interval": "5s"}]}' http://192.168.168.155:8500/v1/agent/service/register > /dev/null 2>&1 && echo -e "\033[92m 注册成功 \033[0m"
prometheus.yaml 配置
- job_name: 'mysql-export'
consul_sd_configs:
- server: '192.168.168.155:8500'
services: []
refresh_interval: 3s
relabel_configs:
- source_labels: [__meta_consul_tags]
regex: .*mysql-export.*
action: keep
- source_labels: [__meta_consul_service_metadata_group]
target_label: 'group'