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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux命令200例:tree用于以树状结构显示文件和目录

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

【Terraform学习】保护敏感变量(Terraform配置语言学习)

实验步骤 创建 EC2 IAM 角色 导航到IAM 在左侧菜单中&#xff0c;单击角色 。单击创建角色该按钮以创建新的 IAM 角色。 在创建角色部分&#xff0c;为角色选择可信实体类型&#xff1a; AWS 服务 使用案例:EC2 单击下一步 添加权限&#xff1a;现在&#xff0c;您可以看到…

穿越未来:探索虚拟现实科技的未来前景

虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;科技&#xff0c;正如一颗崭新的明星&#xff0c;迅猛崛起&#xff0c;为人类带来前所未有的体验和想象空间。随着科技的飞速发展&#xff0c;VR 科技的未来充满了无限的可能性&#xff0c;正将我们引向一个…

VUE+ElementUI的表单验证二选一必填项,并且满足条件后清除表单验证提示

上代码 <el-form-item label"出库单号" prop"ecode" ref"ecode" :rules"rules.ecode"><el-input v-model"queryParams.ecode" placeholder"出库单号和出库箱号至少填写一项" clearable style"width…

SpringBoot启动报错:java: 无法访问org.springframework.boot.SpringApplication

报错原因&#xff1a;jdk 1.8版本与SpringBoot 3.1.2版本不匹配 解决方案&#xff1a;将SpringBoot版本降到2系列版本(例如2.5.4)。如下图&#xff1a; 修改版本后切记刷新Meavn依赖 然后重新启动即可成功。如下图&#xff1a;

Linux如何开启指定端口号

本文已收录于专栏 《运维》 目录 概念说明防火墙端口号 提供服务具体分类具体操作防火墙操作端口号操作 总结提升 概念说明 防火墙 防火墙是一种网络安全设备或软件&#xff0c;用于监控和控制网络流量&#xff0c;保护网络免受恶意攻击和未经授权的访问。防火墙可以根据预定义…

MySQL 数据类型总结

整形数据类型 1字节 8bit 2^8256

VBA_MF系列技术资料1-152

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-04属于定…

iOS问题记录 - Xcode 15安装低版本iOS模拟器(持续更新)

文章目录 前言开发环境问题描述问题分析1. 定位问题2. 逆向分析2.1. IDA Free2.2. Hopper Disassembler Demo 3. 模拟器日志4. supportedArchs 解决方案最后 前言 最近新需求很多&#xff0c;项目改动很大&#xff0c;开发完成后想测一遍在低版本iOS系统上的兼容性&#xff0c…

shell脚本安装nginx

shell脚本原理 以删除桌面文件的脚本为例&#xff0c;执行脚本后&#xff0c;shell脚本将代码给内核&#xff0c;内核读取后执行命令&#xff0c;如果shell脚本也在桌面上&#xff0c;执行后这个脚本文件也会被删除。 变量 echo $SHELL$符表示SHELL是一个变量&#xff0c;变量…

Vc - Qt - 绘制绿色矩形

要在Qt中绘制一个绿色矩形&#xff0c;您需要创建一个自定义的QWidget或QGraphicsView类&#xff0c;在其绘制事件中使用QPainter来绘制形状。 以下是一个简单的示例&#xff0c;演示如何在QWidget中绘制一个绿色矩形&#xff1a; #include <QWidget> #include <QPain…

NLP 时事和见解【2023】

一、说明 AI的新闻当然不是即时的&#xff0c;但作为趋势和苗头&#xff0c;我们不得不做出自己的决定。比如&#xff0c;一些软件的支持是否持续&#xff0c;哪些现成的软件将不再使用&#xff0c;等等。 图片来自中途 以下是NLPlanet为您选择的有关NLP和AI的每周文章&#x…

Linux上安装温度监控软件

文章目录 Linux上安装温度监控软件IDRAC设置 Linux上安装温度监控软件 服务器的温度是影响服务器性能重要条件&#xff0c;怎么监控机器的温度呢&#xff0c;这里知道的有两种方式 通过管理界面&#xff0c;查看机器的温度通过机器上安装监监控软件来监控温度 在物理机上怎么…

SAP AIF-Application Interface Framework基本介绍

AIF-Application Interface Framework基本介绍 SAP AIF-应用程序接口框架特性&#xff1a; 通知业务用户出错的自动警报&#xff1b; 用户友好的事务&#xff0c;用于界面监控、错误处理和直接从应用系统内纠正错误&#xff1b; SAP GUI 和基于 Web 的用户界面&#xff1b; 使…

8月10日计算机考研信息差

距24考研初试还有134 天。 8月关注&#xff1a;科目调整、招生宣讲、推荐免试 下一关键节点&#xff1a;预报名(预计2023年09月24日-09月27日) 计算机考研最新资讯&#xff1a; 1、哈尔滨工业大学(威海)发布24专业目录 计算机相关专业&#xff1a; 0812计算机科学与技术 …

Go语言工程实践之测试与Gin项目实践

Go 语言并发编程 及 进阶与依赖管理_软工菜鸡的博客-CSDN博客 03 测试 回归测试一般是QA(质量保证)同学手动通过终端回归一些固定的主流程场景 集成测试是对系统功能维度做测试验证,通过服务暴露的某个接口,进行自动化测试 而单元测试开发阶段&#xff0c;开发者对单独的函数…

在单元测试中使用Jest模拟VS Code extension API

对VS Code extension进行单元测试时通常会遇到一个问题&#xff0c;代码中所使用的VS Code编辑器的功能都依赖于vscode库&#xff0c;但是我们在单元测试中并没有添加对vscode库的依赖&#xff0c;所以导致运行单元测试时出错。由于vscode库是作为第三方依赖被引入到我们的VS C…

redis学习笔记(一)

文章目录 一、引言二、redis介绍2.1、定义2.2、Redis的数据类型及主要特性2.3、Redis的应用场景有哪些&#xff1f; 三、redis环境安装3.1、下载和安装 一、引言 在Web应用发展的初期&#xff0c;那时关系型数据库受到了较为广泛的关注和应用&#xff0c;原因是因为那时候Web站…

Springboot三层架构--DAO层、Service层、Colltroler层--这波我在外太空

目录 1.DAO层 Dao层的设计 2.Service层 Service层的设计 设计Service层的优点 Dao与Service的关系 3.Colltroler层 Collertroler层的设计 4.项目中的具体流程 1.DAO层 全称数据访问层&#xff0c;全称data access object&#xff0c;属于一种比较底层&#xff0c;比较基…

Attention is all you need ---Transformer

大语言模型已经在很多领域大显身手&#xff0c;其应用包括只能写作、音乐创作、知识问答、聊天、客服、广告文案、论文、新闻、小说创作、润色、会议/文章摘要等等领域。在商业上模型即产品、服务即产品、插件即产品&#xff0c;任何形态的用户可触及的都可以是产品&#xff0c…