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

使用docker部署Prometheus和Grafana去监控mysql和redis

自动化性能监控系统安装部署

相关工具的安装部署

服务工具分配

服务器工具端口
10.0.20.9grafana3000
10.0.20.9prometheus9090
10.0.20.10mysql3306
10.0.20.10mysql-exporter9104
10.0.20.10redis3306
10.0.20.10redis_exporter9121

使用docker-compose安装prometheus

先拉取prometheus的镜像

# 也可以使用docker pull prom/prometheus:v2.54.1(使用后下文配置信息里的镜像名也要跟着调整)
docker pull prom/prometheus:v2.54.1

在指定的目录下创建docker-compose.yml配置文件和prometheus目录

在这里插入图片描述

docker-compose.yml配置信息如下

services:prometheus:image: prom/prometheus:v2.54.1 # 指定镜像文件container_name: 'prometheus'	# 给容器命名volumes:- ./prometheus/:/etc/prometheus/		# 映射prometheus的配置文件- /etc/localtime:/etc/localtime:ro	# 让容器去使用宿主机的时间,保持和宿主机的时间一致ports:- '9090:9090'	# 映射端口

然后在prometheus目录下创建prometheus.yml配置文件,设置抓取性能数据任务配置

在这里插入图片描述

prometheus.yml配置文件为

global:scrape_interval: 15s  # 数据抓取间隔scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['10.0.20.9:9090']	# 普罗米修斯的访问地址

启动

先回到docker-compose.ym配置文件所在的目录下

在这里插入图片描述

执行命令

docker-compose up -d

在这里插入图片描述

启动成功

在这里插入图片描述

防火墙开放端口限制之后就可以访问了

访问地址:http://10.0.20.9:9090

在这里插入图片描述

使用docker-compose安装grafana

拉取grafana镜像

# 也可以使用docker pull grafana/grafana:11.2.3(使用后下文配置信息里的镜像名也要跟着调整)
docker pull grafana/grafana:11.2.3

在指定的目录下配置docker-compose.yml配置文件和grafana目录

在这里插入图片描述

docker-compose.yml配置信息如下(在部署了prometheus的基础上调整)

services:prometheus:image: prom/prometheus:v2.54.1container_name: 'prometheus'volumes:- ./prometheus/:/etc/prometheus/- /etc/localtime:/etc/localtime:roports:- '9090:9090'grafana:image: grafana/grafana:11.2.3container_name: 'grafana'volumes:- ./grafana/config/grafana.ini:/etc/grafana/grafana.ini	# 配置grafana的报警邮件发送服务- ./grafana/provisioning/:/etc/grafana/provisioning/	# 映射grafana的配置文件- /etc/localtime:/etc/localtime:ro	# 让容器去使用宿主机的时间,保持和宿主机的时间一致ports:- '3000:3000'	# 端口映射env_file:- ./grafana/config.monitoring	# 设置grafana的登录配置信息depends_on:- prometheus	# 设置grafana依赖于prometheus,需要在prometheus之后去启动

配置config.monitoring(grafana的认证配置)

# 设置grafana管理界面admin用户的登录密码
GF_SECURITY_ADMIN_PASSWORD=123456
# 控制grafana的管理界面不允许注册
GF_USERS_ALLOW_SIGN_UP=false

在这里插入图片描述

配置grafana的配置文件datasource.yml,用于设定其展示数据的数据来源

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置信息如下

apiVersion: 1deleDatasources:- name: PrometheusorgId: 1datasources:- name: Prometheustype: prometheusaccess: proxyorgId: 1url: http://10.0.20.9:9090basicAuth: falseisDefault: trueversion: 1editable: true

设置预警通知邮件配置文件grafana.ini

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置信息如下

[smtp]
# 是否开启邮件发送
enabled = true
# 发送服务器(固定的)
host = smtp.qq.com:465
# 发送者的邮箱账号(smtp账号)
user = 834363368@qq.com
# 授权码(smtp账号的授权码)
password = 66666666666
# 接收预警邮件的邮箱
from_address = 456789@qq.com
# 接收预警邮件的用户名称
from_name = 云泽

安装对应中间件的exporter向prometheus提供性能数据

安装redis_exporter收集redis性能数据

拉取redis_exporter镜像

docker pull oliver006/redis_exporter:v1.64.1

运行redis_exporter

docker run -d -p 9121:9121 oliver006/redis_exporter:v1.64.1 --redis.addr redis://10.0.20.10:6379 --redis.password 123456

容器启动成功之后,访问 http://10.0.20.10:9121/metrics 打印出redis相关的信息就说明redis_exporter安装成功。

在这里插入图片描述

安装mysql-exporter收集mysql性能数据

拉取mysql-exporter镜像

docker pull prom/mysqld-exporter:v0.15.1

