Prometheus结合Grafana监控MySQL,这篇不可不读!

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

    • 📣 1.Prometheus介绍
    • 📣 2.安装Prometheus
    • 📣 3.监控MySQL
      • ✨ 3.1 下载安装包
      • ✨ 3.2 解压安装
      • ✨ 3.3 添加数据源
      • ✨ 3.4 自启动设置
      • ✨ 3.5 添加监控目标
    • 📣 4.告警alertmanager
      • ✨ 4.1 部署alertmanager
      • ✨ 4.2 开机自启
      • ✨ 4.3 集成alertmanager
      • ✨ 4.4 创建报警规则
    • 📣 5.总结


监控系统俗称「第三只眼」,几乎是我们每天都会打交道的系统,本文基于Prometheus结合Grafana监控MySQL,分享给大家

📣 1.Prometheus介绍

Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。
Prometheus提供了从指标暴露,到指标抓取、存储和可视化,以及最后的监控告警等组件。

在这里插入图片描述

从上图可发现,Prometheus整个生态圈组成主要包括prometheus server,Exporter,pushgateway,alertmanager,grafana,Web ui界面,Prometheus server由三个部分组成,Retrieval,Storage,PromQL
1.Retrieval负责在活跃的target主机上抓取监控指标数据
2.Storage存储主要是把采集到的数据存储到磁盘中
3.PromQL是Prometheus提供的查询语言模块。

📣 2.安装Prometheus

监控组件下载地址
https://prometheus.io/docs/instrumenting/exporters/

在这里插入图片描述

tar -zxvf prometheus-2.45.3.linux-amd64.tar.gz -C /usr/local/
ln -s /usr/local/prometheus-2.45.3.linux-amd64 /usr/local/prometheus
ln -s /usr/local/prometheus/prometheus /usr/local/bin/prometheusprometheus --config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data/ \
--web.enable-lifecycle \
--storage.tsdb.retention.time=15d &

在这里插入图片描述

lsof -i:9090
ps -ef|grep prometheus
http://192.168.3.10:9090

在这里插入图片描述

📣 3.监控MySQL

✨ 3.1 下载安装包

https://prometheus.io/download/

在这里插入图片描述

✨ 3.2 解压安装

tar -zxvf mysqld_exporter-0.15.1.linux-amd64.tar.gz
mv ./mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/

✨ 3.3 添加数据源

创建监控用户
mysql> create user mysql_exporter@‘%’ identified with mysql_native_password by ‘root’;
mysql> grant process, replication client, select on . to ‘mysql_exporter’@‘%’;
mysql> flush privileges;

配置MySQL密码
mkdir -p /etc/mysql_exporter
cd /etc/mysql_exporter
cat > mysql3306_192168312.cnf << “EOF”
[client]
host=192.168.3.12
user=mysql_exporter
password=root
port=3306
EOF

✨ 3.4 自启动设置

cat > /usr/lib/systemd/system/mysqld_exporter.service <<EOF
[Unit]
Description=mysql_exporter
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/mysqld_exporter --config.my-cnf="/etc/mysql_exporter/mysql3306_192168312.cnf" --web.listen-address=":9104"
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF# 通知systemd重新加载配置文件
systemctl daemon-reload 
#启动
systemctl start mysqld_exporter
#设置开机自启动
systemctl enable mysqld_exporter
#查看状态
systemctl status mysqld_exporter

在这里插入图片描述

✨ 3.5 添加监控目标

vi /usr/local/prometheus/prometheus.yml- job_name: 'MySQL'static_configs:- targets: ['192.168.3.12:9104']labels:instance: mysql_Prometheussystemctl restart prometheus
systemctl status prometheushttp://192.168.3.10:9090/targets?search=

在这里插入图片描述

在Grafana官网中找到mysql的监控模板 Mysql Overview,ID为7362,使用ID的方式导入到Grafana中去

在这里插入图片描述

📣 4.告警alertmanager

在Prometheus的报警系统中,是分为2个部分的, 规则是配置是在prometheus中的, prometheus组件完成报警推送给alertmanager的, alertmanager然后管理这些报警信息,包括静默、抑制、聚合和通过电子邮件、on-call通知系统和聊天平台等方法发送通知。
主要步骤如下,安装在Prometheus服务器即可

安装和部署alertmanager
在prometheus中配置alertmanager的地址信息。
在prometheus中设置报警规则
在alertmanager配置接受者信息等

✨ 4.1 部署alertmanager

tar xf alertmanager-0.26.0.linux-amd64.tar.gz
mv alertmanager-0.26.0.linux-amd64 /usr/local/prometheus/
cd /usr/local/prometheus/
ln -s alertmanager-0.26.0.linux-amd64 alertmanager

在这里插入图片描述

