#(1)在被监控端mysql服务器上创建账号用于mysql exporter收集使用
GRANT REPLICATION CLIENT, PROCESS ON *.* to 'exporter'@'%' identified by '123456';
GRANT SELECT ON performance_schema.* TO 'exporter'@'%';
flush privileges;
#(2)在被监控端mysql服务器上安装mysql exporter, 这里我使用二进制方式安装
docker run -d --restart=always --name mysqld-exporter -p 9104:9104 -e DATA_SOURCE_NAME="user:password@(hostname:port)/" prom/mysqld-exporter
docker run -d --restart=always --name mysqld-exporter -p 9104:9104 -e DATA_SOURCE_NAME="exporter:123456@(192.168.1.82:3306)/" prom/mysqld-exporter
要查看容器是否报错, 主要是验证exporter与mysql服务端之间正常连接和获取数据;
docker logs -f mysqld-exporter 看有没有报错
#(3)consul添加服务
curl -X PUT -d '{"id": "mysql62","name": "mysql62","address": "192.168.1.62","port": 9104,"tags": ["test"],"checks": [{"http": "http://192.168.1.62:9104/","interval": "5s"}]}' http://localhost:8500/v1/agent/service/register
curl -X PUT -d '{"id": "mysql82","name": "mysql82","address": "192.168.1.82","port": 9104,"tags": ["test"],"checks": [{"http": "http://192.168.1.82:9104/","interval": "5s"}]}' http://localhost:8500/v1/agent/service/register
consul上服务能够正常注册
在prometheus上, 能够看到正常连接到mysqld exporter
curl http://192.168.1.62:9104/metrics 能够看到很多mysql相关数据
#(4)grafana添加图表
https://grafana.com/dashboards 搜索mysql相关dashborad ; 添加id 7362 7371
在grafana上能够正常获取到数据;
转载于:https://blog.51cto.com/1000682/2374385