数据库作为数据存储软件,在现在企业项目中,得到普遍应用,而 MySQL 作为免费的开源版本,更是得到大量企业的青睐,成为主流存储数据库。而数据库的性能,很大程度上,会影响项目应用服务的性能,所以,企业对 MySQL 数据库的性能是非常关注的。
今天,我们虽然不是讲解 MySQL 数据库的性能测试,但是,监控,作为性能测试或日常数据库维护必须的一环,我们还是有必要认真学习一下的。
说到 MySQL 数据库的监控,可能很多人,第一反应会是 jprofile 监控。但是,我不推荐。因为,我们有更方便,简单易上手的监控平台,就是我们今天讲的 grafana+prometheus 监控平台监控数据库。通过浏览器访问监控平台,可以看到如下图:
为了让零基础的同学,也能分分钟掌握这项技术,我们从安装数据库,搭建监控平台,一步步讲起。
创建环境
docker network create monitor-network
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 的监控平台
docker run -itd --name docker-grafana \
–network=monitor-network \
-p 3300:3000 \
grafana/grafana
docker run -itd --name docker-prometheus \
–network=monitor-network \
-p 9990:9090 \
prom/prometheus
执行完这两个命令,我们的监控平台环境就已经安装好了
接下来,我们就安装数据库的监控
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 的配置文件
docker cp docker_prometheus:/etc/prometheus/prometheus.yml $PWD
docker_prometheus 是上面创建 prometheus 容器时 name 后面的值
修改配置文件
vim prometheus.yml
scrape_configs:
job_name: ‘prometheus’
static_configs:
job_name: ‘mysql-exporter’
static_configs:
docker inspect my_exporter 可以查看到 mysql-exporter 容器的 IPAddress 信息; my_exporter 是上面安装数据库监控命令中 name 的值
把修改后的配置文件,拷贝到容器中,重启,使其生效
docker cp $PWD/prometheus.yml docker_prometheus:/etc/prometheus/prometheus.yml
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
即可看到数据库实时监控效果
ps:小编个人收集啦许多软测资料,希望能够帮到学软件测试的朋友们软件资料分享包括但不限于:Java自动化测试、Python自动化测试、性能测试、web测试、APP测试
测试开发工具包:appuim安装包、fiddler安装包(也有配套视频教程)、eclipse、git、jmeter、loadrunner、monkey、postman、soapul、Xmind等等
现在就有这么一个机会,我邀请你进入我们的软件测试学习交流群:914172719,备注“csdn”大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
最后也为大家准备了一份配套的学习资源,你能在 公众号:【伤心的辣条】免费获取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…
包装成1年工作经验的测试工程师,我给他的面试前的建议如下
“入职一年,那个被高薪挖来的自动化软件测试被劝退了。”
4个月自学软件测试面进阿里!如何从功能测试转成自动化…我经历了什么
6000元报了培训班,3个月后我成功“骗”进了腾讯大厂,月薪15000