Prometheus+Grafana监控mysql

1、简述

        使用 Prometheus 结合 Grafana 监控 MySQL 是一套成熟且广泛应用的方案,能实现对 MySQL 性能、状态等指标的实时采集、存储、可视化及告警。

2、整体架构说明

  • Prometheus:负责定时从 MySQL 采集监控指标(需借助 Exporter),并存储在时序数据库中。
  • MySQL Exporter:部署在 MySQL 服务器或可访问 MySQL 的节点上,用于暴露 MySQL 的监控指标(如连接数、查询量、缓存命中率等),供 Prometheus 抓取。
  • Grafana:通过连接 Prometheus 数据源,使用预置或自定义的仪表盘(Dashboard)可视化 MySQL 的监控指标,支持图表联动、告警配置等功能。

3、部署组件

3.1 部署 MySQL Exporter

下载安装包

前往Prometheus 官方下载页获取对应版本(以mysqld_exporter-0.14.0.linux-amd64.tar.gz为例):

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.17.2/mysqld_exporter-0.17.2.linux-amd64.tar.gz
tar -zxvf mysqld_exporter-0.17.2.linux-amd64.tar.gz
mv mysqld_exporter-0.17.2.linux-amd64 /usr/local/mysqld_exporter

配置 Exporter 连接 MySQL

在 Exporter 目录下创建配置文件my.cnf,写入 MySQL 用户信息:

[client]
user=username  # 上文创建的监控用户
password=password  # 对应密码
host=localhost  # MySQL地址(若远程则填IP)
port=3306  # MySQL端口

启动 Exporter

以系统服务方式启动(推荐),创建/etc/systemd/system/mysqld-exporter.service

[Unit]
Description=MySQL Exporter
After=network.target[Service]
User=root
Group=root
WorkingDirectory=/usr/local/mysqld_exporter
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/my.cnf
Restart=always[Install]
WantedBy=multi-user.target

启动并设置开机自启:

systemctl daemon-reload
systemctl start mysqld-exporter
systemctl enable mysqld-exporter

验证:访问http://服务器IP:9104/metrics,若能看到 MySQL 相关指标(如mysql_upmysql_connections),说明 Exporter 正常运行。

3.2 Prometheus+Grafana

安装

参考文章:docker compose安装Prometheus、Grafana_grafana docker-compose-CSDN博客

配置 Prometheus 抓取 Exporter 指标

编辑 Prometheus 配置文件/usr/local/prometheus/prometheus.yml,在scrape_configs中添加 MySQL Exporter 的配置:

scrape_configs:- job_name: 'mysql'  # 自定义任务名static_configs:- targets: ['localhost:9104']  # Exporter的地址(IP:端口)

重启Prometheus。

4、配置 Grafana 可视化 MySQL 指标