在mysql上创建mysql-exporter专属的账号exporter,只需要查询权限即可。

然后配置mysql-exporter访问mysql数据库信息my.cnf

[client]
host=10.0.20.10
user=exporter
password=123456

运行mysql-exporter

ocker run -d --name mysql-master-exporter -p 9104:9104 -v /opt/my.cnf:/etc/mysql/my.cnf prom/mysqld-exporter:v0.15.1 --config.my-cnf=/etc/mysql/my.cnf

启动之后访问http://10.0.20.10:9104/metrics

请求后打印出如下mysql相关信息就是成功

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接下来去配置下prometheus,在原prometheus.yml配置文件里,追加redis的性能数据抓取任务

编辑prometheus.yml (该文件按上文所述,在/opt/docker/docker-monitor/prometheus/prometheus.yml)

global:scrape_interval: 10s  # 数据抓取间隔scrape_configs: - job_name: 'prometheus'static_configs: - targets: ['10.0.20.9:9090']- job_name: 'mysql-master'static_configs:- targets: ['10.0.20.10:9104']labels: instance: mysql-master- job_name: 'redis-signle'static_configs:- targets: ['10.0.20.10:9121']labels:instance: redis-signle

重新启动Prometheus + Grafana

进入到10.0.20.9服务器的/opt/docker/docker-monitor目录,也就是docker-compose.yml配置文件所在地址

在这里插入图片描述

执行如下命令启动grafana和prometheus

docker-compose up --force-recreate -d

–force-recreate:意思是关闭删除旧的容器,重新创建新的容器并运行

登录配置Grafana

访问地址:http://10.0.20.9:3000/login

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

导入的json文件如下

redis-dashboard.json

mysql-dashboard.json

下载json文件后,逐个导入到grafana的dashboards里面即可

mysql性能监控页面

在这里插入图片描述

mysql如果想监控到MySQL Slow Queries也就是慢查询,就需要在mysql的配置文件里开启慢查询日志记录

#开启慢查询日志
slow_query_log = 1

#指定慢查询日志文件的位置
slow_query_log_file = /var/log/mysql/slow-query.log

#设置慢查询的时间阈值(单位:秒)
long_query_time = 2

redis性能监控页面

在这里插入图片描述

redis监控要看到memory usagea数据,就需要在运行redis的时候,在redis的redis.conf里面添加如下配置:

#设置redis的最大内存

maxmemory 1024M

如果docker拉取镜像失败超时,可参考如下两篇文章,对应两种解决方案

方案一:轻松解决Docker拉取镜像失败问题
方案二:GitHub Actions + 阿里云解决Docker镜像拉取难题,实现镜像自由

相关文章:

使用docker部署Prometheus和Grafana去监控mysql和redis

自动化性能监控系统安装部署 相关工具的安装部署 服务工具分配 服务器工具端口10.0.20.9grafana300010.0.20.9prometheus909010.0.20.10mysql330610.0.20.10mysql-exporter910410.0.20.10redis330610.0.20.10redis_exporter9121 使用docker-compose安装prometheus 先拉取p…...

日志管理 | Log360 实现PCI DSS v4.0数据安全合规要求

PCI DSS 是一项网络安全标准,得到所有主要信用卡和支付处理公司的支持,旨在确保信用卡和借记卡号码的安全。最新的PCI DSS v4.0 代表支付卡行业数据安全标准。 任何依赖信用卡交易的企业都不能将数字安全视为一个偷工减料的领域,因为数据泄露…...

JAVA中的string和stringbuffer

【之前面试测试岗位的时候有被问到这个问题,面试结束后特地来学习一下】 目录 谁先被提出的String的使用StringBuffer的使用两者区别 谁先被提出的 String类先于StringBuffer被提出,作为Java语言的基础部分,而StringBuffer是为了解决实际开…...

轻型民用无人驾驶航空器安全操控------理论考试多旋翼部分笔记

官网:民用无人驾驶航空器综合管理平台 (caac.gov.cn) 说明:一是法规部分;二是多旋翼部分 本笔记全部来源于轻型民用无人驾驶航空器安全操控视频讲解平台 目录 官网:民用无人驾驶航空器综合管理平台 (caac.gov.cn) 一、轻型民用无人…...

计算用户订购率梧桐数据库和oracle数据库sql分析

一、背景说明 移动运营商平台提供多种类型的产品权益,用户可以通过订购来使用。平台需要定期统计各个产品的用户订购情况,以便了解各个产品的受欢迎程度。这些统计数据将用于优化产品、提升用户体验和制定市场推广策略。 二、表结构说明 梧桐数据库建…...

通过DNS服务器架构解释DNS请求过程

在前面的章节,这里,基于PCAP数据包和RFC文档详细介绍了DNS请求和响应的每个字段的含义。但是在现实的网络世界中,DNS请求和响应的数据包是怎么流动的,会经过哪些设备。本文将着重说明一下目前网络空间中DNS请求和响应的流动过程。 当前网络空间中比较常见DNS请求的流程如下…...

