0833-如何使用Prometheus监控MySQL

作者:微信小助手

发布时间:2021-04-15T21:49:30

作者:唐辉

1.文档编写目的



在《如何安装及使用Prometheus》文中有对Prometheus 做简单的介绍,并且通过node_exporter的模板示例介绍了如何监控主机信息。本文主要介绍如何使用Prometheus监控MySQL数据库信息 

  • 测试环境

操作系统:Redhat 7.6

服务器类型:x86


2.mysqld_exporter下载及配置




1. mysqld_exporter安装包下载

下载地址:https://prometheus.io/download/#mysqld_exporter


可以离线下载后解压或者如下:

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz 
#解压
tar xvfz mysqld-*.tar.gz cd mysqld-*



在MySQL中创建mysql_exporter用户并授权用于数据采集

MariaDB [(none)]> CREATE USER 'mysql_exporter'@'localhost' IDENTIFIED BY 'password123';
Query OK, 0 rows affected (0.11 sec)

MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_exporter'@'localhost';



2.编辑配置文件

[client]
user=mysql_exporter
password=password123



3.启动mysqld_exporter

./mysqld_exporter --config.my-cnf mysql_exporter.cnf
#查看帮助 --help 可用于查看参数
./mysqld_exporter --help



4.添加Prometheus 采集任务

在prometheus.yml 添加如下配置并重启prometheus

  - job_name: 'mysql'
    static_configs:
    - targets: ['192.168.0.99:9104']



nohup ./prometheus --config.file=prometheus.yml --web.listen-address=:9200 > /var/log/prometheus.log 2>&1 &


然后到Web UI查看监控状态,确认已成功监控

http://192.168.0.100:9200/targets


3.集成Grafana展示




关于如何下载安装Grafana,在之前的《0707-如何安装Grafana并使用Cloudera Manager datasource插件》以及前面的《如何安装及使用Prometheus》有详细介绍。


首先到Grafana 官网推荐的dashboard中下载一个展示样例模板来展示 MySQL Exporter的信息,下载地址https://grafana.com/grafana/dashboards

本文举例使用https://grafana.com/grafana/dashboards/7362 MySQL Overview 模板用于展示


然后导入Grafana,如果有连接外网可以使用id 方式,离线可以通过下载JSON文件的方式导入,该模板的id 为7362


导入后选择Prometheus数据源,然后执行导入


显示效果如下:


举例说明指标信息:


4.Prometheus简介



在CDH集群安装的过程中,大多数人用MySQL 来做集群的元数据库,但是在CM中却没有对元数据库有很好的监控信息,通过Prometheus监控MySQL 信息可以更方便的用于排查集群中的因元数据库导致的性能问题。

相关链接:

Prometheus官网:https://prometheus.io/

Grafana 官网:https://grafana.com/