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


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

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

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

     

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

    创建环境

    1. # 创建一个docker网络
    2. docker network create monitor-network
    3. # 创建一个mysql数据库
    4. docker run -itd --name mysql_575 \
    5. --network=monitor-network \
    6. -p 3366:3306 \
    7. -e MYSQL_ROOT_PASSWORD=123456 \
    8. daocloud.io/library/mysql:5.7.5

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

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

    1. # 创建grafana容器
    2. docker run -itd --name docker-grafana \
    3. --network=monitor-network \
    4. -p 3300:3000 \
    5. grafana/grafana
    6. # 创建prometheus容器
    7. docker run -itd --name docker-prometheus \
    8. --network=monitor-network \
    9. -p 9990:9090 \
    10. prom/prometheus

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

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

    1. # 创建mysqld-exporter容器
    2. docker run -itd -p 9114:9104 \
    3. --name=my_exporter \
    4. --network=monitor-network \
    5. -e DATA_SOURCE_NAME="root:123456@(mysql容器的hostname:3306)/" \
    6. 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的配置文件

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

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

    修改配置文件

    1. # 修改prometheus.yml,在文件对底下,参照如下信息配置,注意书写格式
    2. vim prometheus.yml
    3. scrape_configs:
    4. - job_name: 'prometheus'
    5. static_configs:
    6. - targets: ['localhost:9090']
    7. - job_name: 'mysql-exporter'
    8. static_configs:
    9. - targets: ['mysqld-export容器ip:9104']

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

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

    1. # 把修改后的Prometheus配置文件拷贝到容器中
    2. docker cp $PWD/prometheus.yml docker_prometheus:/etc/prometheus/prometheus.yml
    3. # 重启动prometheus容器
    4. 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

     

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

     


     

  • 相关阅读:
    Pyinstaller 打包exe后,打开出现can‘t find package tkdnd 报错
    【变压器故障诊断分类及预测】基于GRNN神经网络
    ANACONDA的进阶理解和思考
    洛谷 P4735 最大异或和
    2023年全球市场蓝宝石基AlN模板总体规模、主要生产商、主要地区、产品和应用细分研究报告
    SSM出租车查询系统 毕业设计-附源码220915
    Leetcode—6.N字形变换【中等】
    Kotlin语言基础(二)-变量和数据类型
    【微信小程序】微信小程序开发:从入门到精通
    阿里云E-HPC+i4p大内存实例,加速寻因生物单细胞数据分析效率
  • 原文地址:https://blog.csdn.net/Androidyuexia/article/details/126550761