在mysql的机器上部署 mysql_exporter

使用ansible部署 mysql_exporter

  1. ansible-playbook -i host_file service_deploy.yaml -e "tgz=mysqld_exporter-0.12.1.linux-amd64.tar.gz" -e "app=mysqld_exporter"

创建采集用户,并授权

  1. mysql -uroot -p123123
  2. CREATE USER 'exporter'@'%' IDENTIFIED BY '123123' ;
  3. GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
  4. FLUSH PRIVILEGES;

方式一:在mysqld_exporter的service 文件中使用环境变量 DATA_SOURCE_NAME

  1. # 代表localhost
  2. Environment=DATA_SOURCE_NAME=exporter:123123@tcp/

方式二:使用my.cnf启动服务

  1. Environment=DATA_SOURCE_NAME='exporter:123123@(localhost:3306)/'

重启mysqld_exporter服务

  1. systemctl daemon-reload
  2. systemctl restart mysqld_exporter

将mysqld_exporter 采集加入的采集池中

  1. [root@prome-master01 prometheus]# cat prometheus.yml
  2. - job_name: mysqld_exporter
  3. honor_timestamps: true
  4. scrape_interval: 15s
  5. scrape_timeout: 10s
  6. metrics_path: /metrics
  7. scheme: http
  8. static_configs:
  9. - targets:
  10. - 127.0.0.1:9104

grafana 上导入mysqld-dashboard


image.png

image.png