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 触发中断,在中断服务函数里向队列里发送数据,任务则阻塞接 收队列数据。 实验代码 实验结果 这样就实现了,使用中断往队列的发送信息,用任务阻塞接收信息...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
