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

prometheus+grafana+MySQL监控

prometheus+grafana+MySQL监控

环境说明

操作前提:

  1. 先去搭建Docker部署prometheus+grafana+...这篇文章的系统

Docker部署prometheus+grafana+...的参考文章:

  • Docker部署prometheus+grafana+…-CSDN博客
  1. 在的节点服务器上搭建MySQL数据库(可以采用直接安装或者docker部署)

搭建MySQL数据库的参考文章:

Linux部署docker参考

  • 02-Docker安装_docker安装包下载-CSDN博客

docker部署MySQL参考

  • 09-Docker安装MySQL_docker 安装mysql-CSDN博客

Linux部署MySQL参考

  • 05-Linux部署MySQL_linux 安装mysql 5.7-CSDN博客
  1. 本文参考文章:
  • Prometheus+Grafana监控MySQL - easydba - 博客园
  1. 说明:

本文的操作均以搭建好的prometheus+grafana+alertmanager+pushgateway+blackbox-exporter系统和搭建好的节点服务器为基础进行操作

系统图示

画板

Grafana图形显示Linux硬件信息

  • Grafana官方提供模板地址:https://grafana.com/grafana/dashboards
  • 本次要导入的模板:https://grafana.com/grafana/dashboards/11074

监控远程Linux中的MySQL

在被监控端上安装mysqld_exporter组件

下载地址: https://prometheus.io/download/

注意:我这里下载的是当前最新版本mysqld_exporter-0.17.2.linux-amd64.tar.gz

# 解压安装包
tar -xf mysqld_exporter-0.17.2.linux-amd64.tar.gz -C /opt# 创建链接目录
cd /opt
ln -s mysqld_exporter-0.17.2.linux-amd64 mysqld_exporter[root@bogon docker]# docker ps
CONTAINER ID   IMAGE                                                            COMMAND                   CREATED          STATUS          PORTS                                                  NAMES
1a7841073d52   mysql:8.0.28                                                     "docker-entrypoint.s…"   7 seconds ago    Up 6 seconds    0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   tender_nightingale
[root@bogon docker]# docker exec -it 1a7841073d52 /bin/bash
root@1a7841073d52:/# mysql -uroot -p# 在MySQL服务器上创建监控用户 5.X版本
mysql> grant select,replication client, process on *.* to 'mysql_monitor'@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
# 8.X版本
mysql> CREATE USER 'mysql_monitor'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)mysql> GRANT SELECT, REPLICATION CLIENT, PROCESS ON *.* TO 'mysql_monitor'@'%';
Query OK, 0 rows affected, 1 warning (0.00 sec)
# 刷新权限
mysql>
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)mysql> exit
Bye# 将上面创建的mysql用户信息写入mysqld_exporter配置文件(新创建一个)
[root@mysql01 ~]# vim /opt/mysqld_exporter/.my.cnf
[client]
user=mysql_monitor
password=123456# 启动mysqld_exporter
nohup /opt/mysqld_exporter/mysqld_exporter --config.my-cnf=/opt/mysqld_exporter/.my.cnf &# 确认是否正常启动(默认端口9104)
[root@mysql01 ~]# netstat -lnptu | grep 9104
tcp6       0      0 :::9104                 :::*                    LISTEN      32688/mysqld_export 

注意:一定要关防火墙或者放行端口

配置prometheus.yml

回到prometheus服务器的配置文件里添加被监控机器的配置段

注意这里找到你自己的prometheus.yml

vim /home/project-root/config/prometheus.yml

写入你自己的被监控的主机名,ip:端口

示例

  - job_name: 'node-01-MySQL'static_configs:- targets: ['192.168.221.129:9104']

有多少台被监控主机就照格式添加在后面,我这里监控了1台主机作为测试

重启服务

由于我这里是用docker构建的普罗米修斯,所以要去重新执行docker-compose.yml文件

docker compose down
docker compose up -d

查看是否连接成功

回到web管理界面,可以看到多了1台监控主机

配置grafana

Grafana导入监控模板

11074

选择 Dashboards – Import – ID 输入11074,点击Load

选择数据源prometheus

查看监控效果

grafana展示MySQL相关数据

  1. 没数据可能是需要等一会,让数据传过来。
  2. 有些可能是Prometheus没有采集相关指标。
  3. 还有就是需要安装percona公司插件解决。
http://www.lryc.cn/news/574541.html

相关文章:

  • 云原生周刊:Argo CD v3.1 正式发布
  • 工程优化——WebSocket、WSS(WebSocket Secure)和SSE(Server-Sent Events)通信对比
  • Jenkins+Jmeter+Ant接口持续集成
  • 【人工智能agent】--dify实现文档内容的自动抽取
  • 论文阅读:2025 arxiv Qwen3 Technical Report
  • 【论文阅读 | CVPRW 2023 |CSSA :基于通道切换和空间注意力的多模态目标检测】
  • 【AI时代速通QT】第三节:Linux环境中安装QT并做测试调试
  • Starrocks 低基数全局字典优化
  • 【Vue】 keep-alive缓存组件实战指南
  • Dify携手代理商奇墨科技:加快企业AI应用构建
  • FTP原理、安装部署与案例应用全面指南
  • Unity3D下的RTSP/RTMP超低延迟直播播放器实践:跨平台、高性能与VR全景支持的完整解析
  • 创建首个 Spring Boot 登录项目
  • DD3118S:USB3.0+Type-c双头TF/SD二合一高速0TG多功能手机读卡器ic
  • 76、单元测试-参数化测试
  • 做上门私厨/上门做饭App小程序,到底是定制开发,还是选成品系统?
  • 随机森林详解:原理、优势与应用实践
  • 【空间数据分析】全局莫兰指数(Global Moran’s I)
  • 《C++》命名空间简述
  • 项目练习:使用itextpdf制作pdf报表
  • 电商场景BI解决方案:用观远BI捕获电商大促增长先机
  • (3)ROS2:6-dof前馈+PD / 阻抗控制器
  • 常见网络知识,宽带、路由器
  • UAVAI-YOLO:无人机航拍图像的小目标检测模型
  • NLP基础1_word-embedding
  • 桥头守望者
  • iostat中的util原理
  • OpenCV CUDA模块设备层-----检查 CUDA 错误并输出调试信息内联函数checkCudaError()
  • 【STM32】JTAG / SWD 调试原理简析
  • IN子查询与JOIN的区别理解