✨ 4.2 开机自启

vi /usr/lib/systemd/system/alertmanager.service[Unit]
Description=alertmanager
After=network.target[Service]
User=root
Group=root
WorkingDirectory=/usr/local/prometheus/alertmanager
ExecStart=/usr/local/prometheus/alertmanager/alertmanager  --log.level=debug --log.format=json
[Install] 
WantedBy=multi-user.target# 通知systemd重新加载配置文件,记得重启服务器即可
systemctl daemon-reload
#启动
systemctl restart alertmanager
systemctl status alertmanager

在这里插入图片描述

✨ 4.3 集成alertmanager

部署完毕alertmanager, 需要告知prometheus告警信息推送的位置, 通过如下配置即可完成。相对比较简单。
vi /usr/local/prometheus/prometheus.yml

# 修改此文件中的alerting的配置如下配置
alerting:alertmanagers:- static_configs:- targets:- 192.168.3.12:9093配置完毕后重启prometheus服务。
systemctl restart prometheus

✨ 4.4 创建报警规则

为了能先走通流程,这里的报警规则先弄一个简单一点的。
vi prometheus.yml 
rule_files:- "rules/*rules.yml"# - "second_rules.yml"

cd /usr/local/prometheus/
mkdir rules
vi node_rules.yml

重启prometheus服务,可以在web界面看到如下信息

groups:- name: MySQLStatsAlertrules:- alert: MySQL is downexpr: mysql_up == 0for: 1mlabels:serverity: criticalannotations:summary: "Instance {{ $labels.instance }} MySQL is down"description: "MySQL database is down. This requires immediate action!"

在这里插入图片描述

http://192.168.3.10:9090/alerts?search=

在这里插入图片描述

此时我们关闭 告警,发现监控显示MySQL已经关闭了

在这里插入图片描述

📣 5.总结

由于篇幅问题,本文的内容并未涉及到全链路监控、日志监控、以及Web前端和客户端的监控,可见监控真的是一个庞大且复杂的体系,如果想理解透彻,必须理论结合实践再做深入。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS 发布遇到“Unable to authenticate with App Store Connect”错误咋解决?

问题&#xff1a; 在开发ios app后&#xff0c;先发布adhoc版本&#xff0c;测试通过后&#xff0c;再发布testflight版本测试&#xff0c;但是可能会遇到一下问题。 解决办法&#xff1a; 在Signing &Capabilities中&#xff0c;在ios下边要指定有发布权限的Team账号&a…

数据库之间数据迁移工具datax

简介 DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databe…

链路负载均衡之DNS透明代理

一、DNS透明代理 一般来说&#xff0c;企业的客户端上都只能配置一个运营商的DNS服务器地址&#xff0c;DNS服务器通常会将域名解析成自己所在ISP内的Web服务器地址&#xff0c;这将导致内网用户的上网流量都集中在一个ISP的链路上转发&#xff0c;最终可能会造成链路拥塞&…

常用的Linux命令;Linux常用命令用法及实现方式

1.系统工作命令 (1)echo命令&#xff1a;echo命令用于在终端设备上输出字符串或变量提取后的值&#xff0c;语法格式为“echo [字符串] [$变量]”。 (2)date命令&#xff1a;date命令用于显示或设置系统的时间与日期&#xff0c;语法格式为“date [指定的格式]”。 (3)timedate…

VS2019 - error C2653: 不是类或命名空间名称

文章目录 VS2019 - error C2653: 不是类或命名空间名称概述笔记类的头文件类的实现文件备注END VS2019 - error C2653: 不是类或命名空间名称 概述 工程开了预编译头包含. 编码中, 随手写一个类, 将功能函数加入, 还没开始用这个类, 先习惯性的编译一下. 编译报错如下: St…

常用的17个运维监控系统(必备知识)

1. Zabbix Zabbix 作为企业级的网络监控工具&#xff0c;通过从服务器&#xff0c;虚拟机和网络设备收集的数据提供实时监控&#xff0c;自动发现&#xff0c;映射和可扩展等功能。 Zabbix的企业级监控软件为用户提供内置的Java应用服务器监控&#xff0c;硬件监控&#xff0c…

QT----写完的程序打包为APK在自己的手机上运行

目录 1、qt安装android组件2、打开qt配置Android 环境3、手机打开开发者模式&#xff0c;打开usb调试&#xff0c;连接电脑4、运行代码 1、qt安装android组件 qtcreater–工具-QTMaintenaceTool-startMaintenaceTool—登陆—添加或修改组件—找到android&#xff0c;安装 若是…

【脑切片图像分割】MATLAB 图像处理 源码

