当前位置: 首页 > article >正文

从零构建Prometheus+Grafana监控体系:MySQL性能可视化实战

1. 为什么需要监控MySQL数据库性能作为最流行的开源关系型数据库MySQL承载着大量企业的核心业务数据。但数据库性能问题就像温水煮青蛙——当发现查询变慢、连接数暴增时系统往往已经处于崩溃边缘。我经历过最惨痛的教训是某次大促期间由于没有提前发现慢查询堆积导致数据库线程打满整个电商系统瘫痪了47分钟。数据库监控的核心价值在于提前发现问题。通过PrometheusGrafana的组合我们可以实时跟踪QPS、连接数、缓存命中率等关键指标自动记录慢查询日志中的问题SQL可视化分析锁等待和事务冲突情况基于历史数据预测容量瓶颈2. 搭建Prometheus监控系统2.1 安装Prometheus服务端推荐使用二进制包安装最新稳定版当前为2.44.0wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz tar zxf prometheus-2.44.0.linux-amd64.tar.gz mv prometheus-2.44.0.linux-amd64 /usr/local/prometheus验证安装是否成功cd /usr/local/prometheus ./prometheus --version2.2 配置Prometheus核心参数修改prometheus.yml时重点关注这些参数global: scrape_interval: 15s # 数据采集间隔 evaluation_interval: 15s # 告警规则评估间隔 scrape_configs: - job_name: prometheus # 监控自身 static_configs: - targets: [localhost:9090]2.3 系统服务化部署创建systemd服务文件/usr/lib/systemd/system/prometheus.service[Unit] DescriptionPrometheus Monitoring System [Service] ExecStart/usr/local/prometheus/prometheus \ --config.file/usr/local/prometheus/prometheus.yml \ --web.listen-address:9090 \ --storage.tsdb.retention30d # 数据保留30天 Restarton-failure [Install] WantedBymulti-user.target启动服务后访问http://服务器IP:9090即可看到Web界面。3. 部署MySQL监控组件3.1 安装mysqld_exporter这个官方导出器会从MySQL采集140个性能指标wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/ mv /usr/local/mysqld_exporter-0.12.1.linux-amd64 /usr/local/mysqld_exporter3.2 配置数据库连接创建配置文件/usr/local/mysqld_exporter/.my.cnf[client] host127.0.0.1 usermonitor_user # 建议创建专用监控账号 passwordStrongPassword123 port3306记得在MySQL中授权CREATE USER monitor_userlocalhost IDENTIFIED BY StrongPassword123; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO monitor_userlocalhost;3.3 启动导出器服务建议用systemd管理[Unit] DescriptionMySQL Metrics Exporter [Service] ExecStart/usr/local/mysqld_exporter/mysqld_exporter \ --config.my-cnf/usr/local/mysqld_exporter/.my.cnf \ --web.listen-address:9104 Restarton-failure [Install] WantedBymulti-user.target4. 配置Grafana可视化4.1 安装与初始化使用清华镜像源快速安装wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-7.4.3-1.x86_64.rpm yum install -y grafana-7.4.3-1.x86_64.rpm systemctl start grafana-server访问http://服务器IP:3000初始账号admin/admin。4.2 添加Prometheus数据源左侧菜单选择Configuration Data Sources点击Add data source选择Prometheus填写URLhttp://Prometheus服务器IP:9090点击Save Test验证连接4.3 导入专业监控面板推荐这些官方仪表板模板MySQL OverviewID7362基础性能概览MySQL InnoDB MetricsID7991存储引擎深度监控MySQL Query StatisticsID11323SQL查询分析导入方法左侧菜单选择Create Import输入仪表板ID选择之前添加的Prometheus数据源5. 关键监控指标解析5.1 性能类指标mysql_global_status_questions每秒查询量(QPS)mysql_global_status_connections当前连接数mysql_global_status_threads_running活跃线程数5.2 资源类指标mysql_global_variables_innodb_buffer_pool_size缓冲池大小mysql_global_status_innodb_buffer_pool_reads磁盘读取次数mysql_global_status_innodb_row_lock_time_avg平均行锁等待时间5.3 告警规则示例在Prometheus的rules/mysql.rules中添加groups: - name: mysql-alerts rules: - alert: HighThreadsRunning expr: mysql_global_status_threads_running 100 for: 5m labels: severity: warning annotations: summary: High MySQL threads running ({{ $value }}) description: Database threads are consistently high6. 生产环境优化建议在实际运维中我发现这些配置能显著提升监控效果采集频率调整生产环境scrape_interval: 5s测试环境scrape_interval: 30s指标过滤 在mysqld_exporter启动参数添加--collect.auto_increment.columns \ --collect.engine_innodb_status \ --collect.info_schema.processlistGrafana告警集成配置邮件/Slack通知通道设置多级告警阈值Warning/Critical添加告警历史看板这套监控体系在我们公司上线后数据库相关故障平均修复时间(MTTR)从原来的4小时缩短到15分钟。最惊喜的是通过历史趋势分析我们成功预测了三次容量瓶颈提前完成了扩容操作。

