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

【监控】Spring Boot+Prometheus+Grafana实现可视化监控

目录

1.概述

2.spring actuator

3.Prometheus

3.1.介绍

3.2.使用

1.client端的配置

2.server端的配置

4.grafana

5.留个尾巴


1.概述

本文是博主JAVA监控技术系列的第四篇,前面已经聊过了JMX、Spring actuator等技术,本文我们就将依托于Spring actuator+监控组件prometheus+数据可视化组件grafana来实现对Spring Boot应用的可视化监控。

关于Spring actuator的相关内容,可移步:

Spring Boot 监控_springboot 监控-CSDN博客

【监控】spring actuator源码速读-CSDN博客

2.spring actuator

Spring actuator是spring体系中自带的监控组件,用来监测应用本身以及所处环境等内容。前文已经详细介绍过了,自处就不再重复和展开了。

依赖:

org.springframework.boot spring-boot-starter-actuator


配置:

management:
endpoints:
web:
exposure:
include: “*”

看一下效果:

以上这些指标都是actuator自带的,要适配Prometheus的数据采集格式的话需要引入promethus的适配层。ok,接下来我们讲一下Prometheus。

3.Prometheus

3.1.介绍

先看看整个prometheus的架构:

看起来很复杂对吧?其实并不复杂,最核心的就是Prometheus Server,其内置一个时序数据库,用来存采集上来的监控指标。然后就是Prometheus提供了很多client端,放在应用侧采集监控指标然后pull metrics(推送采集到的监控指标)个Prometheus Server。然后就是支持对接多种图形化界面如grafana来进行图形化的展示。最后就是支持各种方式的告警,如发送email等。

3.2.使用

1.client端的配置

即应用内的配置。

依赖:

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

配置:

management:
endpoints:
web:
exposure:
include: “*”
endpoint:
prometheus:
enabled: true
health:
show-details: always

可以看到promethus的监控指标已经出来了:

在主启动类里面,将应用的名字告诉Prometheus:

@SpringBootApplication public class Main { ? public static void main(String[] args) { ? ? ? SpringApplication.run(Main.class); ? } ? ? @Bean ? MeterRegistryCustomizer<MeterRegistry> configure(@Value("${spring.application.name}") String applicationName){ ? ? ? return register -> { ? ? ? ? ? register.config().commonTags("application", applicationName); ? ? ? }; ? } }

配置一下应用名:

spring:
application:
name: myApplicationDemo

2.server端的配置

先下载Prometheus,然后解压:

Download | Prometheus

配置Prometheus的prometheus.yml配置文件:

上面标红的要和应用对齐,否则会出现:

./prometheus启动Prometheus:

可以看到:

4.grafana

Grafana 是一个流行的开源数据可视化和监控工具,它提供了丰富的图表和仪表盘功能,用于展示和分析时间序列数据以及其他类型的数据。

官网下载地址:

Download Grafana | Grafana Labs

Linux的下载方式,官网上写的很清楚:

下载后解压即可使用。

./grafana-server启动应用,默认访问地址是IP:3000,默认账号密码都是admin。首次登录会要求修改密码。

登陆后,新建一个promethus的连接,配置好自己的promethus的地址和端口号保存即可:

在配置数据源的同时,可以选择grafana为我们准备的几套Prometheus的监控面板来使用:

我们选择其中一个,可以看到我们自己的应用了:

5.留个尾巴

ok,到这里聊完了吗?当然没有!

首先是如何自定义Prometheus的监控指标?其次grafana作为一款强大的数据可视化组件,功能当然很丰富,本文先讲解如何使用spring actuator+Prometheus+grafana实现基础的可视化监控,下文会详细介绍Prometheus和grafana的使用。

http://www.jsqmd.com/news/484024/

相关文章:

  • B进制星球
  • 鸿蒙项目安卓工程师进阶之路:Kotlin Multiplatform (KMP) 与鸿蒙原生开发深度解析
  • 【2025最新】基于SpringBoot+Vue的扶贫助农系统管理系统源码+MyBatis+MySQL
  • 三十八选择
  • 二叉树的层序遍历--思路===bfs的应用,以及java中队列的方法实操
  • UG NX 类型过滤器使用
  • 基于FPGA的8点DCT变换Verilog实现探索
  • Simpack轨道之波磨不平顺设置那些事儿
  • 项目实训。
  • FPGA 中 VHDL 实现 RS422/485 串口通信
  • 在Django中安装、配置、使用CKEditor5,并将CKEditor5录入的文章展现出来,实现一个简单博客网站的功能
  • spring框架springbean依赖及单一项目
  • 探索单相三电平 NPC 逆变器:载波层叠与调制策略
  • 怎么把claude code的claude模型的url和key永久设置成自己的
  • C语言指针篇(上部)
  • 详解bert模型
  • IR300工业路由器+InConnect云平台:实现4G远程维护PLC的完整配置指南
  • 2026年社交破冰与脱单神器深度测评:拯救冷场,到底谁才是真硬核?
  • 深入了解C语言:通用高级语言的强大特性与广泛应用
  • 探索永磁同步电机非线性磁链观测器源代码的奇妙世界
  • 探秘圆极化连续域束缚态:COMSOL光子晶体超表面模拟之旅
  • 最近邻点对问题(Closest Pair of Points)
  • MATLAB R2021B中基于LMS自适应滤波器的窄带信号去噪算法及其在多种信号领域的应用
  • Anthropic 登《时代》封面 递归自我改进引 AI 发展拐点争议
  • 机房动环监控系统的全面分析与实践经验总结
  • 在linux(Centos)中Mysql的端口修改保姆级教程
  • 记录学习过程【数据分析二】
  • [NOIP 2018 普及组] 摆渡车 / [蓝桥杯青少年组国赛 2023] 月球疏散行动
  • 开关磁阻电机SRM12-8技术详解:额定功率达2200w,转速稳定达额定转速3450rpm
  • 字符串统计工具:字数统计、字符分析、词法分析、编码分析