Prometheus+Grafana监控MySQL

一、准备

  • grafana服务器:192.168.48.136
  • Prometheus服务器:192.168.48.136
  • 被监控服务器:192.168.48.134、192.168.48.135
  • 查看时间是否同步

二、安装prometheus server

【2.1】安装

# 解压安装包
tar -zxvf prometheus-2.52.0.linux-amd64.tar.gz -C /opt# 创建链接目录
cd /opt
ln -s prometheus-2.52.0.linux-amd64.tar.gz prometheus# 直接使用默认配置文件启动
/opt/prometheus/prometheus --config.file="/opt/prometheus/prometheus.yml" &# 确认是否正常启动(默认端口9090)
netstat -lnptu | grep 9090

【2.2】prometheus界面访问 

【2.3】查看监控本机

【2.4】监控本机数据展示 

通过http://服务器IP:9090/metrics可以查看到监控的数据

【2.5】在web主界面可以通过关键字查询监控项

三、监控远程Linux主机

【3.1】在被监控端上安装node_exporter组件

# 解压安装包
tar -xf node_exporter-1.8.1.linux-amd64.tar.gz -C /opt# 创建链接目录
cd /opt
ln -s node_exporter-1.8.1.linux-amd64.tar.gz node_exporter# 使用nohup后台运行
nohup /opt/node_exporter/node_exporter &# 确认是否正常启动(默认端口9100)
netstat -lnptu | grep 9100扩展: nohup命令: 如果把启动node_exporter的终端给关闭,那么进程也会随之关闭。nohup命令会帮你解决这个问题。

 同样操作,将所有需要被监控主机安装node_exporter组件

【3.2】通过浏览器访问http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息

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

# 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"static_configs:- targets: ["localhost:9090"]- job_name: '192.168.48.134'      # 给被监控主机取个名字,我这里直接填的IPstatic_configs:- targets: ['192.168.48.134:9100']      # 这里填写被监控主机的IP和端口- job_name: '192.168.48.135'static_configs:- targets: ['192.168.48.135:9100']# scheme defaults to 'http'.

重启服务

pkill prometheus /opt/prometheus/prometheus --config.file="/opt/prometheus/prometheus.yml" &netstat -lnptu | grep 9090

【3.4】回到web管理界面,可以看到多了两台监控主机

四、监控远程MySQL

【4.1】 在被管理MySQL服务器上安装mysqld_exporter组件

# 解压安装包
tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /opt# 创建链接目录
cd /opt
ln -s mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter# 在MySQL服务器上创建监控用户
mysql> grant select,replication client, process on *.* to 'mysql_monitor'@'localhost' identified by 'xxxxxxxxxxxxx';
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)mysql> exit
Bye# 将上面创建的mysql用户信息写入mysqld_exporter配置文件
vim /opt/mysqld_exporter/.my.cnf
[client]
user=mysql_monitor
password=xxxxxxxxxxx# 启动mysqld_exporter
nohup /opt/mysqld_exporter/mysqld_exporter --config.my-cnf=/opt/mysqld_exporter/.my.cnf &# 确认是否正常启动(默认端口9104)
netstat -lnptu | grep 9104

 【5.2】回到prometheus服务器的配置文件里添加被监控的mariadb的配置段

# 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"static_configs:- targets: ["localhost:9090"]- job_name: '192.168.48.134'      # 给被监控主机取个名字,我这里直接填的IPstatic_configs:- targets: ['192.168.48.134:9100']      # 这里填写被监控主机的IP和端口- job_name: '192.168.48.135'static_configs:- targets: ['192.168.48.135:9100']- job_name: 'mysql-134'      # 给被监控主机取个名字static_configs:- targets: ['192.168.48.134:9104']      # 这里填写被监控主机的IP和端口- job_name: 'mysql-135'static_configs:- targets: ['192.168.48.135:9104']# metrics_path defaults to '/metrics'# scheme defaults to 'http'.

重启服务 

pkill prometheus /opt/prometheus/prometheus --config.file="/opt/prometheus/prometheus.yml" &netstat -lnptu | grep 9090

【5.3】回到web管理界面点Status-->Targets-->就可以看到监控的MySQL服务器了

 回到主界面搜索mysql相关参数

五、Grafana可视化图形工具

【5.1】安装grafana服务器

#解压grafana安装包
tar -zxvf grafana-7.3.5.linux-amd64.tar.gz -C /opt
cd /opt/grafana-7.3.5/bin/
#启动
./grafana-server
查看端口
netstat -lnptu | grep 3000

 通过浏览器访问 http:// ip服务器IP:3000就到了登录界面,使用默认用户名admin,密码admin