相关文章:

从零构建Prometheus+Grafana监控体系:MySQL性能可视化实战

1. 为什么需要监控MySQL数据库性能? 作为最流行的开源关系型数据库,MySQL承载着大量企业的核心业务数据。但数据库性能问题就像温水煮青蛙——当发现查询变慢、连接数暴增时,系统往往已经处于崩溃边缘。我经历过最惨痛的教训是某次大促期间&a…...

树 形 DP (dnf序)

题目1 333. 最大二叉搜索子树 - 力扣(LeetCode) // 最大BST子树 // 给定一个二叉树,找到其中最大的二叉搜索树(BST)子树,并返回该子树的大小 // 其中,最大指的是子树节点数最多的 // 二叉搜索树…...

ATP3011 I²C语音桥接芯片驱动设计与嵌入式集成

1. ATP3011 概述:AquesTalk Pico LSI 的 IC 接口驱动设计与嵌入式集成实践ATP3011 是专为嵌入式系统设计的硬件桥接模块,用于实现微控制器(MCU)与 AquesTalk Pico 语音合成 LSI(如 AQM0802、AQV0802 系列)之…...

告别手动配置!保姆级教程:在Ubuntu 22.04上搞定BNC 2.12.17依赖库(附libqtwebkit4安装避坑指南)

在Ubuntu 22.04上无缝部署BNC 2.12.17的完整指南 对于GNSS数据处理领域的研究人员和工程师来说,BNC(BKG NTRIP Client)是一个不可或缺的工具。然而,在最新的Ubuntu 22.04系统上安装这个软件时,依赖库问题往往成为第一道…...

从零开始玩转CTF:探秘专为比赛封装的CTFos虚拟机(含WSL子系统+全套工具链)

从零构建CTF竞技场:深度解析CTFos虚拟机的实战价值与工具链生态 在网络安全竞技领域,CTF(Capture The Flag)比赛已成为检验实战能力的黄金标准。对于初学者而言,最令人头疼的往往不是题目本身的难度,而是复…...

R语言实战:用mice包搞定缺失值多重插补(附完整代码+可视化技巧)

R语言实战:用mice包实现缺失值多重插补全流程解析 在数据分析的实际工作中,缺失值处理往往是绕不开的难题。传统方法如简单删除或均值填充可能导致信息损失或统计偏差,而多重插补技术通过构建多个可能的填补值,能够更好地保留数据…...

如何通过AI编程助手提升Godot游戏开发效率

如何通过AI编程助手提升Godot游戏开发效率 【免费下载链接】godot-copilot AI-assisted development for the Godot engine. 项目地址: https://gitcode.com/gh_mirrors/go/godot-copilot 在游戏开发的创意之路上,你是否曾因重复编写模板代码而感到枯燥&…...

LQRWeChat:基于融云SDK的仿微信6.5.7完整开发指南

LQRWeChat:基于融云SDK的仿微信6.5.7完整开发指南 【免费下载链接】LQRWeChat 本项目仿最新版微信6.5.7(除图片选择器外),基于融云SDK,使用目前较火的 RxjavaRetrofitMVPGlide 技术开发。相比上个版本,加入…...

微服务架构实战:Solution Architecture Patterns中的10个核心模式

