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

Prometheus + Grafana 监控

Prometheus + Grafana 监控

官网介绍:Prometheus 是一个开源系统 监控和警报工具包最初由 SoundCloud 构建。自 2012 年成立以来,许多 公司和组织已经采用了 Prometheus,并且该项目具有非常 活跃的开发人员和用户社区。它现在是一个独立的开源项目 并独立于任何公司进行维护。为了强调这一点,并澄清 该项目的治理结构,Prometheus 于 2016 年加入云原生计算基金会 作为 Kubernetes 之后的第二个托管项目。

省流:Prometheus 就像小区物业的智能监控系统,能24小时盯着服务器/应用服务有没有"生病",一有问题就自动打电话通知管理员。最初是某个音乐公司开发的,现在变成全世界程序员共同维护的明星项目

Docker 安装 Prometheus

要想使用 Prometheus,首先就需要将其部署下来才行,这里选择使用部署方式是 Docker 自动化部署(默认 Docker 为安装并配置好状态,若没有配置好 Docker,请先参考文章安装好 Docker:https://blog.csdn.net/qq_73574147/article/details/133574279)

创建配置文件

创建一个 prometheus 文件夹,在其中创建一个prometheus.yml文件,并写入下面的内容

global:scrape_interval: 15s  # 每15秒采集一次数据scrape_configs:- job_name: "prometheus"  # 监控对象名称static_configs:- targets: ["localhost:9090"]  # 监控 Prometheus 自己

拉取镜像

选择拉取官方的 prom/prometheus 镜像

image-20250227171352859

在控制台输入下面的命令(默认拉取最新版)

docker pull prom/prometheus

拉取成功之后(如图)

image-20250227171656498

执行下面的命令启动容器(注意: /path/prometheus 需换成实际路径)

docker run -d -p 9090:9090 --name prometheus -v /path/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

显示下面的界面即为创建成功

image-20250227173248199

然后用浏览器访问 http://localhost:9090,如果看到下面的 Prometheus 的 Web 界面即为启动成功

image-20250227173415855

然后点击菜单栏的 Status,再点击 Target health

image-20250227173624224

看到 Prometheus 的状态为 UP,即为正常

image-20250227173710873

监控 Docker 自身(可选)

这里需要先拉取 Node Exporter 容器镜像(采集物理机硬件数据)

docker pull prom/node-exporter

执行下面的命令启动 Node Exporter 容器

docker run -d --name node-exporter -p 9100:9100 --net="host" prom/node-exporter

在之前的 prometheus.yml 文件中添加以下内容(IP地址记得换成自己机器的IP地址)

- job_name: "docker"static_configs:- targets: ["192.168.1.11:9100"]  # 新增的监控目标

使用 Docker 重启 Prometheus 容器

docker restart prometheus

可以看到 Target Health 中 Docker 与 Prometheus 的状态都为 UP,说明已经启动成功

image-20250227210429879

如果要监听其他服务器主机的状态也是如此操作。

安装 Grafana

首先拉取 Grafana 的镜像

docker pull grafana/grafana

image-20250227211117980

启动 Grafana 容器

docker run -d -p 3000:3000 --name=grafana grafana/grafana

启动成功之后,访问地址:http://localhost:3000,用户名与密码都为 admin

如果想要单独设置密码,则在上述命令中追加一个-e GF_SECURITY_ADMIN_PASSWORD:password,password 为设置的密码

docker run -d -p 3000:3000 --name=grafana -e GF_SECURITY_ADMIN_PASSWORD=password grafana/grafana

image-20250227212115668

登录进去之后,点击 Connections->Data Source

image-20250227213603291

点击 Add data source,在里面找到 Prometheus (一般是第一个)

image-20250227213718851

也可以直接搜索

image-20250227213800115

点击 Prometheus,然后设置名称与其IP地址

image-20250227213921651

其他的配置选配(默认就行),一直往下滑,然后点击 Sava & test

image-20250227214156191

当出现下面的提示时表示已经配置完成了

image-20250227214320077

设置 Dashboard

点击右上角+号,选择Import dashboard

image-20250227221645660

关于监控面板 Dashboard 模板的素材,可以下载使用 Grafana 官方提供的,访问地址:https://grafana.com/grafana/dashboards/,通过选择对应的数据源来找到合适的面板

image-20250227221951712

因为这里使用的是 Prometheus,使用 DataSource 选择 Prometheus

然后点击 Download JSON 就会得到一个 json 文件

image-20250227223118883

然后将下载的 json 文件拖到 Import dashboard 页面中的上传框中即可

image-20250227223229585

然后选择刚才配置好的 Prometheus

image-20250227223337909

点击 import 即可

当然,如果觉得下载 JSON 文件太麻烦,并且已经注意到下载的 JSON 文件的名称,就会发现这些 dashboard 都有一个类似于 id 的标识

image-20250227223540126

这时候只需要回到Import dashboard页面,将这个“id”输入进去,点击Load就可以实现跟下载 JSON 文件一样的效果

image-20250227223653648

这里推荐几个不错的 Dashboard 模板

  • MySQL: 7362、7371、14057
  • Redis: 763、14192、14432
  • Nginx:9614、2949
  • Linux(服务器监控): 8919、9276、1860、12633

导入模板成功后效果图如下(8919):
image-20250227224027329

ID:9276

image-20250228205102887

监控 MySQL(可选)

首先执行下面的命令安装 MySQL Exporter

拉取 MySQL Exporter 镜像

docker pull prom/mysqld-exporter

创建 MySQL Exporter 容器

MySQL主机IP和MySQL账号密码需换成自己的

docker run -d -p 9104:9104 --name mysql-exporter prom/mysqld-exporter --mysqld.username=root:123456 --mysqld.address=192.168.1.11:3306

prometheus.yml 文件中添加以下内容(IP地址记得换成安装 Prometheus 机器的IP地址)

- job_name: "mysql"static_configs:- targets: ["192.168.1.11:9104"]  # 新增 MySQL 监控目标

重启 Prometheus

docker restart prometheus

打开网址 http://localhost:9090 查看 MySQL Exporter 状态是否为 UP

image-20250228205643919

然后按照上述设置 Dashboard步骤,选择设置一个 MySQL 的监控面板,如下图(ID: 14057)

image-20250228220221606

监控 Redis(可选)

跟监控 MySQL 步骤类似,先拉取 Redis Exporter 镜像

docker pull oliver006/redis_exporter

创建 Redis Exporter 容器(IP换成自己Redis主机的IP地址,密码替换为实际的密码,如果没有设置密码则把-e REDIS_PASSWORD="123456"删除即可)

docker run -d --name redis-exporter -p 9121:9121 -e REDIS_ADDR="redis://192.168.1.2:6379" -e REDIS_PASSWORD="123456" oliver006/redis_exporter

prometheus.yml 文件中添加以下内容(IP地址记得换成安装 Prometheus 机器的IP地址)

- job_name: "redis"static_configs:- targets: ["192.168.1.2:9121"]  # 新增 Redis 监控目标

重启 Prometheus

docker restart prometheus

选择设置一个 Redis 监控面板,如下图(ID: 763)

image-20250228221645983

如上,就已经完成 Prometheus + Grafana 对 MySQL 、Redis、服务器主机(Linux) 的常规指标的简单基础监控,当然,也可以诸如此类进行**“热插拔式”**的监控其他应用/服务(如Nginx等)

相关文章:

Prometheus + Grafana 监控

Prometheus Grafana 监控 官网介绍:Prometheus 是一个开源系统 监控和警报工具包最初由 SoundCloud 构建。自 2012 年成立以来,许多 公司和组织已经采用了 Prometheus,并且该项目具有非常 活跃的开发人员和用户社区。它现在是一个独立的开源…...

初学STM32之简单认识IO口配置(学习笔记)

在使用51单片机的时候基本上不需要额外的配置IO,不过在使用特定的IO的时候需要额外的设计外围电路,比如PO口它是没有内置上拉电阻的。因此若想P0输出高电平,它就需要外接上拉电平。(当然这不是说它输入不需要上拉电阻,…...

springboot2.7.18升级springboot3.3.0遇到的坑

druid的警告,警告如下: 运行警告2025-02-28T09:20:31.28508:00 WARN 18800 --- [ restartedMain] trationDelegate$BeanPostProcessorChecker : Bean com.alibaba.druid.spring.boot3.autoconfigure.stat.DruidSpringAopConfiguration of type [com.a…...

gtest 和 gmock讲解

Google Test(gtest)和 Google Mock(gmock)是 Google 开发的用于 C 的测试框架和模拟框架,以下是对它们的详细讲解: Google Test(gtest) 简介 Google Test 是一个用于 C 的单元测试框…...

GC垃圾回收介绍及GC算法详解

目录 引言 GC的作用域 什么是垃圾回收? 常见的GC算法 1.引用计数法 2.复制算法 3.标记清除 4.标记整理 小总结 5.分代收集算法 ps:可达性分析算法? 可达性分析的作用 可达性分析与垃圾回收算法的关系 结论 引言 在编程世界中,…...

2020 年英语(一)考研真题 笔记(更新中)

Section I Use of English(完型填空) 原题 Directions:Read the following text. Choose the best word (s) for each numbered blank and mark A, B, C or D on the ANSWER SHEET. (10 points) Even if families are less likely to si…...

【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目

解决idea至少创建jdk17项目 问题 idea现在只能创建最少jdk17,不能创建java8了吗?解决 问题 idea现在只能创建最少jdk17,不能创建java8了吗 我本来以为是 IDEA 版本更新导致的 Bug,开始还没在意。 直到我今天自己初始化项目时才发现&am…...

playbin之autoplug_factories源码剖析

一、autoplug_factories_cb /* Called when we must provide a list of factories to plug to pad with caps.* We first check if we have a sink that can handle the format and if we do, we* return NULL, to expose the pad. If we have no sink (or the sink does not…...

正浩创新内推:校招、社招EcoFlow社招内推码: FRQU1CY

EcoFlow社招内推码: FRQU1CY 投递链接: https://ecoflow.jobs.feishu.cn/s/Vo75bmlNr6c...

一文了解:部署 Deepseek 各版本的硬件要求

很多朋友在咨询关于 DeepSeek 模型部署所需硬件资源的需求,最近自己实践了一部分,部分信息是通过各渠道收集整理,so 仅供参考。 言归正转,大家都知道,DeepSeek 模型的性能在很大程度上取决于它运行的硬件。我们先看一下…...

有没有什么免费的AI工具可以帮忙做简单的ppt?

互联网各领域资料分享专区(不定期更新): Sheet 正文 1. 博思AIPPT 特点:专为中文用户设计,支持文本/文件导入生成PPT,内置海量模板和智能排版功能,涵盖商务、教育等多种场景。可一键优化布局、配色,并集成AI绘图功能(文生图/图生图)。适用场景:职场汇报、教育培训、商…...

python绘图之灰度图

灰度图(Gray Scale Image)是一种将图像中的像素值映射到灰度范围(通常是0到255)的图像表示方式。它在图像处理和计算机视觉中具有重要作用.本节学习使用python绘制灰度图 # 导入必要的库 import numpy as np import matplotlib.py…...

华为 VRP 系统简介配置SSH,TELNET远程登录

华为 VRP 系统简介&配置SSH/TELNET远程登录 1.华为 VRP 系统概述 1.1 什么是 VRP VRP(Versatile Routing Platform 华为数通设备操作系统)是华为公司数据通信产品的通用操作系统平台,从低端到核心的全系列路由器、以太网交换机、业务网…...

1.14 重叠因子:TRIMA三角移动平均线(Triangular Moving Average, TRIMA)概念与Python实战

目录 0. 本栏目因子汇总表1. 因子简述2. 因子计算逻辑3. 因子应用场景4. 因子优缺点5. 因子代码实现6. 因子取值范围及其含义7. 因子函数参数建议 0. 本栏目因子汇总表 【量海航行】 1. 因子简述 三角移动平均线(Triangular Moving Average, TRIMA)是一种特殊的加权移动平均…...

【tplink】校园网接路由器如何单独登录自己的账号,wan-lan和lan-lan区别

老式路由器TPLINK,接入校园网后一人登录,所有人都能通过连接此路由器上网,无法解决遂上网搜索,无果,幸而偶然看到一个帖子说要把信号源网线接入路由器lan口,开启新世界。 一、wan-lan,lan-lan区…...

PC 端连接安卓手机恢复各类数据:安装、操作步骤与实用指南

软件介绍 这款用于恢复安卓手机数据的软件,虽运行在 PC 端,却专为安卓手机数据恢复打造,使用时得用数据线把手机和电脑连接起来。它的功能相当强大,能帮你找回安卓手机里已删除的短信、联系人、通话记录、文档,还有照…...

【折线图 Line】——1

🌟 解锁数据可视化的魔法钥匙 —— pyecharts实战指南 🌟 在这个数据为王的时代,每一次点击、每一次交易、每一份报告背后都隐藏着无尽的故事与洞察。但你是否曾苦恼于如何将这些冰冷的数据转化为直观、吸引人的视觉盛宴? 🔥 欢迎来到《pyecharts图形绘制大师班》 �…...

SpringBoot 整合mongoDB并自定义连接池,实现多数据源配置

要想在同一个springboot项目中使用多个数据源,最主要是每个数据源都有自己的mongoTemplate和MongoDbFactory。mongoTemplate和MongoDbFactory是负责对数据源进行交互的并管理链接的。 spring提供了一个注解EnableMongoRepositories 用来注释在某些路径下的MongoRepo…...

TCP/IP的分层结构、各层的典型协议,以及与ISO七层模型的差别

1. TCP/IP的分层结构 TCP/IP模型是一个四层模型,主要用于网络通信的设计和实现。它的分层结构如下: (1) 应用层(Application Layer) 功能:提供应用程序之间的通信服务,处理特定的应用细节。 典型协议&am…...

FreeRTOS-中断管理

实验目的 创建一个队列及一个任务,按下按键 KEY1 触发中断,在中断服务函数里向队列里发送数据,任务则阻塞接 收队列数据。 实验代码 实验结果 这样就实现了,使用中断往队列的发送信息,用任务阻塞接收信息...

告别手动拼图!用Unity TileMap的Fill Box和Picker工具,5分钟搞定复杂地形

告别手动拼图!用Unity TileMap的Fill Box和Picker工具高效构建复杂地形在2D游戏开发中,地形设计往往是耗时又繁琐的环节。想象一下,你需要手动放置数百个草地、水域或砖块瓦片来构建游戏世界,这不仅容易出错,还会消耗大…...

Keil MDK Middleware TCP发送性能问题分析与优化

1. 问题现象与背景分析最近在将Keil MDK Middleware从6.x版本升级到7.0.0后,发现目标设备上TCP数据包发送性能显著下降。具体表现为:当应用程序尝试以较高频率发送TCP数据包时,网络核心线程处理发送请求的速度明显变慢,导致整体吞…...

机器学习原子势能建模:深度集成与贝叶斯神经网络的不确定性估计对比

1. 项目概述与核心问题在材料科学和计算化学领域,机器学习原子间势能模型已经从一个前沿概念,变成了加速新材料发现和深入理解物质行为的核心工具。简单来说,它就像一个“超级拟合器”,通过学习大量已知的原子构型及其对应的能量和…...

UE5 StateTree数据通信详解:告别黑板,在Task与Evaluator间高效传递参数

UE5 StateTree数据通信详解:告别黑板,在Task与Evaluator间高效传递参数当你在UE5中构建一个拥有复杂行为的AI角色时,数据如何在各个行为模块间高效传递是一个无法回避的核心问题。传统的"黑板"系统虽然广为人知,但在Sta…...

通过curl命令快速测试Taotoken的API连通性与返回

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令快速测试Taotoken的API连通性与返回 在集成大模型服务时,直接使用curl命令进行API测试是一种高效且通用的…...

因果推断与双机器学习在LED制造返工决策中的实战应用

1. 项目概述:当因果推断遇上LED制造返工决策在LED制造车间里,每天都有成千上万个生产批次流过产线。每一个批次在经过荧光粉转换工序后,操作员都需要做一个关键决定:这个批次是否需要“返工”——也就是额外喷涂一层荧光粉来校正颜…...

DeepSeek长上下文能力解密(官方未公开的context-aware attention调度机制)

更多请点击: https://codechina.net 第一章:DeepSeek长上下文能力解密(官方未公开的context-aware attention调度机制) DeepSeek系列模型在128K token上下文场景中展现出远超同规模模型的稳定性与推理一致性,其核心并…...

震惊!原来论文还能这样搞定?2026降AI率平台推荐合集

还在为查重高、AI痕迹明显、格式乱糟糟而抓耳挠腮?2026年论文写作早已迎来新革命,从选题构思到降AIGC率、去AI痕迹、查重优化全流程智能搞定,真正实现高效写作不卡壳,轻松应对毕业论文压力! 一、核心工具 TOP4&#xf…...

明日方舟自动化工具终极指南:Arknights-Mower 完整使用教程

明日方舟自动化工具终极指南:Arknights-Mower 完整使用教程 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 作为一款专为《明日方舟》玩家设计的开源自动化工具,Arknights…...

告别黑屏!手把手教你为OpenEuler 22.03 LTS配置漂亮的XFCE桌面(附LightDM背景修复)

告别黑屏!手把手教你为OpenEuler 22.03 LTS配置漂亮的XFCE桌面(附LightDM背景修复)第一次在OpenEuler上看到XFCE桌面时,那种"服务器变工作站"的惊喜感至今难忘。但默认安装后的黑屏登录界面和简陋的桌面环境&#xff0c…...