全网首发 史上最容易的 mysql 数据库性能测试监控平台手把手搭建

本文介绍如何使用Grafana与Prometheus构建数据库监控平台。从安装MySQL数据库到搭建监控环境,再到配置Prometheus收集监控数据,最后在Grafana上展示监控结果,实现MySQL性能的实时监控。

数据库作为数据存储软件,在现在企业项目中,得到普遍应用,而mysql作为免费的开源版本,更是得到大量企业的青睐,成为主流存储数据库。而数据库的性能,很大程度上,会影响项目应用服务的性能,所以,企业对mysql数据库的性能是非常关注的。

今天,我们虽然不是讲解mysql数据库的性能测试,但是,监控,作为性能测试或日常数据库维护必须的一环,我们还是有必要认真学习一下的。

说到mysql数据库的监控,可能很多人,第一反应会是jprofile监控。但是,我不推荐。因为,我们有更方便,简单易上手的监控平台,就是我们今天讲的grafana+prometheus监控平台监控数据库。通过浏览器访问监控平台,可以看到如下图:

 

为了让零基础的同学,也能分分钟掌握这项技术,我们从安装数据库,搭建监控平台,一步步讲起。

创建环境

# 创建一个docker网络
docker network create monitor-network

# 创建一个mysql数据库
docker run -itd --name mysql_575 \
--network=monitor-network \
-p 3366:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
daocloud.io/library/mysql:5.7.5

完成这一步,你已经用docker,创建了一个5.7.5版本的mysql数据库,名称叫‘mysql_575’,数据库的root账户密码为123456,数据库外部访问端口为3366,可以用客户端工具,直接连接使用了。

接下来,我们搭建grafana+prometheus的监控平台

# 创建grafana容器
docker run -itd --name docker-grafana \
--network=monitor-network \
-p 3300:3000 \
grafana/grafana

# 创建prometheus容器
docker run -itd --name docker-prometheus \
--network=monitor-network \
-p 9990:9090 \
prom/prometheus

执行完这两个命令,我们的监控平台环境就已经安装好了

接下来,我们就安装数据库的监控

# 创建mysqld-exporter容器
docker run -itd -p 9114:9104 \
--name=my_exporter \
--network=monitor-network \
-e DATA_SOURCE_NAME="root:123456@(mysql容器的hostname:3306)/" \
prom/mysqld-exporter

mysql容器的hostname,可以通过 docker inspect mysql_575 查看到;

‘mysql_575’是我们安装的数据库的名称,也可以用查看到的IPAddress值

命令设置了监控工具外部访问端口为 9114

命令中 root:123456 是数据库安装root账户和密码

可以通过浏览器访问 http://安装了mysqld-exporter的机器ip:9114 ,如果能正常访问且显示数据,说明数据库的监控已经安装好。

注意: 浏览器要能正常访问,需要服务器上开放9114端口

此时,我们环境安装工作就完成了。

接下来,就是配置prometheus收集存储监控数据。

配置prometheus

从容器中拷贝出prometheus的配置文件

# 从Prometheus容器中拷贝配置文件到宿主机
docker cp docker_prometheus:/etc/prometheus/prometheus.yml $PWD

docker_prometheus 是上面创建prometheus容器时 name后面的值

修改配置文件

# 修改prometheus.yml,在文件对底下,参照如下信息配置,注意书写格式
vim prometheus.yml


scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
 
  - job_name: 'mysql-exporter'
    static_configs:
      - targets: ['mysqld-export容器ip:9104']

docker inspect my_exporter可以查看到mysql-exporter容器的IPAddress信息; my_exporter是上面安装数据库监控命令中name的值

把修改后的配置文件,拷贝到容器中,重启,使其生效

# 把修改后的Prometheus配置文件拷贝到容器中
docker cp $PWD/prometheus.yml docker_prometheus:/etc/prometheus/prometheus.yml

# 重启动prometheus容器
docker restart docker-prometheus

配置后,可以通过浏览器访问 http://安装了prometheus的机器ip:9090 如果页面能正常访问,说明配置修改正常。

注意: 浏览器要能正常访问,需要服务器开放9090端口

现在,环境与配置文件都弄好了,就差在监控平台展示数据了

配置granfan+prometheus平台

Ⅰ、登录grafana

浏览器访问 http://安装了grafana的机器ip:3000 账号密码均为 admin

 

Ⅱ、添加prometheus数据源

登录后,在首页点击 ‘Add your fist data source’

 

在跳转页面,选择Prometheus,填写相关信息

 

点击back按钮,回到首页

Ⅲ、引入模板 7362

点击 import

 

输入7362,点击 load

 

即可看到数据库实时监控效果

 


 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值