登录进入首页

 六、在Grafana上添加Prometheus数据源

【6.1】我们把prometheus服务器收集的数据做为一个数据源添加到grafana,让grafana可以得到prometheus的数据

 七、Grafana图形显示Linux硬件信息

  • Grafana官方提供模板地址:Grafana dashboards | Grafana Labs
  • 本次要导入的模板:Node Exporter Dashboard EN 20201010-StarsL.cn | Grafana Labs

刚刚添加的

查看效果

八、 Grafana图形显示MySQL监控数据

【8.1】通过Grafana官网导入模板

 九、修改grafana配置文件,添加发件邮箱

vim /etc/grafana/grafana.ini    # 找到smtp关键字
#################################### SMTP / Emailing ##########################
[smtp]
enabled = true  # 改成true
host = smtp.exmail.qq.com:465   # 发送服务器地址和端口
user =  # 这里填写发件邮箱
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password =  # 这里填写发件邮箱密码或授权密码
;cert_file =
;key_file =
skip_verify = true  # 改成true
from_address =  # 这里填写发件邮箱
;from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com
# SMTP startTLS policy (defaults to 'OpportunisticStartTLS')
;startTLS_policy = NoStartTLS

后面的发件邮箱就不在说明了

参考博客:Prometheus+Grafana监控MySQL - easydba - 博客园 (cnblogs.com)

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

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

相关文章

Element UI 日期组件自定义可选范围

官网地址 &#xff1a;Element - The worlds most popular Vue UI framework 自定义方式&#xff1a; 在data&#xff08;&#xff09;函数中定义 // 日期选择器可选范围expireTimeOption: {disabledDate: time > {// 判断是否是在任务时间段if (this.isTaskRandTime(time)…

数字人直播系统源码,不需要高价购买,只需这个价!

在技术领域&#xff0c;系统源码的价格往往令人咋舌&#xff0c;尤其是涉及到高端应用如数字人直播系统时。那么&#xff0c;一套数字人直播系统源码到底需要多少钱&#xff1f;面对高昂的价格&#xff0c;是否还值得进入这个行业&#xff1f; 首先&#xff0c;我们要认识到数…

UE5-不同材质上脚步声

主要是用物理材质给不同的材质加一个标签 创建材质 首先去设置里面创建几个地形材质名称&#xff0c;我这里创建了Grass&#xff0c;Rock&#xff0c;Wood&#xff0c;Water &#xff08;就是名字而已&#xff09; 然后创建物理材质&#xff08;物理材质可以添加到现有的普通…

虚拟仿真实训平台助力院校人才培养与产业发展共赢

一、虚拟仿真实训平台简单介绍 虚拟仿真实训平台适用于虚拟仿真实训教学场所&#xff0c;几乎兼容所有虚拟仿真实训显示设备&#xff0c;能够完成虚拟仿真实训资源进行跨专业、跨院校、跨地域的统筹管理。且虚仿平台具备虚拟仿真实训教学过程的监控分析及虚拟仿真实训资源集合…

WPF中的隧道路由和冒泡路由事件

文章目录 简介&#xff1a;一、事件最基本的用法二、理解路由事件 简介&#xff1a; WPF中使用路由事件升级了传统应用开发中的事件&#xff0c;在WPF中使用路由事件能更好的处理事件相关的逻辑&#xff0c;我们从这篇开始整理事件的用法和什么是直接路由&#xff0c;什么是冒…

探索大数据在信用评估中的独特价值

随着我国的信用体系越来越完善&#xff0c;信用将影响越来越多的人。现在新兴的大数据信用和传统信用&#xff0c;形成了互补的优势&#xff0c;大数据信用变得越来越重要&#xff0c;那大数据信用风险检测的重要性主要体现在什么地方呢?本文将详细为大家介绍一下&#xff0c;…

深入理解并打败C语言难关之一————指针(3)

前言&#xff1a; 昨天把指针最为基础的内容讲完了&#xff0c;并且详细说明了传值调用和传址调用的区别&#xff08;这次我也是做到了每日一更&#xff0c;感觉有好多想写的但是没有写完&#xff09;&#xff0c;下面不多废话&#xff0c;下面进入本文想要说的内容 目录&#…

怎么提升机器人外呼的转化效率

在某些情况下&#xff0c;如市场调查、产品推广等&#xff0c;语音机器人可以高效地完成大量的呼叫任务&#xff0c;并能通过预设的语音脚本和智能识别功能&#xff0c;初步筛选和分类潜在客户。此时&#xff0c;不转人工可能更为高效和经济。 然而&#xff0c;在一些需要深度沟…

