5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana)
作者:mmseoamin日期:2023-12-19

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第1张

 5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第2张

一、工具介绍

Prometheus:   普罗米修斯可以简单理解为一个监控工具,以时间为单位展示指定数据维度的变化 趋势。

mysqld_exporter :主要是依赖数据采集器,对于mysql数据采集使用的是mysqld_exporter。

Grafana: 主要用于可视化展示的监控软件,让数据监控更直观,支持多种仪表盘类型,就好比经 常见的数据大屏,仪表盘就是各种展示形式。

二、工具下载

prometheus--普罗米修斯

Download | Prometheus

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第3张

mysql_exporter  : Download | Prometheus

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第4张

Grafana --格拉法纳

Download Grafana | Grafana Labs

格拉法纳

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第5张

三、安装

1、安装 mysqld_exporter-0.14.0.windows-amd64.zip    (windows版)

1.1 解压

1.2 创建my.cnf文件

1.3 在my.cnf文件中进行配置

修改你对应的属性值,

[client] 
# mysql用户名 
user=root  
#mysql的密码
password=root
#主机地址
host=localhost
# mysql端口号
prot=3306

1-1 mysqld_exporter-0.14.0.linux-amd64.tar.gz (Linux版)

1-1.1 将下载好的压缩包 mysqld_exporter-0.14.0.linux-amd64.tar.gz,放到linux中自己自定义文件夹下

# 解压

tar -zxvf mysqld_exporter-0.14.0.linux-amd64.tar.gz

 

# 重命名

mv mysqld_exporter-0.14.0.linux-amd64.tar.gz/ mysqld_exporter

 

# 删除压缩包

rm -f mysqld_exporter-0.14.0.linux-amd64.tar.gz

1-1.2 在压缩好的文件夹mysqld_exporter下新建my.cnf,将下面代码写进my.cnf中

cd mysqld_exporter

 

# 编辑my.cnf

vi my.cnf

[client]

user=mysql_test # 创建的用户名

password=123456 # 密码

1-1.3 进入mysql中,创建和文件中相同的用户

mysql -uroot -p123456 # 使用root进去创建

 

CREATE USER 'mysql_test'@'localhost' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_test'@'localhost';
FLUSH PRIVILEGES;
EXIT;

 使用mysql -umysql_test -p123456登录测试,是否创建成功

1-1.4 手动启动mysqld-exporter

# 执行mysql_exporter,后面是全路径

./mysqld_exporter --config.my-cnf=/data/mysqld_exporter/my.cnf

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第6张

 自启动mysqld-exporter,创建服务文件

# 创建服务文件,将下面代码写入
vim /usr/lib/systemd/system/mysqld_exporter.service
 
# 注意修改文件路径
[Unit]
Description=mysql Monitoring SystemDocumentation=mysql Monitoring System
[Service]
ExecStart=/data/mysqld_exporter/mysqld_exporter \
--collect.info_schema.processlist \
--collect.info_schema.innodb_tablespaces \
--collect.info_schema.innodb_metrics \
--collect.perf_schema.tableiowaits \
--collect.perf_schema.indexiowaits \
--collect.perf_schema.tablelocks \
--collect.engine_innodb_status \
--collect.perf_schema.file_events \
--collect.binlog_size \
--collect.info_schema.clientstats \
--collect.perf_schema.eventswaits \
--config.my-cnf=/data/mysqld_exporter/my.cnf
[Install]
WantedBy=multi-user.target

 启动服务

# 启动服务

systemctl start mysqld_exporter.service

 

# 设置自启动

systemctl enable mysqld_exporter.service

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第7张


2、安装 prometheus  普罗米修斯

2.1 解压安装包

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第8张

2.2 修改配置文件 prometheus.yml的 scrape_configs:

scrape_configs:
  # The job name is added as a label `job=` to any timeseries scraped from this config.
  #Mysql服务器监控
  - job_name: "mysql"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    
    static_configs:
      - targets: ["localhost:9104"] #ip地址+端口

2.3 双击启动 prometheus

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第9张

 5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第10张

启动成功后,用浏览器打开http://localhost:9090,出现如下界面安装成功

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第11张


3、安装Grafana,双击下好的 grafana-enterprise-9.2.5.windows-amd64.msi

3.1 一路下一步安装

无脑安装法,一路next(其中可自己配置安装路径,尽量不要装在C盘)

3.2  安装完成之后,浏览器输入http://localhost:3000

       如下图,默认用户名密码 admin/admin

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第12张


四、3个工具的进行数据监听、采集、可视化展示配置

到此为止三个东西都已安装完成,接下来开始监控。回到prometheus页面,通过Status下拉框找到Targets,点进去,up 表示正常监听

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第13张

state显示绿色的UP就说明已成功监听,再去Grafana界面

1、点击左侧边栏的设置项Configuration

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第14张

2、找到Data sources,点进去设置数据源为prometheus

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第15张

 3、设置名称和本地地址   http://local host:9090

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第16张

4、点击Save&test

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第17张

5、创建Dashboards   ,点击Dashboards-->Import 

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第18张

6、生成模板,模板官网Dashboards | Grafana Labs

 找到mysql的模板id,自动生成

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第19张

7、加载生成的模板链接

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第20张

链接: https://grafana.com/grafana/dashboards/7362-mysql-overview

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第21张

8、prometheus的Dashboards监控数据可视化展示

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第22张

 5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第23张

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第24张

 5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第25张

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第26张

五、运行Prometheus + Granafa步骤总结

1、设置prometheus的prometheus文件yml

scrape_configs:

  # The job name is added as a label `job=` to any timeseries scraped from this config.

  #Mysql服务器监控

  - job_name: "mysql"

    # metrics_path defaults to '/metrics'

    # scheme defaults to 'http'.

    

    static_configs:

      - targets: ["localhost:9104"] #ip地址+端口

 

2、双击启动prometheus.exe;

3、创建mysql数据采集器my.cnf文件并配置:

[client] 

# mysql用户名 

user=root  

#mysql的密码

password=root

#主机地址

host=localhost

# mysql端口号

prot=3306

4、cmd进入到mysql数据采集器安装目录执行:

mysqld_exporter.exe --config.my-cnf=my.cnf

5、访问prometheus,ip:9000端口 ,设置Status为Targets

6、访问Granafa, 浏览器访问:http://localhost:3000

7、进行Granafa的Dashboards设置


至此mysql数据监控环境搭建完成!感兴趣的铁汁们也去试试吧!

5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana),第27张