OKG Research:用户意图驱动的Web3应用变革

出品| OKG Research 作者|Samuel QIN 当前加密市场的快速演变中,用户增长成为行业可持续发展的基石。目前主流观点在推动行业前进的路上,从单纯的技术探索在向更注重应用价值的方向转变。尽管近年来Web3生态系统发展迅速&#xf…...

hbase 工具类

hbase 工具类 pom.xml <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.5.10-hadoop3</version> </dependency> <dependency><groupId>com.google.guava<…...

会议直击|美格智能受邀出席第三届无锡智能网联汽车生态大会,共筑汽车产业新质生产力

11月10日&#xff0c;2024世界物联网博览会分论坛——第三届无锡智能网联汽车生态大会在无锡举行&#xff0c;美格智能CEO杜国彬受邀出席&#xff0c;并参与“中央域控&#xff1a;重塑汽车智能架构的未来”主题圆桌论坛讨论&#xff0c;与行业伙伴共同探讨智能网联汽车产业领域…...

在 Jupyter Notebook 中使用 Matplotlib 进行交互式可视化的教程

在 Jupyter Notebook 中使用 Matplotlib 进行交互式可视化的教程 引言 数据可视化是数据分析的重要组成部分&#xff0c;能够帮助我们更直观地理解数据。Matplotlib 是 Python 中最流行的绘图库之一&#xff0c;而 Jupyter Notebook 则是进行数据分析和可视化的理想环境。本文…...

Android13 系统/用户证书安装相关分析总结(三) 增加安装系统证书的接口遇到的问题和坑

一、前言 接上回说到&#xff0c;修改了程序&#xff0c;增加了接口&#xff0c;却不知道有没有什么问题&#xff0c;于是心怀忐忑等了几天。果然过了几天&#xff0c;应用那边的小伙伴报过来了问题。用户证书安装没有问题&#xff0c;系统证书(新增的接口)还是出现了问题。调…...

【C++ 算法进阶】算法提升十三

目录标题 抽牌概率问题 &#xff08;动态规划&#xff09;动态规划题目分析代码 洗衣机问题 &#xff08;贪心&#xff09;题目题目分析 抽牌概率问题 &#xff08;动态规划&#xff09; 动态规划 假设现在有1~N N张牌 每张牌的序号就代表着他的大小 &#xff08;1 2 … N&am…...

【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整试卷

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 本章是去答案版本。带答案的版本在下…...

2024年11月中旬记录

11.11 pigz的使用 压缩文件夹命令&#xff1a; tar -cvf - dir_name | pigz > xxx.tar.gz 解压分两步&#xff0c;pigz解压和tar解压&#xff1a; pigz -d xxx.tar.gz tar -xf xxx.tar...

单体架构 IM 系统之长轮询方案设计

在上一篇技术短文&#xff08;单体架构 IM 系统之核心业务功能实现&#xff09;中&#xff0c;我们讨论了 “信箱模型” 在单体架构 IM 系统中的应用&#xff0c;“信箱模型” 见下图。 客户端 A 将 “信件” 投入到客户端 B 的 “信箱” 中&#xff0c;然后客户端 B 去自己的 …...

Android Studio加载旧的安卓工程项目报错处理

文章目录 Invalid Gradle JDK configuration foundNDK not configuredCMake 3.10.2 was not found安装cmake适配cmake版本号 com.intellij.openapi.externalSystem.model.ExternalSystemExceptiongradle版本过低或下载不了下载gradle与依赖库超时替换gradle国内源替换Maven 仓库…...

阿里公告:停止 EasyExcel 更新与维护

最近&#xff0c;阿里发布公告通知&#xff0c;将停止对知名 Java Excel 工具库 EasyExcel 的更新和维护。EasyExcel 由阿里巴巴开源&#xff0c;作者是玉箫&#xff0c;在 GitHub 上拥有 30k stars、7.5k forks 的高人气。 据悉&#xff0c;EasyExcel 作者玉箫去年已从阿里离…...

Spring 中的 BeanWrapper

BeanWrapper 是 Spring 框架中的一个接口&#xff0c;它提供了一种方式来设置和获取 JavaBean 的属性。JavaBean 是一种特殊的 Java 类&#xff0c;遵循特定的编码约定&#xff08;例如&#xff0c;私有属性和公共的 getter/setter 方法&#xff09;&#xff0c;通常用于封装数…...

2024鹏城杯msic部分WP

MISC 网安第一课 查找字符key&#xff0c;发现key1&#xff0c;但是没看到key2 后缀改为zip&#xff0c;打开以后发现不一样的地方&#xff0c;三张图片和一个misc文件夹 图片放到010看一眼 编号为1的图片在文件尾发现key2 misc文件夹中是一个out.pcb&#xff0c;放到010发现…...

