用Prometheus全面监控MySQL服务:一篇文章搞定

news2024/11/19 13:20:43
简介

在现代应用中,MySQL数据库的性能和稳定性对业务至关重要。有效的监控可以帮助预防问题并优化性能。Prometheus作为一款强大的开源监控系统,结合Grafana的可视化能力,可以提供全面的MySQL监控方案。

设置Prometheus
安装Prometheus

使用Docker安装Prometheus:

docker run -d --name=prometheus -p 9090:9090 prom/prometheus

此命令将Prometheus运行在本地的9090端口。

基本配置

创建一个Prometheus配置文件prometheus.yml:

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

上面是官网提供的docker命令安装方案,官方直达链接,笔者是在Windows的docker中安装运行演示的,下面简单记录一下Windows安装的步骤细节

在指定路径下添加一下普罗米修斯的配置文件

在这里插入图片描述

文件的详细信息展示

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["127.0.0.1:9090"]
  - job_name: "mysql"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
	# 这里做一个说明就是后续的两个服务本地都是直接通过docker的方式运行在容器中,由于docker容器网络配置的原因,即使在安装部署在同一个网络空间之下,同时给网路空间起不同的名称作为区分也不能实现浏览器的ip访问,因此下面这里使用网络ip的方式进行标记
    static_configs:
      - targets: ["192.168.28.3:9104"]
执行Windows的docker命令运行服务

这里需要注意一下就是地址配置的问题,需要配置成自己的文件地址

docker run -d -p 9090:9090 --network my-mysql-network -v "D:\Program_Files\prometheus\prometheus.yml:/etc/prometheus/prometheus.yml" prom/prometheus --config.file=/etc/prometheus/prometheus.yml

在这里插入图片描述
在这里插入图片描述

访问网址得到的页面展示信息
在这里插入图片描述

安装MySQL Exporter
MySQL Exporter是什么

MySQL Exporter是一个用于从MySQL数据库中收集指标并暴露给Prometheus的工具。

安装步骤

使用Docker安装MySQL Exporter:

docker run -d -p 9104:9104 --name=mysql_exporter -e DATA_SOURCE_NAME="user:password@(hostname:3306)/" prom/mysqld-exporter

替换userpassword为MySQL数据库的用户名和密码,hostname为MySQL服务器地址。

配置MySQL Exporter
创建MySQL用户

在MySQL中创建一个专用用户:

CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'password';
GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'localhost';
将MySQL Exporter与Prometheus集成

prometheus.yml中添加MySQL Exporter:

scrape_configs:
  - job_name: 'mysql'
    static_configs:
      - targets: ['localhost:9104']
Prometheus配置
添加MySQL Exporter

在Prometheus配置文件prometheus.yml中增加MySQL Exporter的配置,确保Prometheus能够抓取MySQL Exporter暴露的指标。

抓取指标

启动Prometheus后,可以在http://localhost:9090上访问Prometheus UI,检查抓取的MySQL指标。

Windows安装的步骤演示 官网直达链接

添加配置信息

在这里插入图片描述

[client]
user = root
password = shuyixiao666
host = 192.168.28.3
port = 3306
执行命令运行MySQL Exporter服务
docker run -d -p 9104:9104 --network my-mysql-network -v "D:\Program_Files\mysqld_exporter-0.15.1.windows-amd64\my.cnf:/etc/my.cnf" prom/mysqld-exporter --config.my-cnf=/etc/my.cnf

在这里插入图片描述
在这里插入图片描述

使用Grafana可视化指标
安装Grafana

使用Docker安装Grafana:

docker run -d -p 3000:3000 --name=grafana grafana/grafana
导入仪表盘

在Grafana中添加Prometheus数据源,然后从Grafana官网导入MySQL监控仪表盘(ID:7362)。

Windows安装的步骤演示 官网直达链接

指定docker指令启动服务
docker run -d -p 3000:3000 --network my-mysql-network --name=grafana grafana/grafana-enterprise

初始化的账号和密码都是admin,首次登录之后会提示你修改你的密码
在这里插入图片描述

仪表板的简单配置

添加一个普罗米修斯的应用

在这里插入图片描述

