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

Grafana+Prometheus技术文档-进阶使用-监控spring-boot项目

阿丹:

        之前已经实现了使用Prometheus来对服务器进行了监控和仪表盘的创建,现在就需要对这些监控方法使用在spring-boot中去。

实现思路:

        1、集成Actuator

        2、加入Prometheus的依赖

        3、配置开放端口、以及开放监控

        4、配置Prometheus中的配置

        5、使用Grafana中的SpringBoot Actuator展示模版

一、集成Actuator

 引入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Actuator是Spring框架中的一个模块,旨在为应用程序提供监控和管理的功能。它为开发人员提供了一系列的HTTP端点,可以用来查看应用程序的运行状况、性能指标、日志信息等。Actuator可以帮助开发人员进行应用程序的监控、诊断和管理,从而更好地了解应用程序的运行情况。

Spring Actuator提供了一些常用的端点,包括:

  1. /health:用于检查应用程序的健康状况,例如数据库连接是否正常、磁盘空间是否足够等。

  2. /info:用于查看应用程序的一般信息,例如应用程序的名称、版本、描述等。

  3. /metrics:用于查看应用程序的运行指标,例如CPU使用率、内存使用量、请求次数等。

  4. /logfile:用于查看应用程序的日志文件。

  5. /env:用于查看应用程序的环境变量。

除了这些常用端点,Actuator还提供了一些其他功能,如配置端点、线程Dump端点、热重启端点等。开发人员可以根据自己的需求自定义配置和使用这些端点。

在Spring项目中集成Actuator非常简单,只需在项目的依赖中加入相关的Actuator模块,并进行必要的配置,即可启用Actuator的功能。

依赖说明:

在Spring Boot应用程序中使用Prometheus进行监控时,spring-boot-starter-actuator依赖提供了与Prometheus进行集成的能力。通过添加这个依赖,你可以使Spring Boot应用程序暴露所需的端点,以供Prometheus抓取并收集监控指标。

具体来说,spring-boot-starter-actuator中的Actuator模块启用了以下与Prometheus相关的功能:

  1. 自动配置:Actuator自动配置模块将根据在应用程序中定义的配置属性,自动为应用程序启用与Prometheus集成的相关功能。这使得无需手动配置即可与Prometheus进行集成。
  2. 端点暴露:Actuator提供了一组HTTP端点,其中包括与Prometheus监控相关的端点。这些端点将监控数据暴露给Prometheus进行抓取。
  3. Metrics和Health信息:通过Actuator的端点,你可以获取应用程序的Metrics信息和Health状态。这些信息将被Prometheus抓取并存储,以供进一步的分析和警报。

总之,spring-boot-starter-actuator依赖使得Spring Boot应用程序能够与Prometheus进行集成,从而通过Prometheus对应用程序进行监控和度量。

二、引入Prometheus依赖micrometer-registry-prometheus

<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

micrometer-registry-prometheus这个依赖在Spring Boot项目中使用Prometheus进行监控时,提供了将应用程序的度量数据暴露给Prometheus的功能。

具体来说,micrometer-registry-prometheus是一个Micrometer的Prometheus注册器实现。Micrometer是一个用于Java应用程序的度量库,它提供了一种标准化的方式来收集和报告度量数据。通过添加这个依赖,你可以将Micrometer与Prometheus集成,从而将应用程序的度量数据暴露给Prometheus进行抓取。

当与Prometheus集成后,你可以通过配置将Micrometer生成的度量数据发送到Prometheus,然后使用PromQL进行查询和分析。这样,你可以获得应用程序的性能指标,如请求处理时间、数据库查询速率等,以便进行监控和问题诊断。

此外,micrometer-registry-prometheus还提供了一些额外的功能,如自定义度量数据的命名和标签,以及与Prometheus的自动发现功能进行集成等。

总之,micrometer-registry-prometheus依赖使得Spring Boot项目能够与Prometheus进行集成,以便更好地监控应用程序的性能。

三、添加yml配置

因为在默认的情况下,端点是不可用的,所以必须要公开,所以需要添加如下配置

management:endpoints:web:exposure:include: prometheus,health,info

并且指定服务名字

spring:application:name: adn-ask

四、 添加Prometheus配置

