乐趣区

关于docker:PrometheusGrafana系列监控MySQL服务

更多技术文章,请关注我的集体博客 www.immaxfang.com 和小公众号 Max 的学习札记

前言

后面的一篇文章曾经介绍了 docker-compose 搭建 Prometheus + Grafana 服务。过后实现了监控服务器指标数据,是通过 node_exporter。Prometheus 还可用来监控很多服务,比方常见的 MySQL。本文就介绍如何通过 mysqld_exporter 来监控 MySQL 指标。

下载安装包

cd /opt
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar xvf mysqld_exporter-0.14.0.linux-amd64.tar.gz
mv mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter
mv /opt/mysqld_exporter /usr/local/

创立监控账号并受权

在须要监控的 mysql 上创立账号并受权。

# 创立用户
CREATE USER 'prometheus'@'%' IDENTIFIED BY 'prometheus';
# 调配权限
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'%';

增加数据库监控账号配置

vim /usr/local/mysqld_exporter/.my.cnf
增加如下内容

[client]
user=prometheus
password=prometheus
port=3306

启动 exporter 客户端

/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf

先手动启动 exporter 看一下日志,若有谬误依据输入调整即可。手动运行没问题后,则进行下一步将其增加到零碎服务中。

增加到零碎服务

vim /etc/systemd/system/mysqld_exporter.service
增加如下内容

[Unit]
Description=mysqld_exporter
After=network.target
[Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target

加载并重启服务

# 加载配置
systemctl daemon-reload
# 启动服务
systemctl restart mysqld_exporter.service
# 查看服务状态
systemctl status mysqld_exporter.service
# 配置开机启动
systemctl enable mysqld_exporter.service

查看收集数据

拜访 exporter 服务地址,查看数据收集状况。

curl http://192.168.2.192:9104/metrics

批改 prometheus 配置文件,增加新节点

批改 prometheus 下的配置,prometheus.yml,增加如下内容。

scrape_configs:  
  # 增加 job
  - job_name: 'mysql-192'
    static_configs:
     # 配置监控端,即下面咱们启动的 mysqld_exporter 服务
     - targets: ['192.168.2.192:9104']
       labels:
          instance: mysql

重启 prometheus 服务

上一步批改了 prometheus.yml,须要重启下 prometheus 服务。

cd /var/workspace/docker-prometheus
docker-compose stop prometheus
docker-compose up -d --build prometheus

查看 prometheus 中服务增加状况

查看 targets 是否增加胜利

查看 mysql 监控信息

mysql_global_status_aborted_clients

在 grafana 中增加 data sources

增加 prometheus 服务地址,此处因为服务是基于 docker-compose 构建的,没有填写 ip,间接填写服务名即可。

在 grafana 中导入 mysql 监控

输出官网模版 id,7362,点击 load。而后依照下图抉择确认即可。

监控展现

上一步导入胜利后,会主动跳转到监控面板页面,如下图。默认的格局曾经十分丰盛能够间接应用了,也能够依据本人需要调整地位和配置。

退出移动版