prometheus监控MySQL需要用到mysql_exporter。

mysql_exporter 项目地址:https://github.com/prometheus/mysqld_exporter

1、安装部署

我这里的mysql部署在192.168.111.10之上,而prometheus服务端是在192.168.111.3上,这个时候,监控的工具mysql_exporter可以部署在这两台主机任一一台上,只不过需要注意的是,在配置prometheus.yaml添加监控目标的时候,注意填写对应ip即可。

我这里为了方便则部署在了MySQL Server之上。

  1. $ cd /usr/local/src$ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz$ tar xf mysqld_exporter-0.10.0.linux-amd64.tar.gz$ mv mysqld_exporter-0.10.0.linux-amd64 /usr/local/mysqld_exporter

2,授权连接。

想要获取监控数据,需要授权程序能够连接到MySQL。

如果已经有数据账号密码也可以直接用

  1. GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'exporter'@'localhost' identified by '123456';GRANT SELECT ON performance_schema.* TO 'exporter'@'localhost';flush privileges;

注意:这里只授权了本地登陆,说明这个授权适用于mysql_exporter监控工具部署在MySQL Server上的情况,如果是部署在Prometheus Server上,则需要授权远程登陆

3,启动服务。

创建配置信息文件。

  1. cd /usr/local/mysqld_exporter
  2. vim my.cnf
  1. [client]
  2. user=exporter
  3. password=123456

然后启动服务时加载配置文件即可。

1,方式一,命令行式启动。

  1. ./mysqld_exporter -config.my-cnf=".my.cnf" &
  2. ss -tln |grep 9104

2,方式二,使用systemd管理。(推荐)

添加启动配置:

  1. vim /usr/lib/systemd/system/mysqld_exporter.service
  1. [Service]
  2. Type=simple
  3. ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/my.cnf
  4. Restart=on-failure
  5. [Install]
  6. WantedBy=multi-user.target

注意:启动加载配置/usr/local/mysqld_exporter/my.cnf不能再加单引号或者双引号,否则系统会附带识别,从而报配置文件不存在。

加载配置并启动。

  1. $ systemctl daemon-reload
  2. $ systemctl start mysqld_exporter
  3. $ systemctl status mysqld_exporter
  4. $ systemctl enable mysqld_exporter
  5. $ ss -tln | grep 9104

4,配置 prometheus.yml 添加监控目标

  1. $ vim /usr/local/prometheus/prometheus.yml
  1. scrape_configs:
  2. #mysql数据库监控,使用内网IP
  3. - job_name: 'mysql'
  4. static_configs:
  5. - targets: ['172.24.111.110:9104']

重启服务。

  1. $ systemctl restart prometheus

5,配置 Grafana 的模板

mysql_exporter 在 Grafana 上为我们提供好了 Dashboard 模板:https://grafana.com/api/dashboards/9623/revisions/4/download

下载后在 Grafana 中导入 json 模板就可以看到官方这样的示例截图啦:

5.Prometheus Mysql - 图1

这里也可以直接去grafana上面自己找面板,或者直接在grafana里面输入9623导入即可