微服务架构实战:Solution Architecture Patterns中的10个核心模式 【免费下载链接】solution-architecture-patterns Reusable, vendor-neutral, industry-specific, vendor-specific solution architecture patterns for enterprise 项目地址: https://gitcode.…...

Multisim仿真实战:5分钟搞定RLC串联谐振电路特性分析(附波形对比技巧)

Multisim仿真实战:5分钟搞定RLC串联谐振电路特性分析(附波形对比技巧) 在电子工程领域,RLC串联谐振电路是理解交流电路特性的重要基础。传统实验室操作往往受限于设备准备和调试时间,而Multisim仿真软件则提供了快速验…...

计算机三级嵌入式考试避坑指南:这些细节不注意,你可能白复习了!

计算机三级嵌入式考试避坑指南:这些细节不注意,你可能白复习了! 备考计算机三级嵌入式考试就像在迷宫中寻找出口,看似简单的路径往往暗藏陷阱。许多考生在复习时投入大量时间,却因为忽略了一些关键细节而功亏一篑。本文…...

quill富文本表格进阶:用better-table插件实现合并单元格与图片拖拽(避坑指南)

Quill富文本表格进阶:用Better-Table插件实现合并单元格与图片拖拽(避坑指南) 在当今内容创作和文档编辑的数字化浪潮中,富文本编辑器已成为开发者不可或缺的工具。Quill作为一款轻量级、模块化的现代富文本编辑器,因其…...

Glasskube包清单详解:理解package-manifest.json的完整结构

Glasskube包清单详解:理解package-manifest.json的完整结构 【免费下载链接】glasskube 🧊 The next generation Package Manager for Kubernetes 📦 Featuring a GUI and a CLI. Glasskube packages are dependency aware, GitOps ready and…...

如何快速部署C++ WebServer:从零到生产的10个关键步骤

如何快速部署C WebServer:从零到生产的10个关键步骤 【免费下载链接】WebServer C Linux WebServer服务器 项目地址: https://gitcode.com/gh_mirrors/web/WebServer 想要快速搭建高性能的C Web服务器吗?这个完整的C WebServer项目提供了从零开始…...

LQRWeChat核心组件开发实战:融云SDK集成与消息处理机制

LQRWeChat核心组件开发实战:融云SDK集成与消息处理机制 【免费下载链接】LQRWeChat 本项目仿最新版微信6.5.7(除图片选择器外),基于融云SDK,使用目前较火的 RxjavaRetrofitMVPGlide 技术开发。相比上个版本&#xff0c…...

libopencm3 GPIO编程完全指南:从基础配置到高级应用技巧

libopencm3 GPIO编程完全指南:从基础配置到高级应用技巧 【免费下载链接】libopencm3 Open source ARM Cortex-M microcontroller library 项目地址: https://gitcode.com/gh_mirrors/li/libopencm3 libopencm3是一个开源的ARM Cortex-M微控制器库&#xff0…...

图RAG:让AI回答更精准可靠,小白也能轻松掌握的收藏必备技术!

本文介绍了检索增强生成(RAG)技术,特别是图RAG,它结合知识图谱和向量数据库,显著提升大语言模型的回答质量。文章详细解释了图RAG的概念、必要性,并对比了三种实现方式:基于向量的检索、知识图谱…...

第16篇:卡尔曼滤波器之递归算法与数据融合

你是否遇到过? 做机器人定位解算、自动驾驶姿态融合、工业现场传感器数据采集时,是不是总被随机噪声卡住进度?单一传感器精度不足、数据跳变严重,多传感器读数互相矛盾没法直接复用,想做数据降噪融合,却被复…...

收藏必备!小白程序员轻松入门大模型核心概念(附实例解析)

本文以通俗易懂的方式介绍了大语言模型(LLM)、Transformer自注意力机制、Prompt提示词、API理解、Function Calling函数调用、Agent智能体、MCP模型上下文协议以及A2A智能体通信协议等基本概念。文章通过实例解析了LLM的本质是文字接龙,Trans…...

DVI vs HDMI:数字视频接口的终极对比与选型建议