1. 简单图像处理 加载图像 Brain.jpg&#xff0c;使用直方图和颜色分割成区域这些区域有不同的颜色。 这是一个更高级的问题&#xff0c;有多个解决它的方法。 例如&#xff0c;您可以计算具有特定数字的图像的直方图&#xff08;例如 16 - 32&#xff09;&#xff0c;找到直方…

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测 目录 回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BiTCN基于双向时间卷积网络的数据回归预测&#xff08;完整源码和数据&a…

Vue 3的Composition API和vue2的不同之处

Vue 3的Composition API是Vue.js框架的一个重要更新&#xff0c;它提供了一种新的组件逻辑组织和复用方式。在Vue 2中&#xff0c;我们通常使用Options API&#xff08;data、methods、computed等&#xff09;来组织组件的逻辑&#xff0c;但这种组织方式在处理复杂组件时可能会…

Czkawka 一款开源、免费的多功能重复文件清理工具,支持多平台

Czkawka (波兰语为 "打嗝"&#xff09;是一款简单、快速、免费的多功能重复文件清理工具&#xff0c;支持空文件、相似图像/视频/音频、损坏/无效文件的查找。 它扫描速度极快&#xff0c;并且适配 Linux、Windows、macOS、FreeBSD 等多个平台、支持中文。 &#x1…

bert 相似度任务训练简单版本,faiss 寻找相似 topk

目录 任务 代码 train.py predit.py faiss 最相似的 topk 数 任务 使用 bert-base-chinese 训练相似度任务&#xff0c;参考&#xff1a;微调BERT模型实现相似性判断 - 知乎 参考他上面代码&#xff0c;他使用的是 BertForNextSentencePrediction 模型&#xff0c;Bert…

紫光展锐T618_4G安卓核心板方案定制

紫光展锐T618核心板是一款采用纯国产化方案的高性能产品&#xff0c;搭载了开放的智能Android操作系统&#xff0c;并集成了4G网络&#xff0c;支持2.5G5G双频WIFI、蓝牙近距离无线传输技术以及GNSS无线定位技术。 展锐T618核心板应用旗舰级 DynamlQ架构 12nm 制程工艺&#x…

掌握PDF全面指南:Python开发者的高效编程技巧

掌握PDF全面指南&#xff1a;Python开发者的高效编程技巧 简介PDF基础知识PDF的结构常见用途PDF在开发中的挑战 PDF处理库介绍PyPDF2ReportLabPDFMiner辅助库 读取和分析PDF文件使用PyPDF2读取PDF文件提取PDF中的文本和元数据分析PDF结构和内容 编辑和修改PDF文件合并多个PDF文…

OSPF故障排查,这10大技巧是个网工都在用!

中午好&#xff0c;我的网工朋友。 OSPF这个名词网工们都不陌生吧。 OSPF&#xff0c;即开放式最短路径优先&#xff08;Open Shortest Path First&#xff0c;OSPF&#xff09;是广泛使用的一种动态路由协议。 它属于链路状态路由协议&#xff0c;具有路由变化收敛速度快、…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(二)-向量元素到向量寄存器状态的映射

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容&#xff1a; 这是一份关于向量扩展的详细技术文档&#xff0c;内容覆盖了向量指令集的多个关键方面&#xff0c;如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…

Python爬取网站视频资源

思路&#xff1a; 在界面找到视频对应的html元素位置&#xff0c;观察发现视频的url为https://www.pearvideo.com/video_视频的id&#xff0c;而这个id在html中的href中&#xff0c;所以第一步需要通过xpath捕获到所需要的id 在https://www.pearvideo.com/video_id的页面&…

LabVIEW非接触式电阻抗层析成像系统

LabVIEW非接触式电阻抗层析成像系统 非接触式电阻抗层析成像&#xff08;NEIT&#xff09;技术以其无辐射、非接触、响应速度快的特点&#xff0c;为实时监测提供了新的解决方案。基于LabVIEW的电阻抗层析成像系统&#xff0c;实现了数据的在线采集及实时成像&#xff0c;提高…

记一次dockerfile无法构建问题追溯

我有一个dockerfile如下&#xff1a; ENTRYPOINT ["/sbin/tini"&#xff0c;"-g", "--"] CMD /home/scrapy/start.sh 我原本的用意是先启动tini&#xff0c;再执行下面的cmd命令启动start.sh。 为啥要用tini&#xff1f; 因为我的这个docker…

如何选择程序员职业赛道

目录 前言1 个人技能分析1.1 技术栈评估1.2 经验积累1.3 数据科学能力 2 兴趣与价值观2.1 用户交互与界面设计2.2 复杂问题解决与系统优化 3 长期目标规划4 市场需求分析4.1 人工智能和云计算4.2 前沿技术趋势 5 就业前景5.1 前端在创意性公司中的应用5.2 后端在大型企业中的广…