scrape_configs:- job_name: 'adn-ask'   #prometheus任务名称scrape_interval: 5s  #每五秒抓取一次数据metrics_path: '/actuator/prometheus'   #数据来源的地址static_configs:- targets: ['localhost:8081']   #拉去数据的地址

 

 

 注意在使用的时候服务名字一定要对应以及下面的端口号和ip地址。

五、导入SpringBoot Actuator的展示模板

使用的模版id为:12900 

提供展板的官网: 

Dashboards | Grafana Labs

相关文章:

Grafana+Prometheus技术文档-进阶使用-监控spring-boot项目

阿丹&#xff1a; 之前已经实现了使用Prometheus来对服务器进行了监控和仪表盘的创建&#xff0c;现在就需要对这些监控方法使用在spring-boot中去。 实现思路&#xff1a; 1、集成Actuator 2、加入Prometheus的依赖 3、配置开放端口、以及开放监控 4、配置Prometheus中的配置…...

PG常用SQL

数据库 创建数据库 PostgreSQL 创建数据库可以用以下三种方式&#xff1a; 1、使用 CREATE DATABASE SQL 语句来创建。2、使用 createdb 命令来创建。3、使用 pgAdmin 工具。 CREATE DATABASE 创建数据库 CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行&#xff0…...

分模块开发的意义及开发步骤

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaweb 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Maven进阶 一、分模块开发1.1分模块开发的意义1.2分模块开…...

vue-router中的一些 API

在Vue.js的vue-router中&#xff0c;一些重要api 1、RouterHistory&#xff1a;这是 vue-router 提供的路由历史记录对象。它可以跟踪当前页面的路由历史&#xff0c;并提供一些方法和属性来管理导航和历史记录。在 vue-router 中&#xff0c;有两种类型的路由历史记录对象&…...

go-zero 是如何实现令牌桶限流的?

原文链接&#xff1a; 上一篇文章介绍了 如何实现计数器限流&#xff1f;主要有两种实现方式&#xff0c;分别是固定窗口和滑动窗口&#xff0c;并且分析了 go-zero 采用固定窗口方式实现的源码。 但是采用固定窗口实现的限流器会有两个问题&#xff1a; 会出现请求量超出限…...

Oracle/PL/SQL奇技淫巧之ROWNUM伪列

ROWNUM伪列 ROWNUM是一个伪列&#xff0c;它是根据每次查询的结果动态生成的一列递增编号&#xff0c;表示 Oracle 从表中选择该行的顺序&#xff0c;选择的第一行ROWNUM为1&#xff0c;第二行ROWNUM为2&#xff0c;以此类推。 注意1&#xff1a; ROWNUM伪列是在WHERE子句之…...

“MongoDB基础知识【超详细】

"探索MongoDB的无边之境&#xff1a;沉浸式数据库之旅" 欢迎来到MongoDB的精彩世界&#xff01;在这个博客中&#xff0c;我们将带您进入一个充满创新和无限潜力的数据库领域。无论您是开发者、数据工程师还是技术爱好者&#xff0c;MongoDB都将为您带来一场令人心动…...

腾讯24届校招内推

校招开始啦&#xff5e;有兴趣的话可以扫我的码投&#xff0c;也可以分享给身边找工作的同学&#xff5e; ❤投递攻略 1️⃣腾讯校招步骤&#xff0c;先微信扫码绑定内推关系&#xff0c;后在电脑上上传更改简历和部门投递 2️⃣投递时将选择投递部门&#xff0c;投递后将在…...

星际争霸之小霸王之小蜜蜂(二)--类的使用

目录 前言 一、将设置内容写在一个类里 二、设置小蜜蜂的造型 三、设置猫蜜蜂的参数 四、绘制猫蜜蜂到窗口 总结 前言 昨天我们设置好了窗口&#xff0c;下面我们需要向窗口中添加元素了。 一、将设置内容写在一个类里 我个人理解书上的意思是要创建一个类&#xff0c;将所有需…...

AndroidStudio升级Gradle之坑

最近在做旧工程的升级&#xff0c;原来的Gradle版本是4.6的&#xff0c;需要升级到7.6&#xff0c;JDK从8升级到17&#xff0c;一路淌了很多坑&#xff0c;逐个记录下吧 1、Maven仓库需要升级到https 你会遇到这个报错 Using insecure protocols with repositories, without …...

