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 镜像

在控制台输入下面的命令(默认拉取最新版)
docker pull prom/prometheus
拉取成功之后(如图)

执行下面的命令启动容器(注意: /path/prometheus 需换成实际路径)
docker run -d -p 9090:9090 --name prometheus -v /path/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
显示下面的界面即为创建成功

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

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

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

监控 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,说明已经启动成功

如果要监听其他服务器主机的状态也是如此操作。
安装 Grafana
首先拉取 Grafana 的镜像
docker pull grafana/grafana

启动 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

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

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

也可以直接搜索

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

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

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

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

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

因为这里使用的是 Prometheus,使用 DataSource 选择 Prometheus
然后点击 Download JSON 就会得到一个 json 文件

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

然后选择刚才配置好的 Prometheus

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

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

这里推荐几个不错的 Dashboard 模板
- MySQL: 7362、7371、14057
- Redis: 763、14192、14432
- Nginx:9614、2949
- Linux(服务器监控): 8919、9276、1860、12633
导入模板成功后效果图如下(8919):

ID:9276

监控 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

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

监控 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)

如上,就已经完成 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 触发中断,在中断服务函数里向队列里发送数据,任务则阻塞接 收队列数据。 实验代码 实验结果 这样就实现了,使用中断往队列的发送信息,用任务阻塞接收信息...
ADS DC仿真实战:从零构建电源完整性分析
1. 电源完整性分析为何如此重要? 最近在做一个FPGA板卡项目时,我遇到了一个棘手的问题:板卡在低温环境下频繁出现异常重启。经过排查发现,问题出在核心电源轨的压降上。当环境温度降低时,电源网络的阻抗变化导致供电电…...
零基础AI建站工具实操教程:10分钟从注册到网站上线
很多人觉得建网站是件很技术、很复杂的事,需要懂代码、懂设计。但现在,有了AI建站工具,事情变得完全不同。这篇教程,就是写给完全零基础的你。我们会以一款典型的对话式AI建站工具为例(比如 LynxCode)&…...
Blue-Topaz主题新手入门指南:打造你的个性化Obsidian笔记环境
Blue-Topaz主题新手入门指南:打造你的个性化Obsidian笔记环境 【免费下载链接】Blue-Topaz_Obsidian-css A blue theme for Obsidian. 项目地址: https://gitcode.com/gh_mirrors/bl/Blue-Topaz_Obsidian-css 还在为Obsidian默认界面单调而烦恼?…...
Arduino-Pico:Raspberry Pi Pico Arduino核心完全指南 - 支持所有RP2040和RP2350开发板
Arduino-Pico:Raspberry Pi Pico Arduino核心完全指南 - 支持所有RP2040和RP2350开发板 【免费下载链接】arduino-pico Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards 项目地址: https://gitcode.com/gh_mirrors/ar/arduino-pico 想要在…...
OpenClaw极客玩法:用Qwen2.5-VL-7B控制智能家居图文面板
OpenClaw极客玩法:用Qwen2.5-VL-7B控制智能家居图文面板 1. 为什么需要视觉化智能家居控制 去年装修新房时,我安装了某品牌智能家居系统。它的手机App控制界面设计得很"艺术"——各种圆形滑块、渐变色调光面板,看起来酷炫但用起来…...
【日常运维】Java服务在Windows平台上作为常驻服务的启动方式【winsw.exe】
文章目录[toc]一、下载winsw二、放置jar包三、配置启动信息四、启动服务五、在服务中查看服务是否启动成功六、调用服务是否成功七、指定编码格式八、启动服务一般一、下载winsw 二进制可执行文件下载地址: http://repo.jenkins-ci.org/releases/com/sun/winsw/win…...
Ai2Psd架构解析:Adobe设计工具间矢量图层无损转换的技术实现方案
Ai2Psd架构解析:Adobe设计工具间矢量图层无损转换的技术实现方案 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 在跨平台数字设计…...
手把手教你用GrsAi的Webhook和轮询,搞定GPT Image 1.5的异步图片生成任务
实战指南:基于GrsAi构建高可靠异步图像生成系统 当你的应用需要处理大量图像生成请求时,同步调用API往往会遇到超时、连接不稳定等问题。我曾在一个电商项目中使用同步调用,结果在促销高峰期系统频繁崩溃——直到改用异步架构才彻底解决问题。…...
Fish-Speech-1.5语音老化模拟:从年轻到年老的声纹演变实验
Fish-Speech-1.5语音老化模拟:从年轻到年老的声纹演变实验 探索AI语音技术如何精准模拟人类声音随年龄增长的自然变化过程 你有没有想过,同一个人的声音从20岁到80岁会如何变化?这种声纹的自然演变过程,现在可以通过AI技术进行精准…...
低资源场景下的效果:nlp_structbert_sentence-similarity_chinese-large 小样本学习能力展示
低资源场景下的效果:nlp_structbert_sentence-similarity_chinese-large 小样本学习能力展示 最近在做一个垂直领域的智能客服项目,客户给的标注数据少得可怜,满打满算也就几十对对话样本。团队里有人犯愁,觉得这点数据连模型热身…...
