桓楠百科网

编程知识、经典语录与百科知识分享平台

史上最容易的 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




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


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言