配置之前的MySQL Exporter服务信息

在这里插入图片描述

保存之后配置仪表板信息

在这里插入图片描述
仪表板链接选择直达地址
在这里选择你需要的或者你喜欢的仪表板信息,需要注意的是这里要选择普罗米修斯的数据源,不然后面的数据库选择会对应不上
在这里插入图片描述
在这里插入图片描述

最后成品的展示

在这里插入图片描述

注意事项

  1. 上述执行的命令当初我尝试是在同一个网络组之下运行,如果你也想尝试一定要先建立好网络组不然会报错,不知道如何配置的可以看我另外一篇文章 直达链接

最后说一句(求关注,别白嫖我)
如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描下发二维码关注一下,您的支持是我坚持写作最大的动力。
求一键三连:点赞、转发、在看。
关注公众号:【舒一笑的架构笔记】,在公众号中回复:面试、代码神器、开发手册、时间管理有超赞的粉丝福利,另外回复:加群,可以跟很多BAT大厂的前辈交流和学习。

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

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

相关文章

深度学习面试问题总结(21)| 模型优化

本文给大家带来的百面算法工程师是深度学习模型优化面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的深度学习面试问题&#xff0c;并提供参考的回答及其理论基础&a…

ic基础|时钟篇05:芯片中buffer到底是干嘛的?一文带你了解buffer的作用

大家好&#xff0c;我是数字小熊饼干&#xff0c;一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结&#xff0c;并通过汇总成文章的形式进行输出&#xff0c;相信无论你是在职的还是…

leecode 637 二叉树的层平均值

leetcode 二叉树相关-层序遍历专题 二叉树的层序遍历一般来说&#xff0c;我们是利用队列来实现的&#xff0c;先把根节点入队&#xff0c;然后在出队后将其对应的子节点入队&#xff0c;然后往复此种操作。相比于二叉树的遍历递归&#xff0c;层序遍历比较简单&#xff0c;有…

2024年5月26日 (周日) 叶子游戏新闻

资深开发者&#xff1a;3A游戏当前处于一种尴尬的中间地带游戏行业整体&#xff0c;尤其是3A游戏正处于艰难时期。尽管2023年3A游戏佳作频出&#xff0c;广受好评&#xff0c;但居高不下的游戏开发成本&#xff08;传闻《漫威蜘蛛侠2》的制作成本高达3亿美元&#xff09;正严重…

WEB攻防【1】——ASP应用/HTTP.SYS/短文件/文件解析/Access注入/数据库泄漏

ASP&#xff1a;常见漏洞&#xff1a;本文所写这些 ASPX&#xff1a;未授权访问、报错爆路径、反编译 PHP&#xff1a;弱类型对比、mdb绕过、正则绕过&#xff08;CTF考得多&#xff09; JAVA&#xff1a;反序列化漏洞 Python&#xff1a;SSTI、字符串、序列化 Javascript&…

微服务下认证授权框架的探讨

前言 市面上关于认证授权的框架已经比较丰富了,大都是关于单体应用的认证授权,在分布式架构下,使用比较多的方案是--<应用网关>,网关里集中认证,将认证通过的请求再转发给代理的服务,这种中心化的方式并不适用于微服务,这里讨论另一种方案--<认证中心>,利用jwt去中…

elementui中 表格使用树形数据且固定一列时展开子集移入时背景色不全问题(父级和子级所展示的字段是不一样的时候)