C# int ? 关键字使用方法

使用C#的时间也不算短。 但是今天看到了一个从来没有见过的写法 Int &#xff1f;这是个什么写法&#xff0c;没见过啊&#xff0c;百度了查一下&#xff0c;也在这里记录一下。 1、int? 关键字说明 (1)、int? 表示一个int类型,且该int类型可空,如果不加?的话,那么int类…...

Redis_主从复制

8. 主从复制 8.1 简介 主从库采用读写分离的方式 读操作&#xff1a;主库、从库都可以处理写操作&#xff1a;首先写到主库执行&#xff0c;然后再将主库同步给从库。 实现读写分离&#xff0c;性能扩展 容灾快速恢复 8.2 主从复制步骤 创建一个目录 ,在root下创建一个m…...

Postman 的 Pre-request Script 使用RSA加解密

文章目录 一、概述 一、概述 Postman内置的Js不支持进行RSA加解密&#xff0c;所以需要引入forgeJS来实现。在 Pre-request Script使用以下脚本&#xff1a; // ------ 导入RSA ------ if (!pm.globals.has("forgeJS")) {pm.sendRequest("https://raw.githubu…...

【Swagger】只需要3步搭建Swagger环境,就可以让你的项目实现Swagger在线文档,实时浏览,修改展示

目录 1. pom.xml文件中添加Swagger的jar包 2. 配置Swagger 3. 项目启动中加入Swagger注解的开关&#xff0c;启动Swagger功能 4. 启动项目&#xff0c;查看效果 Swagger 的功能这里就不多说明了&#xff0c;相信大家都懂的&#xff0c;好奇多问一句&#xff0c;大家有知道其…...

pytest运行时参数说明,pytest详解,pytest.ini详解

一、Pytest简介 1.pytest是一个非常成熟的全功能的Python测试框架&#xff0c;主要有一下几个特点&#xff1a; 简单灵活&#xff0c;容易上手&#xff0c;支持参数化 2.能够支持简单的单元测试和复杂的功能测试&#xff0c;还可以用来做selenium、appium等自动化测试&#xf…...

Matplotlib绘图知识小结--Python数据分析学习

一、Pyplot子库绘制2D图表 1、Matplotlib Pyplot Pyplot 是 Matplotlib 的子库&#xff0c;提供了和 MATLAB 类似的绘图 API。 Pyplot 是常用的绘图模块&#xff0c;能很方便让用户绘制 2D 图表。 Pyplot 包含一系列绘图函数的相关函数&#xff0c;每个函数会对当前的图像进行…...

mouseover、mouseout和mouseenter、mouseleave之间的区别(配对使用)

以上四个事件都是与鼠标相关的事件&#xff0c;其中mouseenter和mouseover均是鼠标移入时触发的事件&#xff0c;但是使用mouseover的时候会触发冒泡事件&#xff0c;也就是&#xff0c;当父元素和子元素均绑定mouseover事件的时候&#xff0c;如果触发子元素的mouserover事件&…...

【论文阅读】基于深度学习的时序预测——Autoformer

系列文章链接 论文一&#xff1a;2020 Informer&#xff1a;长时序数据预测 论文二&#xff1a;2021 Autoformer&#xff1a;长序列数据预测 论文三&#xff1a;2022 FEDformer&#xff1a;长序列数据预测 论文四&#xff1a;2022 Non-Stationary Transformers&#xff1a;非平…...

【AI】《动手学-深度学习-PyTorch版》笔记(十五):网络中的层、块和参数

AI学习目录汇总 1、什么是块? 在线性模型中,我们关注过单个神经元(单个神经网络的输入和输出); 在多层感知机中,我们关注过整层的神经元(前一层的输出作为后一层的输入); 如果将“多层感知机”视为一整体,称为“块”,可以将前一个块的输出作为后一个块的输入。 块…...

Flink之Task解析

Flink之Task解析 对Flink的Task进行解析前,我们首先要清楚几个角色TaskManager、Slot、Task、Subtask、TaskChain分别是什么 角色注释TaskManager在Flink中TaskManager就是一个管理task的进程,每个节点只有一个TaskManagerSlotSlot就是TaskManager中的槽位,一个TaskManager中可…...

