grafana+prometheus快速搭建MySql监控系统实践

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 版权声明:作者:汤青松 https://blog.csdn.net/u013431141/article/details/81633229 一、背景对于LNMP环境下的开发者来说,mysql是非常重要的一环,同时mysql的性能监控也是开发者所需要关注的一环;如果大家使用阿里云的RDS会感觉到其监控功能非常好用,但如果开发者使用的是自建数据库,该怎么去搭建则需则需要去考虑一番了。
版权声明:作者:汤青松 https://blog.csdn.net/u013431141/article/details/81633229

一、背景

对于LNMP环境下的开发者来说,mysql是非常重要的一环,同时mysql的性能监控也是开发者所需要关注的一环;如果大家使用阿里云的RDS会感觉到其监控功能非常好用,但如果开发者使用的是自建数据库,该怎么去搭建则需则需要去考虑一番了。

在prometheus和grafana未普及之前,要实现mysql的搭建确实要费一番工夫的,不过现在则很简单就可以实现mysql的监控了。

笔者之前写过一篇grafana+prometheus的基础篇,因此本文中有些较为基础的操作就省略了,读者如果有不清晰的地方,建议去看一下基础篇,参考链接:grafana+ prometheus+php 监控系统实践

二、操作概要

  1. 安装Mysqld-Exporter
  2. 增加prometheus任务
  3. 导入mysql仪表盘
  4. 功能验证与展示

三、安装Mysqld-Exporter

要实现监控mysql的状态,就需要获取mysql的一些数值,然后把这些数值传递给prometheus,这个过程使用mysqld-exporter就可以轻易实现了,安装之后,把所需的参数传递过去就可以使用,这里使用docker安装最为方便,因此笔者在下面的安装方法便是采用此种方法安装。

3.1 下载镜像

使用docker方式下载极为方便,只需要执行如下命令即可,当然前提是需要安装了docker。

docker pull prom/mysqld-exporter

3.2 创建容器并启动

下载镜像完成之后,笔者需要按照指定的格式把数据库的一些账号与密码以及地址名称等信息传入进入,参考格式如下方命令:

docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="root:password@(127.0.0.1:3306)/databaseName" prom/mysqld-exporter

3.3 验证

启动之后,笔者需要验证是否启动成功,可以通过浏览器访问如下地址

http://127.0.0.1:9104/

当在浏览器当中看到如下界面,则代表以及启动成功,如下图:

image

不过需要注意的是,看到此界面并不代表你的数据库账号与密码以及地址就正确了。

四、增加prometheus任务

经过前面一个步骤,笔者已经有了数值来源,现在需要做的就是通过prometheus将其收集起来,收集的方法也比较简单,修改配置文件,重启prometheus即可,具体操作方法如下:

4.1 编辑prometheus的配置文件

vim /Users/song/config/prometheus/prometheus.yml

增加一个收集任务

---
global:
  scrape_interval: 5s
  scrape_timeout: 3s
scrape_configs:
- job_name: 'media'
  scrape_interval: 3s
  metrics_path: "/api/v1/rrd/toolSpool"
  static_configs:
    - targets: ['gslb.offcncloud.com:8080']
- job_name: 'mysql'
  scrape_interval: 5s
  static_configs:
    - targets: ['127.0.0.1:9104']
      labels:
        instance: 127.0.0.1

在配置文件当中,能看到prometheus会每5秒收集一次数据,需要给prometheus传入主机地址。

4.2 启动prometheus

修改并保存配置文件之后,笔者需要启动prometheus,在mac系统中启动命令如下:

prometheus --config.file=/Users/song/config/prometheus/prometheus.yml

4.3 验证收集是否成功

启动完成之后,需要验证prometheus是否启动成功,可以通过浏览器打开如下URL:

http://127.0.0.1:9090/graph

如果在URL中看到mysql的状态为绿色标志,则代表笔者增加的任务已经成功。
image

五、导入mysql仪表盘

到这一步笔者已经把mysql的性能数值导入到prometheus当中,现在所需要做的事情便是在grafana当中展示仪表盘;这个仪表盘笔者可以自己去手动创建,也可以导入一些开源的仪表盘,笔者觉得第三方的仪表盘省事也好看,所以这里将采用导入开源的仪表盘方式。

5.1 下载仪表盘文件

首先需要在GitHub下载这些仪表盘文件,下载命令如下:

git clone https://github.com/percona/grafana-dashboards.git

下载完成之后,在其项目根目录的dashboards文件夹下,会有一批grafana所导出的仪表盘文件,如下图

image

找到MySQL_Overview.json文件,并打开此文件,将其里面的内容复制下来,

链接地址:MySQL_Overview.json,笔者将其上传到了自己的服务器,读者可以直接打开如下URL地址:

http://tuchuang.qsjianzhan.com/mysql/MySQL_Overview.json

5.2 启动grafana

现在笔者需要启动grafana,笔者使用mac的brew安装,所以启动命令如下:

brew services start grafana

5.3 导入仪表盘

grafana本身提供导入仪表盘功能,通过浏览器访问如下网址:

http://127.0.0.1:3000/

在grafana左侧有一个添加仪表盘的图表,可以点击点击导入仪表盘,操作方法如下图:

image

前面笔者已经复制了仪表盘的文件,现在需要将其粘贴进来,并点击load

image

六. 功能验证与展示

导入仪表盘之后,可以打开grafana的首页,在首页当中会展示仪表盘列表,找到刚才导入的仪表盘,如下图

image

找到对应的仪表盘便可查看mysql的详细数值,如下图所示:
image


作者:汤青松

微信:songboy8888

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
目录
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
3天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:百万级数据统计优化实践
【10月更文挑战第21天】 在处理大规模数据集时,传统的单体数据库解决方案往往力不从心。MySQL和Redis的组合提供了一种高效的解决方案,通过将数据库操作与高速缓存相结合,可以显著提升数据处理的性能。本文将分享一次实际的优化案例,探讨如何利用MySQL和Redis共同实现百万级数据统计的优化。
23 9
|
2月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
40 2
zabbix agent集成percona监控MySQL的插件实战案例
|
25天前
|
消息中间件 监控 关系型数据库
MySQL数据实时同步到Elasticsearch:技术深度解析与实践分享
在当今的数据驱动时代,实时数据同步成为许多应用系统的核心需求之一。MySQL作为关系型数据库的代表,以其强大的事务处理能力和数据完整性保障,广泛应用于各种业务场景中。然而,随着数据量的增长和查询复杂度的提升,单一依赖MySQL进行高效的数据检索和分析变得日益困难。这时,Elasticsearch(简称ES)以其卓越的搜索性能、灵活的数据模式以及强大的可扩展性,成为处理复杂查询需求的理想选择。本文将深入探讨MySQL数据实时同步到Elasticsearch的技术实现与最佳实践。
58 0
|
2月前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
110 1
|
3月前
|
Prometheus 监控 数据可视化
Grafana 插件生态系统:扩展你的监控能力
【8月更文第29天】Grafana 是一个流行的开源平台,用于创建和共享统计数据的仪表板和可视化。除了内置的支持,Grafana 还有一个强大的插件生态系统,允许用户通过安装插件来扩展其功能。本文将介绍一些 Grafana 社区提供的插件,并探讨它们如何增强仪表盘的功能性。
192 1
|
3月前
|
存储 Prometheus 监控
Grafana 与 Prometheus 集成:打造高效监控系统
【8月更文第29天】在现代软件开发和运维领域,监控系统已成为不可或缺的一部分。Prometheus 和 Grafana 作为两个非常流行且互补的开源工具,可以协同工作来构建强大的实时监控解决方案。Prometheus 负责收集和存储时间序列数据,而 Grafana 则提供直观的数据可视化功能。本文将详细介绍如何集成这两个工具,构建一个高效、灵活的监控系统。
315 1
|
3月前
|
Prometheus 监控 Cloud Native
Grafana 入门指南:快速上手监控仪表盘
【8月更文第29天】Grafana 是一款开源的数据可视化和监控工具,它允许用户轻松地创建美观的仪表盘和图表,以便更好地理解和监控数据。无论您是需要监控系统性能指标、应用程序日志还是业务关键指标,Grafana 都能提供灵活而强大的解决方案。本指南将带领您快速上手 Grafana,包括安装、配置以及创建第一个监控面板。
400 1
|
3月前
|
Prometheus Kubernetes 监控
Kubernetes(K8S) 监控 Prometheus + Grafana
Kubernetes(K8S) 监控 Prometheus + Grafana
207 2
|
2月前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
218 0