原来的效果 修改后实现效果 解决- 需要修改elementui的依赖包中lib/element-ui.common.js中的源码 将js中此处代码改完下面的代码 watch: {// dont trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/// update DOM manually. see https:/…

【单片机】STM32F070F6P6 开发指南(一)STM32建立HAL工程

文章目录 一、基础入门二、工程初步建立三、HSE 和 LSE 时钟源设置四、时钟系统&#xff08;时钟树&#xff09;配置五、GPIO 功能引脚配置六、配置 Debug 选项七、生成工程源码八、生成工程源码九、用户程序下载 一、基础入门 f0 pack下载&#xff1a; https://www.keil.arm…

关于XtremIO 全闪存储维护的一些坑(建议)

XtremIO 是EMC过去主推的一款全闪存储系统&#xff0c;号称性能小怪兽&#xff0c;对付那些对于性能要求极高的业务场景是比较合适的&#xff0c;先后推出了1代和2代产品&#xff0c;目前这个产品好像未来的演进到了PowerStor或者PowerMax全闪&#xff0c;应该不独立发展这个产…

Leetcode260

260. 只出现一次的数字 III - 力扣&#xff08;LeetCode&#xff09; class Solution {public int[] singleNumber(int[] nums) {//通过异或操作,使得最终结果为两个只出现一次的元素的异或值int filterResult 0;for(int num:nums){filterResult^num;}//计算首个1(从右侧开始)…

[JDK工具-6] jmap java内存映射工具

文章目录 1. 介绍2. 主要选项3. 生成java堆转储快照 jmap -dump4. 显示堆详细信息 jmap -heap pid5. 显示堆中对象统计信息 jmap -histo pid jmap(Memory Map for Java) 1. 介绍 位置&#xff1a;jdk\bin 作用&#xff1a; jdk安装后会自带一些小工具&#xff0c;jmap命令(Mem…

渗透工具CobaltStrike工具的下载和安装

一、CobalStrike简介 Cobalt Strike(简称为CS)是一款基于java的渗透测试工具&#xff0c;专业的团队作战的渗透测试工具。CS使用了C/S架构&#xff0c;它分为客户端(Client)和服务端(Server)&#xff0c;服务端只要一个&#xff0c;客户端可有多个&#xff0c;多人连接服务端后…

模型蒸馏笔记

文章目录 一、什么是模型蒸馏二、如何蒸馏三、实践四、参考文献 一、什么是模型蒸馏 Hinton在NIPS2014提出了知识蒸馏&#xff08;Knowledge Distillation&#xff09;的概念&#xff0c;旨在把一个大模型或者多个模型ensemble学到的知识迁移到另一个轻量级单模型上&#xff0…

Intel HDSLB 高性能四层负载均衡器 — 基本原理和部署配置

目录 文章目录 目录前言HDSLB-DPVS 的基本原理LVSDPDKDPVSHDSLB-DPVS HDSLB 的部署配置硬件要求软件要求编译安装 DPDK编译安装 HDSLB-DPVS配置大页内存配置网卡配置 HDSLB-DPVS启动 HDSLB-DPVS 测试 HDSLB-DPVS Two-arm Full-NAT 模式问题分析最后 前言 在上一篇《Intel HDSL…

[LLM]从GPT-4o原理到下一代人机交互技术

一 定义 GPT-4o作为OpenAI推出的一款多模态大型语言模型&#xff0c;代表了这一交互技术的重要发展方向。 GPT-4o是OpenAI推出的最新旗舰级人工智能模型&#xff0c;它是GPT系列的一个重要升级&#xff0c;其中的"o"代表"Omni"&#xff0c;中文意思是“全…

民宿bug

前端 后端 1 订单管理 订单日期已过&#xff0c;状态没有变成已完成

xgboost项目实战-保险赔偿额预测与信用卡评分预测001

目录 算法代码 原理 算法流程 xgb.train中的参数介绍 params min_child_weight gamma 技巧 算法代码 代码获取方式&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1QV7nMC5ds5wSh-M9kuiwew?pwdx48l 提取码&#xff1a;x48l 特征直方图统计&#xff1a; fig, …

Advanced Installer 问题集锦

1、界面在主题中显示的图标&#xff0c;如logo、发布者名称、产品名称就算在设计界面时删除&#xff0c;但是下次打开工程依然存在 解决办法&#xff1a;“可见”属性设置为禁用 2、在不关闭软件的情况下&#xff0c;使用"文件->打开"来切换项目&#xff0c;再次…

我让gpt4o给我推荐了一千多次书 得到了这些数据

事情是这样的&#xff0c;我们公司不是有个读书小组嘛&#xff0c;但是今年大家都忙于工作&#xff0c;忽视了读书这件事&#xff0c;所以我就想着搞个群机器人&#xff0c;让它明天定时向群里推荐一本书&#xff0c;用来唤起大家对读书的兴趣。但在调试的过程中就发现gpt4o老喜…