广告
返回顶部
首页 > 资讯 > 数据库 >Prometheus MySQL 性能监控
  • 305
分享到

Prometheus MySQL 性能监控

mysqlprometheus数据库 2023-09-01 11:09:29 305人浏览 独家记忆
摘要

一、 介绍 prometheus 是一种开源的监控系统和时序数据库,旨在收集和处理大量数据并提供可视化、监控警报等功能。它支持多种语言、多种部署方式,并且非常灵活,而且社区支持非常活跃,为用户提供了很

一、 介绍

prometheus 是一种开源监控系统和时序数据库,旨在收集和处理大量数据并提供可视化、监控警报等功能。它支持多种语言、多种部署方式,并且非常灵活,而且社区支持非常活跃,为用户提供了很多优秀的解决方案。
Mysql 是一种流行的关系型数据库管理系统,用于存储和管理结构化数据。mysql 数据库对于 WEB 应用程序、企业级应用程序和数据仓库等应用场景都非常适用。

Prometheus 提供了许多适用于 Mysql 监控的插件和可视化界面,让用户可以方便地监控 MySQL 数据库的健康状态、性能指标以及异常情况。下面是使用 Prometheus 进行 MySQL 性能监控的步骤:

二、mysql 指标采集器安装与使用

步骤1:安装和配置 Prometheus

首先需要安装和配置 Prometheus,可以参考官方文档进行操作。

步骤2:安装 mysqld_exporter

mysqld_exporter 是一个用于采集 MySQL 数据库的指标信息的工具。可以通过以下命令进行下载和安装:

wget https://GitHub.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gztar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gzcd mysqld_exporter-0.12.1.linux-amd64/

步骤3:配置 mysqld_exporter

打开 mysqld_exporter 的主配置文件 my.cnf,根据实际需求修改其中的配置项。例如,如果要指定 MySQL 数据库的用户名和密码,则需要在 my.cnf 文件中添加以下内容:

[client]user=USERNAMEpassWord=PASSWORD

步骤4:启动 mysqld_exporter

启动 mysqld_exporter 之前,最好先执行一遍检查:

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

然后再执行启动命令:

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

步骤5:配置 Prometheus 抓取配置

编辑 prometheus.yml 文件,添加以下内容:

scrape_configs:  - job_name: 'mysql'    scrape_interval: 1m    static_configs:      - targets: [':9104']

步骤6:重启 Prometheus 和 mysqld_exporter

重新加载 prometheus.yml 文件:

kill -HUP 

重新启动 mysqld_exporter:

ps aux | grep mysqld_exporterkill -9 ./mysqld_exporter --config.my-cnf=my.cnf &

步骤7:可视化监控数据

使用 Grafana 等数据可视化工具,将 MySQL 的监控指标展示分析出来。例如,可以展示 CPU 使用率、磁盘 I/O 速度、网络连接数、线程数等各种监控数据。

三、prometheus 中 Mysql 采用监控指标