DAY23|回溯算法Part02|LeetCode: 39. 组合总和 、40.组合总和II 、131.分割回文串

目录 LeetCode: 39. 组合总和 基本思路 C代码 LeetCode: 40.组合总和II 基本思路 C代码 LeetCode: 131.分割回文串 基本思路 C代码 LeetCode: 39. 组合总和 力扣代码链接 文字讲解&#xff1a;LeetCode: 39. 组合总和 视频讲解&#xff1a;带你学透回溯算法-组合总和…...

Navicat导入Excel实战:从数据准备到成功入库的完整避坑指南

1. 数据准备&#xff1a;Excel规范整理实战 第一次用Navicat导入Excel时&#xff0c;我对着报错提示整整折腾了两小时。后来才发现&#xff0c;90%的问题都出在数据准备阶段。就像做饭前要洗菜切配&#xff0c;数据导入前也需要做好这些准备工作&#xff1a; 字段命名要像给变量…...

Cursor-Learner:基于编辑器历史数据,自动生成个性化AI编程助手Prompt

1. 项目概述&#xff1a;一个帮你“诊断”编程习惯的智能助手 如果你和我一样&#xff0c;每天都在和 Cursor 或 WindSurf 这类 AI 驱动的代码编辑器打交道&#xff0c;那你肯定也遇到过这样的困惑&#xff1a;为什么有时候 AI 助手能精准地理解你的意图&#xff0c;写出漂亮的…...

边缘计算与AI驱动:2019年技术底层逻辑重塑与产业变革

1. 从数据洪流到智能边缘&#xff1a;2019年的技术底层逻辑重塑 每天产生2.5万亿亿字节的数据&#xff0c;这个数字听起来像是天方夜谭&#xff0c;但这就是我们正在面对的现实。更关键的是&#xff0c;其中90%的数据是在过去两年里生成的。作为一名在半导体和系统设计领域摸爬…...

Google Maps路线优化突遭瓶颈?Gemini大模型如何将平均行程时间压缩23.6%(2024Q2实测数据)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Google Maps路线优化突遭瓶颈&#xff1f;Gemini大模型如何将平均行程时间压缩23.6%&#xff08;2024Q2实测数据&#xff09; 当Google Maps在高并发城市网格中遭遇动态交通建模失准、实时事件响应延迟…...

为什么83%的Enterprise客户在第6个月触发License超额预警?揭秘后台用量监控盲区与动态配额优化公式

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;License超额预警现象的全局观测与根本归因 License超额预警并非孤立事件&#xff0c;而是软件许可治理体系中多维耦合失衡的外在表征。在企业级 DevOps 平台&#xff08;如 GitLab Ultimate、JetBrains…...

【PTA实战】矩阵乘法:从输入格式到核心算法的完整解析

1. 矩阵乘法在PTA平台的核心挑战 第一次在PTA平台做矩阵乘法题时&#xff0c;我被那个"格式卡顿"坑得差点怀疑人生。明明算法逻辑完全正确&#xff0c;提交后却总是提示"格式错误"&#xff0c;这种经历相信很多同学都遇到过。矩阵乘法作为线性代数的基础运…...

从MATLAB验证到RTL实现:一个完整华莱士树乘法器的设计、仿真与调试实战

从MATLAB验证到RTL实现&#xff1a;一个完整华莱士树乘法器的设计、仿真与调试实战 在数字信号处理、图形渲染和密码学等高性能计算领域&#xff0c;乘法器的效率往往成为系统瓶颈。传统阵列乘法器虽然结构规整&#xff0c;但随着位宽增加&#xff0c;其线性增长的延迟特性难以…...

AI Agent(智能体)的输出格式应该从 Markdown 转向 HTML吗?

在近期&#xff08;2026年5月&#xff09;的技术圈和AI社区引发了非常热烈的讨论。提出这个观点的是 Anthropic&#xff08;Claude背后的公司&#xff09;负责 Claude Code 团队的工程师 Thariq Shihipar&#xff0c;他最近发表了一篇题为《使用 Claude Code&#xff1a;HTML 极…...

FanControl深度解析:Windows上最强大的风扇控制软件终极指南

FanControl深度解析&#xff1a;Windows上最强大的风扇控制软件终极指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trend…...

008、RISC-V在TinyML中的崛起与优势

008、RISC-V在TinyML中的崛起与优势 从一块“变砖”的开发板说起 去年冬天,我在调试一个基于Cortex-M4的智能传感器节点。项目要求将唤醒词检测模型塞进32KB的SRAM里,功耗要控制在50μA以下。折腾了两周,模型量化、算子裁剪、甚至手写汇编优化了部分矩阵运算——终于跑通了…...