DVI vs HDMI:数字视频接口的终极对比与选型指南 在搭建家庭影院或设计多屏工作站时,视频接口的选择往往成为影响最终显示效果的关键因素。DVI和HDMI作为两种主流的数字视频接口,各自拥有独特的技术特性和适用场景。本文将深入剖析这两种接口的…...

Stable Yogi Leather-Dress-Collection入门必看:动态LoRA切换+智能提示词嵌入完整解析

Stable Yogi Leather-Dress-Collection入门必看:动态LoRA切换智能提示词嵌入完整解析 想快速生成动漫风格的皮衣穿搭图片,却总被复杂的模型切换和提示词调整劝退?今天要介绍的这款工具,或许能让你眼前一亮。 Stable Yogi Leathe…...

AI浪潮下的22个新职业:高薪诱惑背后,你真的能抓住吗?

AI时代新增职业:充满挑战的新战场 22个以前不存在的工作,不是每个人都能做,但每个人都需要了解2026年初,OpenAI与美国国防部达成合作协议,AI模型将获准进入军方分类网络。 这是AI行业的一个标志性事件。 但更值得关注的…...

避开网络坑:SpaCy模型下载的3种方法对比(pip/conda/离线包)

避开网络坑:SpaCy模型下载的3种方法对比(pip/conda/离线包) 在自然语言处理(NLP)领域,SpaCy凭借其高效的性能和简洁的API设计,已成为众多开发者的首选工具。然而,对于国内用户而言&a…...

人工智能|计算机视觉——微表情识别(Micro expression recognition)的研究现状

一、简述 微表情是一种特殊的面部表情,与普通的表情相比,微表情主要有以下特点: 持续时间短,通常只有1/25s~1/3s;动作强度低,难以察觉;在无意识状态下产生,通常难以掩饰或伪装&#…...

计算机毕业设计springboot基于的农业无人机培训考试系统 基于SpringBoot的智慧农业无人机技能培训与考核平台设计与实现 基于SpringBoot的农用无人机操作员培训认证系统设计与实现

计算机毕业设计springboot基于的农业无人机培训考试系统(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。近年来,随着智慧农业的快速发展,农业无人机在植保…...

漏洞分析-浪潮GS企业管理软件远程代码执行漏洞实战解析

1. 浪潮GS企业管理软件漏洞背景 浪潮GS企业管理软件是浪潮集团面向大中型企业推出的综合管理平台,采用SOA架构和GSP应用中间件开发。这套系统在集团型企业中应用广泛,主要实现数据集中、应用集中和管理集中的三大核心功能。我在实际安全评估工作中发现&a…...

NestJS + TypeORM实战:从零搭建一个用户管理系统(附完整代码)

NestJS TypeORM 实战:构建企业级用户管理系统 引言 在当今快速发展的互联网时代,后端开发框架的选择直接影响着项目的开发效率和可维护性。NestJS作为一款渐进式Node.js框架,结合TypeORM这一强大的ORM工具,能够为开发者提供高效、…...

告别等待!SpringBoot + WebFlux + WebSocket 三件套搞定OpenAI流式对话(附完整代码)

SpringBoot WebFlux WebSocket 构建高效流式对话系统 引言:为什么我们需要流式响应? 想象一下这样的场景:你在使用某个智能对话系统时,每次提问后都需要等待十几秒甚至更长时间才能看到完整的回答。这种体验就像是在拨号上网时代…...

从山东大学考题看机器学习核心概念:线性回归、朴素贝叶斯与SVM详解

从机器学习考题透视三大核心算法:原理拆解与实战指南 当一张机器学习期末试卷摆在面前时,那些看似抽象的数学符号背后,隐藏着怎样的算法智慧?本文将以典型考题为线索,带您穿透线性回归、朴素贝叶斯和支持向量机的理论迷…...

别光重启了!深度拆解苍穹外卖项目Nginx配置与后端端口映射的联调逻辑

别光重启了!深度拆解苍穹外卖项目Nginx配置与后端端口映射的联调逻辑 当你第5次按下重启键时,有没有想过——为什么Nginx总在和你作对?上周我部署苍穹外卖项目时,眼睁睁看着同事对着401错误狂敲F5,而真正的问题其实藏在…...