停止游戏中的循环扣血显示

停止游戏中循环扣血并显示的具体实现方式会依赖于你的代码结构和游戏的逻辑。通常情况下&#xff0c;你可以通过以下方式来实现停止循环扣血和显示&#xff1a; 1、问题背景 在使用 Python 代码为游戏开发一个生命值条时&#xff0c;遇到了一个问题。代码使用了循环来减少生命…

【PLG洞察】|向Figma学习如何打造标杆客户和实施分销策略

Figma是一款功能强大的在线协同设计工具&#xff0c;它主要被用于界面设计、原型设计和用户体验设计。作为国外知名的saas企业&#xff0c;对标国内的saas蓝海&#xff0c;它的增长实在惊人&#xff01;据称&#xff0c;Figma2020年的收入已达$75M, 2021年6月&#xff0c;美国的…

Kafka流计算培训:打造Kafka技术专家,引领大数据未来

Kafka流计算培训课程是一门旨在帮助大数据从业人员和欲从事Kafka技术的人员快速掌握Kafka核心技术的专业培训项目。 在这个3天的课程中&#xff0c;我们将全面细致地讲解Kafka流计算软件的配置、Kafka流计算开发和流计算管道设计等内容&#xff0c;让学员能够在实际工作中灵活…

C++的异常捕获

目录 C语言的异常处理方式 C的异常处理方式 异常的抛出与捕获 抛出与捕获原则 异常安全 C语言的异常处理方式 1、终止程序 常见形式&#xff1a;assert 缺陷&#xff1a;太过强硬&#xff0c;如果发生内存错误&#xff0c;或者除0语法错误等就会直接终止程序 2、返回错误码…

2024年新闻传播、社会科学与公共艺术国际会议(ICJSSPA2024)

2024年新闻传播、社会科学与公共艺术国际会议(ICJSSPA2024) 会议简介 2024年新闻传播、社会科学与公共艺术国际会议(ICJSSPA2024)即将在上海举行。这项国际活动将汇集来自世界各地的新闻和传播学者、社会科学研究精英和公共艺术领域的创新者。会议旨在搭建一个开放包容的交…

MySQL Online DDL原理解读

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

Idea jdk配置的地方 启动时指定切换的地方

jdk 配置的地方 项目sdk 所在位置 管理添加或删除的地方&#xff0c;增加后&#xff0c;可以在在上面切换 启动时指定版本

UE4中性能优化工具合集

UE4中性能优化工具合集 简述CPUUnreal InsightUnreal ProfilerSimpleperfAndroid StudioPerfettoXCode TimeprofilerBest Practice GPUAdreno GPUMali GPUAndroid GPU Inspector (AGI) 内存堆内存分析Android StudioLoliProfilerUE5 Memory InsightsUnity Mono 内存MemreportRH…

Spring Security 与 JWT、OAuth 2.0 整合详解:构建安全可靠的认证与授权机制

Spring Security 与 OAuth 2.0 整合详解&#xff1a;构建安全可靠的认证与授权机制 将 JWT&#xff08;JSON Web Token&#xff09;与 OAuth 2.0 整合到 Spring Security 中可以为应用程序提供强大的认证和授权功能。以下是详细的整合步骤和代码示例。 1. 引入依赖 首先&am…

FastDFS简介与调优

背景&#xff1a;FastDFS在公司使用多年&#xff0c;一直作为主要文件存储服务使用。经过多场景、多项目实战检验。稳定性、性能均满足实战要求。相关使用介绍及调优给大家分享一下。 1.简介 FastDFS是淘宝架构师_余庆用C语言编写的一款开源的分布式文件系统&#xff0c;源码目…

3d模型文件格式有那些,什么区别?---模大狮模型网

3D模型文件格式有很多种&#xff0c;每种格式都有其特点和应用场景。常见的3D模型文件格式包括OBJ、FBX、STL、3DS、DAE等&#xff0c;下面将逐一介绍这些格式的区别。 1. OBJ格式&#xff1a;OBJ是一种开放的3D模型文件格式&#xff0c;可以被几乎所有的3D软件所支持。OBJ格式…

乐鑫ESP32-C3芯片应用,启明云端WT32C3-S5模组:简化产品硬件设计

在数字化浪潮的推动下&#xff0c;物联网(IoT)正迅速成为连接现实世界与数字世界的桥梁。芯片作为智能设备的心脏&#xff0c;其重要性不言而喻。 乐鑫推出的ESP32-C3芯片以其卓越的性能和丰富的功能&#xff0c;为智能物联网领域带来了新的活力&#xff0c;我将带您深入了解这…