指标名prometheus 指标mysql 获取指标方式
当前连接数mysql_global_status_threads_connected登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘threads_connected’;
最大连接数mysql_global_variables_max_connections登录 mysql,执行 SQL \n SHOW VARIABLES LIKE ‘max_connections’;
MYSQL 缓存命中率mysql_global_status_qcache_hits 和 mysql_global_status_commands_total{command=~“select”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS \n LIKE ‘Qcache_hits’; \n SHOW GLOBAL STATUS LIKE ‘Com_select’;
InnoDB 缓存命中率mysql_global_status_innodb_buffer_pool_reads \n mysql_global_status_innodb_buffer_pool_read_requests登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Innodb_buffer_pool_reads%’; \n SHOW GLOBAL STATUS LIKE ‘Innodb_buffer_pool_read_request%’;
MYISAM 缓存命中率mysql_global_status_key_reads 和 mysql_global_status_key_read_requests登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Key_reads%’; \n SHOW GLOBAL STATUS LIKE ‘Key_read_requests%’;
CPU 使用率container_cpu_usage_seconds_total 和 kube_pod_container_resource_limitsk8s 集群 master 机器执行 \n kubectl top pod -n coding | grep mariadb-primary,核对 use 是否一致 \n kubectl get pod mariadb-primary-0 -n coding -o=JSONpath=‘{.spec.containers[*].resources.limits.memory}’ 核对 limit 是否一致
内存占用container_memory_usage_bytesk8s 集群 master 机器执行 \n kubectl top pod -n coding | grep mariadb-primary,核对 use 是否一致
内存利用率container_memory_usage_bytes 和 kube_pod_container_resource_limits{resource=“memory”,unit=“byte”}k8s 集群 master 机器执行 \n kubectl top pod -n coding | grep mariadb-primary,核对 use 是否一致 \n kubectl get pod mariadb-primary-0 -n coding -o=jsonpath=‘{.spec.containers[*].resources.limits.cpu}’ 核对 limit 是否一致
发送数据量mysql_global_status_bytes_sent登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Bytes_received’;
接受数据量mysql_global_status_bytes_received登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Bytes_sent’;
所有SQL语句,无论其是否执行成功mysql_global_status_queries登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Queries’;
慢查询数mysql_global_status_slow_queries登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
全表查询数mysql_global_status_select_scan登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Select_scan’;
执行 DELETE 查询的次数mysql_global_status_commands_total{command=~“delete”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Com_delete’;
执行 INSERT 查询的次数mysql_global_status_commands_total{command=~“insert”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Com_insert’;
执行 UPDATE 查询的次数mysql_global_status_commands_total{command=~“update”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Com_update’;
执行 REPLACE 查询的次数mysql_global_status_commands_total{command=~“replace”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Com_replace’;
执行 SELECT 查询的次数mysql_global_status_commands_total{command=~“select”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Com_select’;
现场运行数mysql_global_status_threads_running登录 mysql,执行 SQL \n SHOW STATUS LIKE ‘Threads_running’;
线程创建数mysql_global_status_threads_created登录 mysql,执行 SQL \n SHOW STATUS LIKE ‘Threads_created’;
InnoDB 磁盘写次数 \n 单位: 次/smysql_global_status_innodb_data_writes登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘innodb_data_writes’; \n 或者 \n SHOW ENGINE INNODB STATUS; 查看 OS file writes 一行
InnoDB 磁盘读次数 \n 单位: 次/smysql_global_status_innodb_data_reads登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘innodb_data_reads’; \n 或者 \n SHOW ENGINE INNODB STATUS; 查看 OS file reads 一行
InnoDB 磁盘 fsync 次数 \n 单位: 次/smysql_global_status_innodb_data_fsyncs登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘innodb_data_fsyncs’; \n 或者 \n SHOW ENGINE INNODB STATUS; 查看 OS fsyncs 一行
InnoDB 读取的数据量 \n 单位: 字节/smysql_global_status_innodb_data_reads登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Innodb_data_reads’;
InnoDB 写入的数据量 \n 单位: 字节/smysql_global_status_innodb_data_writes登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Innodb_data_written’;
InnoDB行删除量mysql_global_status_innodb_row_ops_total{operation=“deleted”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Innodb_rows_deleted’;
InnoDB行插入量mysql_global_status_innodb_row_ops_total{operation=“inserted”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Innodb_rows_inserted’;
InnoDB行读取量mysql_global_status_innodb_row_ops_total{operation=“read”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Innodb_rows_read’;
InnoDB行更新量mysql_global_status_innodb_row_ops_total{operation=“updated”}登录 mysql,执行 SQL \n SHOW GLOBAL STATUS LIKE ‘Innodb_rows_updated’;

来源地址:https://blog.csdn.net/luo4105/article/details/129428587

您可能感兴趣的文档:

--结束END--

本文标题: Prometheus MySQL 性能监控

本文链接: https://www.lsjlt.com/news/388342.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Prometheus MySQL 性能监控
    一、 介绍 Prometheus 是一种开源的监控系统和时序数据库,旨在收集和处理大量数据并提供可视化、监控警报等功能。它支持多种语言、多种部署方式,并且非常灵活,而且社区支持非常活跃,为用户提供了很...
    99+
    2023-09-01
    mysql prometheus 数据库
  • 使用Grafana+Prometheus监控mysql服务性能
    Prometheus(也叫普罗米修斯)官网:https://prometheus.io/docs/introduction/overview/ Grafana官网:https://grafana.com/e...
    99+
    2022-10-18
  • grafana、prometheus监控linux、mysql等
    监控安装部署 监控安装下载所需包:  下载地址:Download | Prometheus Grafana下载 官网下载Download Grafana | Grafana Labs(速度较慢) 国内镜像Grafana 国内加速下载 | ...
    99+
    2023-08-31
    linux mysql grafana prometheus
  • 利用Prometheus和Grafana监控MySQL
     一、 Prometheus 是一个开源的服务监控系统和时间序列数据库。:官方GitHub地址为:https://github.com/prometheus/prometheus 官方地...
    99+
    2022-10-18
  • Prometheus、Alertmanager、Grafana 监控 Linux 与 MySQL
    //检查各个端口的放行 //部署各个模块与应用 cd /usr/local/Prometheus_compose vim docker-compose.yml version: "3" services: prom: imag...
    99+
    2017-01-04
    Prometheus Alertmanager Grafana 监控 Linux MySQL 数据库入门 数据库基础教程 数据库 mysql
  • prometheus 监控docker
    cAdvisor(Container Advisor)用于收集正在运行的容器资源使用和性能信息。使用Prometheus监控cAdvisorcAdvisor将容器统计信息公开为Prometheus指标。默认情况下,这些指标在/metrics...
    99+
    2023-01-31
    prometheus docker
  • Prometheus 监控MySQL使用grafana展示
    目录prometheus通过exporter监控mysql,并用grafana图表展示1、测试机器 2、配置mysql host013、创建exporter帐号4、下载,安...
    99+
    2022-11-12
  • Grafana+Prometheus如何监控MySql服务
    这篇文章主要为大家展示了“Grafana+Prometheus如何监控MySql服务”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Grafana+Prometh...
    99+
    2022-10-18
  • Prometheus监控PHP-FPM
    启用php-fpm状态功能php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。为了后续的Prometheus监控,我们需要先了解php-fpm状态页是怎么回事。在上一篇文章中,已经...
    99+
    2023-01-31
    Prometheus PHP FPM
  • 【监控系统】Prometheus监控组件Mysql-Exporter配置实战
    Mysql-Exporter主要监控Mysql数据库的稳定性、吞吐量、连接情况、缓冲池使用情况、查询性能等各项指标,是我们压测时常常需要监控的一些指标。 目前,Exporter 支持高于5.6版本的 ...
    99+
    2023-09-02
    prometheus mysql 数据库
  • 【无监控,不运维】监控之Prometheus
    文章目录 一、常用监控简介1.cacti2.Nagios3.Zabbix3.1 zabbix的构成3.2 zabbix的优点和缺点3.3 zabbix核心组件介绍 二、Prometh...
    99+
    2023-09-01
    运维 prometheus php
  • Prometheus分布式监控
    prometheus安装在阿里云上面,监控节点在公司内部机房,2个网络直接是不互通的。环境说明阿里云服务器:操作系统:centos 7.6数量:1台 公司内部服务器操作系统:centos 7.6数量:1台 拓扑图&nbs...
    99+
    2023-01-31
    分布式 Prometheus
  • Prometheus监控PHP应用
    文章目录 1、配置PHP-FPM,暴露php-fpm状态信息2、bakins/php-fpm-exporter监控PHP应用2.1、配置php状态页的http访问2.2、下载bakins/ph...
    99+
    2023-08-31
    php prometheus 服务器
  • zabbix监控mysql性能
    今天来看看zabbix如何监控mysql性能,这边使用mysql自带的模板,可以监控如下内容:OPS(增删改查)、mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图!编写check_my...
    99+
    2022-10-18
  • prometheus监控nginx的实现
    目录简述1.下载nginx-module-vts模块2.安装nginx3.安装nginx-vts-exporter4.修改prometheus-cfg.yaml文件5.在grafan...
    99+
    2022-11-13
  • 使用Prometheus+Grafana监控JVM
    JMX Exporterhttps://github.com/prometheus/jmx_exporter它是Prometheus官方组件,作为一个JAVA Agent来提供本地JVM的metrics,并通过http暴露出来。这也是官方推...
    99+
    2023-01-31
    Prometheus Grafana JVM
  • prometheus+grafana如何监控nginx
    这篇文章主要介绍prometheus+grafana如何监控nginx,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在prometheus需要向ngxin中打入探针,通过探针获取ngxin信息,并通过接口输出。下文将...
    99+
    2023-06-21
  • Prometheus+Grafana普罗米修斯搭建+监控MySQL
    Prometheus+Grafana普罗米修斯搭建+监控MySQL 一,Prometheus 1.什么是Prometheus? ​ Prometheus 是 Cloud Native Computing Foundation 的一个监控系...
    99+
    2023-08-20
    prometheus grafana mysql
  • 如何监控mysql性能
    这篇文章主要介绍了如何监控mysql性能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。查看mysql服务器静态参数:show variabl...
    99+
    2022-10-18
  • 5分钟搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana)
      一、工具介绍 Prometheus:   普罗米修斯可以简单理解为一个监控工具,以时间为单位展示指定数据维度的变化 趋势。 mysqld_exporter :主要是依赖数据采集器,对于mysql数据采集使用的是mysqld_...
    99+
    2023-09-16
    prometheus grafana
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作