WebGL BIM可视化:浏览器端BIM解决方案的技术实践与行业应用

WebGL BIM可视化&#xff1a;浏览器端BIM解决方案的技术实践与行业应用 【免费下载链接】xeokit-bim-viewer A browser-based BIM viewer, built on the xeokit SDK 项目地址: https://gitcode.com/gh_mirrors/xe/xeokit-bim-viewer 如何解决浏览器端BIM模型加载慢、操…...

煤矿电液阀系统摄像仪护套连接器 DLJ01(1000)参数

在煤矿综采工作面液压支架电液控制系统中&#xff0c;摄像仪护套连接器 DLJ01(1000)作为矿用本安型摄像仪与电源、信号传输线缆之间的专用接口&#xff0c;承担着视频信号与供电的稳定传输任务。其型号中的“1000”代表线缆长度为1000mm&#xff08;1米&#xff09;&#xff0c…...

HarmonyOS 5 + UniApp 真机调试保姆级教程:从HBuilderX配置到ArkUI Inspector查错

HarmonyOS 5 UniApp 真机调试全流程实战指南 第一次在HarmonyOS设备上调试UniApp应用时&#xff0c;我盯着HBuilderX里那个灰色的"运行到鸿蒙设备"按钮整整半小时。设备明明连着USB线&#xff0c;开发者模式也开了&#xff0c;但工具就是识别不到我的MatePad Pro。…...

直流GIL绝缘子表面电荷积聚的电热耦合机理与电场畸变特性研究

中国电机工程学报文献复现 关于comsol GIL仿真模型&#xff1a;基于电热多物理场耦合模型的直流GIL 绝缘子表面电荷积聚及其对沿面电场影响的研究上周啃完那篇中国电机工程学报的直流GIL绝缘子仿真论文&#xff0c;本来以为照着公式套就能搞定&#xff0c;结果在Comsol里卡了整…...

手把手教你用STM32F103驱动ST7565R芯片的JLX12864G屏幕(附取模工具配置)

STM32F103驱动ST7565R液晶屏的深度开发指南 在嵌入式显示领域&#xff0c;128x64分辨率的单色液晶屏因其性价比高、接口简单而广受欢迎。本文将深入探讨基于STM32F103微控制器驱动ST7565R芯片的JLX12864G液晶屏的完整技术方案&#xff0c;从硬件连接到高级显示功能的实现&#…...

Qwen3-32B-Chat API优化:降低OpenClaw任务Token消耗的5个技巧

Qwen3-32B-Chat API优化&#xff1a;降低OpenClaw任务Token消耗的5个技巧 1. 为什么需要关注Token消耗&#xff1f; 当我第一次在本地部署OpenClaw对接Qwen3-32B-Chat模型时&#xff0c;最让我震惊的不是它的推理能力&#xff0c;而是执行简单自动化任务后Token消耗的速度。一…...

Beyond Compare 5 三步快速激活方案:从评估错误到专业版授权的完整指南

Beyond Compare 5 三步快速激活方案&#xff1a;从评估错误到专业版授权的完整指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare 5 作为业界领先的文件比对与合并工具&#xf…...

HuTool代理请求遇阻:深入解析HTTP/1.1 407 Proxy Authentication Required的成因与实战解决方案

1. 当HuTool遇上407&#xff1a;代理认证失败的典型场景 最近在项目中使用HuTool发送HTTPS请求时&#xff0c;突然遇到一个让人头疼的错误——HTTP/1.1 407 Proxy Authentication Required。这个错误就像高速公路上的收费站&#xff0c;明明已经交了通行费&#xff08;设置了代…...

实战LangGraph构建智能客服系统:在快马平台实现工单自动分类与处理全流程

今天想和大家分享一个用LangGraph构建智能客服系统的实战经验。这个项目主要解决工单自动分类和处理的问题&#xff0c;整个过程在InsCode(快马)平台上完成&#xff0c;从开发到部署一气呵成。 项目背景与需求分析 传统客服系统需要人工处理大量工单&#xff0c;效率低下且容易…...

3MF格式与Blender从入门到精通:重塑3D打印工作流

3MF格式与Blender从入门到精通&#xff1a;重塑3D打印工作流 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 概念解析&#xff1a;为什么3MF正在取代STL成为行业新标准 …...