添加 Prometheus 数据源

  • 登录 Grafana 后,点击左侧 “Configuration -> Data Sources”,点击 “Add data source”,选择 “Prometheus”。
  • 在 “URL” 中输入 Prometheus 的地址(如http://localhost:9090),其他默认,点击 “Save & test”,显示 “Data source is working” 即配置成功。

导入 MySQL 监控仪表盘

Grafana 社区提供了大量预置的 MySQL 仪表盘,可直接导入:

  • 点击左侧 “Dashboards -> Import”,输入仪表盘 ID(推荐736211323,可在Grafana Dashboards搜索 “MySQL” 获取)。
  • 选择已添加的 Prometheus 数据源,点击 “Import”,即可看到 MySQL 的监控面板(包含连接数、QPS、慢查询、缓存状态等指标)。

5、关键监控指标说明

  • 可用性指标mysql_up(1 表示正常,0 表示异常)、mysql_seconds_behind_master(从库延迟,主从架构需关注)。
  • 连接指标mysql_connections(当前连接数)、mysql_max_connections(最大连接数)、mysql_threads_connected(已使用连接数)。
  • 查询指标mysql_queries(总查询数)、mysql_questions(客户端发起的查询数)、mysql_slow_queries(慢查询数)。
  • 缓存指标mysql_key_cache_hit_rate(键缓存命中率)、mysql_query_cache_hit_rate(查询缓存命中率,MySQL 8.0 后移除)。
  • I/O 指标mysql_bytes_received(接收字节数)、mysql_bytes_sent(发送字节数)、mysql_table_locks_waited(表锁等待次数)。

6、总结

通过 Prometheus+Grafana+MySQL Exporter 的组合,可实现对 MySQL 的全方位监控,帮助运维和开发人员及时发现性能瓶颈、异常状态等问题。实际使用中可根据需求调整监控指标和仪表盘,优化告警策略,确保 MySQL 服务稳定运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920117.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络流量分析——Tcpdump 数据包过滤

文章目录.PCAP 文件Tcpdump 数据包过滤过滤和高级语法选项有用的 TCPDump 过滤器主机过滤器源/目标过滤器使用源和端口作为过滤器将目标与网络过滤器结合使用协议过滤器 - 通用名称协议过滤器 - 编号端口过滤器端口范围过滤器小于/大于过滤器利用更大的AND 过滤器无滤镜的基本捕…

DeepSeek V3.1 横空出世:重新定义大语言模型的边界与可能

当大语言模型领域的竞争进入白热化阶段,一场静默的技术革命正在悄然酝酿。2025 年8月19日,DeepSeek 团队带着全新升级的 V3.1 版本强势登场,这个被业内称为 “智能体时代敲门砖” 的模型,究竟藏着多少颠覆认知的黑科技&#xff1f…

Unity Netcode for GameObjects(多人联机小Demo)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、安装 Netcode for GameObjects二、做个小Dome1.NetcodeManageNet2.创建UI3.创建预制体4.代码介绍UI代码随机位置代码总结前言 Netcode for GameObjects 是 …

Ant Design for UI 选择下拉框

1. 单选框 与多选框<template><div class"demo-page" style"padding: 40px; max-width: 1200px; margin: 0 auto; font-family: Microsoft YaHei, Arial, sans-serif;"><h1 style"color: #1890ff; text-align: center; margin-bottom…

动手学深度学习01-引言

动手学深度学习pytorch 参考地址&#xff1a;https://zh.d2l.ai/ 文章目录动手学深度学习pytorch1-第01章-引言1. 机器学习/深度学习基础1.1 什么是机器学习&#xff1f;1.2 深度学习与机器学习的关系&#xff1f;2. 数据&#xff08;Data&#xff09;2.1 什么是样本、特征、标…

大模型提示词工程背后的原理:深入理解Prompt Learning(提示学习)

“ 知其然也要知其所以然&#xff0c;为什么会有提示词工程&#xff1f;” 了解和使用过大模型的人应该都知道提示词工程&#xff0c;即使不了解提示词工程&#xff0c;至少也应该听说过&#xff0c;提示词工程说白了就是一种和大模型交流的方法&#xff0c;它的作用就是让大模…

AI 智能体安全设计模式:从三大“反模式”看如何构建可信的 AI 系统

摘要&#xff1a;当我们将 AI 智能体&#xff08;Agent&#xff09;从实验原型推向生产环境时&#xff0c;许多团队在不经意间重复着一些危险的错误实践。这些反复出现的错误&#xff0c;在软件工程中被称为“反模式”&#xff08;Anti-Patterns&#xff09;。本文基于 Curity …

【前端安全】前端安全第一课:防止 XSS 和 CSRF 攻击的常见手法

【前端安全】前端安全第一课&#xff1a;防止 XSS 和 CSRF 攻击的常见手法 所属专栏&#xff1a; 《前端小技巧集合&#xff1a;让你的代码更优雅高效》 上一篇&#xff1a; 【性能指标】决战性能之巅&#xff1a;深入理解核心 Web 指标&#xff08;Core Web Vitals&#xff0…

QT新建文件或者项目解释:那些模板分别是什么意思?

在 Qt Creator 的 “New File or Project” 界面中&#xff0c;不同分类下的模板有着不同的用途和适用场景&#xff0c;以下是对各部分的详细说明&#xff1a;一、“项目” 分类下1. Application&#xff08;应用程序&#xff09;用途&#xff1a;用于创建可直接运行的应用程序…

《支付回调状态异常的溯源与架构级修复》

在后端开发领域&#xff0c;能通过错误日志直接定位的问题&#xff0c;只能算作“基础挑战”&#xff1b;而那些依赖特定数据量、并发量或外部交互场景才会触发的隐性问题&#xff0c;往往像藏在电路中的虚焊点&#xff0c;平时看似正常&#xff0c;关键时刻却会导致整个系统断…

C语言 运算符 (2)

一、内容概要内容提neirong关系运算符 逻辑运算符 逗号运算符 位运算二、运算符2.1 关系运算符说明&#xff1a; >,<,>,<,,! &#xff08;都是双目的&#xff09;所有关系运算符都是双目运算符&#xff08;二元运算符&#xff09;&#xff0c;运算符左侧和右侧、可…

mac版SVN客户端: macSvn 下载、使用指南【保姆级教程】

做项目要用SVN&#xff0c;在Mac平台找顺手的客户端好难。Windows下的TortoiseSVN很赞&#xff0c;Mac却一直没对等工具。直到发现新发布的MacSVN&#xff0c;布局和操作深得我心&#xff0c;内置常用工具&#xff0c;还能无缝集成到OS与任务栏&#xff0c;便捷易上手&#xff…

MongoDB分片集群自动化部署

OS&#xff1a;CentOS Linux release 7.9.2009 (Core) 场景&#xff1a; 需要半自动化或者自动化部署MongoDB集群时&#xff0c;可用此脚本。提高交付效率。 脚本实现架构图&#xff1a;脚本&#xff1a; check_clear_host.sh #此脚本有2个功能及是检查 资源规格和清理资源上的…

go-redis库使用总结

文章目录1. 概述与特性2. 安装与初始化2.1 安装2.2 初始化3 基本使用模式3.1 单实例客户端3.2 连接池与自动重连4. 常用 Redis 数据结构操作4.1 字符串&#xff08;String&#xff09;4.2 哈希&#xff08;Hash&#xff09;4.3 列表&#xff08;List&#xff09;4.4 集合&#…

【软件设计模式】策略模式

1.概念策略&#xff08;Strategy&#xff09;模式定义了一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以相互替换&#xff0c;且算法的变化不会影响使用算法的客户。策略模式属于行为型设计模式&#xff0c;它通过对算法进行封装&#xff0c;把使用算法的责…

Mac电脑英特尔版本最新系统15.6.1安装php环境

Mac电脑安装php环境 版本环境&#xff1a; 2025-08-22 14:09:19 安装 最新系统15.6.1系统&#xff1a; 新版本的mac不带php环境&#xff0c;需要自己 安装 brew install php8.3 启动说明 查看 . 使用官方方法安装 NVM curl -o- https://raw.githubusercontent.com/nvm-sh/…

Android焦点窗口变化导致遥控键值监听失效问题分析

最近在做语音全局控制Android系统功能&#xff0c;通过集成第三方语音识别sdk得到相关控制指令&#xff0c;然后将指令通过进程间通信传递给当前应用并作出响应。有很多通用指令&#xff0c;比如播放/暂停&#xff0c;Android系统本身就有全局控制指令&#xff1a;KeyEvent.KEY…

降本增效:基于 JavaScript 的 AI 编程 IDE 上下文压缩优化方案

降本增效&#xff1a;基于 JavaScript 的 AI 编程 IDE 上下文压缩优化方案 在当前 AI 辅助编程&#xff08;AI Pair Programming&#xff09;日益普及的背景下&#xff0c;开发者越来越依赖如 GitHub Copilot、Tabnine、CodeLlama 等智能编码工具。然而&#xff0c;一个普遍存在…

DataX HdfsWriter 插件文档

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;大数据、Java、测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/…

Rancher 管理的 K8S 集群中部署常见应用(MySQL、Redis、RabbitMQ)并支持扩缩容的操作

文章目录一、前提条件二、准备镜像三、进入 Rancher UI 部署3.1. 进入 Workloads3.2. 部署 MySQL3.3. 部署 Redis3.4. 部署 RabbitMQ四、验证服务五、扩缩容&#xff08;UI 操作&#xff09;六、附录yml部署文件6.1. mysql.yaml6.2. redis.yaml6.3. rabbitmq.yaml一、前提条件 …