SpringBoot+Prometheus+Grafana实现系统可视化监控

news2024/11/20 20:42:10

场景

SpringBoot中集成Actuator实现监控系统运行状态:

SpringBoot中集成Actuator实现监控系统运行状态_springboot actuator 获取系统运行时长_霸道流氓气质的博客-CSDN博客

基于以上Actuator实现系统监控,还可采用如下方案。

Prometheus

Prometheus,是一个开源的系统监控和告警的工具包,其采用Pull方式采集时间序列的度量数据(也支持push方式),

通过Http协议传输。它的工作方式是被监控的服务需要公开一个Prometheus端点,这端点是一个HTTP接口,

该接口公开了度量的列表和当前的值,然后Prometheus应用从此接口定时拉取数据,一般可以存放在时序数据库中,

然后通过可视化的Dashboard(e.g.Grafana)进行数据展示。

Grafana

grafana,是一个开源的dashboard展示工具,可以支持很多主流数据源,包括时序性的和非时序性的。

其提供的展示配置以及可扩展性能满足绝大部分时间序列数据展示需求,是一个比较优秀的工具。

注:

博客:
霸道流氓气质_C#,架构之路,SpringBoot-CSDN博客

实现

1、新建SpringBoot项目并添加依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- prometheus support -->
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>

2、修改yml文件,添加如下配置

management:
  metrics:
    export:
      prometheus:
        enabled: true
        step: 1m
        descriptions: true
  web:
    server:
      auto-time-requests: true
  endpoints:
    prometheus:
      id: springmetrics
    web:
      exposure:
        include: health,info,env,prometheus,metrics,httptrace,threaddump,heapdump,springmetrics

# 开发环境配置
server:
  # 服务器的HTTP端口,默认为8080
  port: 996
  servlet:
    # 应用的访问路径
    context-path: /
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # tomcat最大线程数,默认为200
    max-threads: 800
    # Tomcat启动初始化的线程数,默认值25
    min-spare-threads: 30

注意这里配置的端口是996

3、启动项目,访问

http://127.0.0.1:996/actuator/prometheus

即可以看到暴露的信息

 

4、Prometheus下载安装

下载地址:

Download | Prometheus

这里是在windows上,所以选择对应windows的zip包

 

当然还要其他下载安装的方式,比如docker等方式。

如果官网迟迟下载不下来,可从网络上搜索对应windows的包下载并解压。

解压之后找到prometheus.yml修改配置文件中metrics_path为对应的路径以及targets为对应的ip和端口。

 

更多配置说明参考官方文档

https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus.yml

修改完配置文件之后,双击prometheus.exe启动,然后等待启动成功并访问默认的9090端口

http://localhost:9090

在Expression中输入

jvm_memory_used_bytes

然后查看监控效果

 

5、Grafana下载安装

下载地址:

Index of grafana-local

 

下载之后并解压,找到bin下grafana-server.exe双击启动

 

启动成功后访问

http://127.0.0.1:3000/login

 

默认账户admin,密码也是admin

6、登录并提示修改密码之后,点击DATA SOURCES

然后添加数据源的类型为Prometheus

 

输入上面启动的对应的地址

 

7、点击右上角新建New dashboard

 

然后点击Add visualization

 

然后选择刚添加的数据源

 

然后下方选择一个参数比如jvm_buffer_count_buffers,其它参数根据自己需要设置,保存即可查看。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EC200U-CN学习(一)

EC200U系列内置丰富的网络协议&#xff0c;集成多个工业标准接口&#xff0c;并支持多种驱动和软件功能&#xff08;适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动&#xff09;&#xff0c;极大地拓展了其在M2M领域的应用范围&#xff0c;如POS、POC、ETC、共…

PMP项目成本管理-控制成本-挣值分析

适用于控制成本过程的数据分析技术包括: 挣值分析 (EVA Earned value analysis) 挣值分析将实际进度和成本绩效与绩效测量基准进行比较。EVM(Earned value Management)把范围基准、成本基准和进度基准整合起来&#xff0c;形成绩效测量基准。它针对每个工作包和控制账户&…

MPAS跨尺度、可变分辨率模式

跨尺度预测模式&#xff08;The Model for Prediction Across Scales - MPAS&#xff09;是由洛斯阿拉莫斯实验室和美国国家大气研究中心(NCAR)共同开发&#xff0c;其由3个部分组成&#xff0c;分别称为 MPAS-A&#xff08;大气模型&#xff09;、MPAS-O&#xff08;海洋模型&…

【LeetCode】19.删除链表的倒数第N个结点

题目 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]示例 3&…

Stable Diffusion - 扩展 SegmentAnything 和 GroundingDINO 实例分割算法 插件的配置与使用

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131918652 Paper and GitHub&#xff1a; Segment Anything: SAM - Segment Anything GitHub: https://github.com/facebookresearch/s…

HCIA 第二课总结

配置网络设备的明文密钥实验组网 实验拓扑 将一个路由器使用配置口进行连接 sys #进入系统视图模式 sysname RTA #给设备命名 user-interface console 0 #进入用户接口配置界面 authentication-mode password #配置认证模式为密钥认证 set authentication password ciphe…

【优选算法题练习】day8

文章目录 一、974. 和可被 K 整除的子数组1.题目简介2.解题思路3.代码4.运行结果 二、525. 连续数组1.题目简介2.解题思路3.代码4.运行结果 三、560. 和为 K 的子数组1.题目简介2.解题思路3.代码4.运行结果 总结 一、974. 和可被 K 整除的子数组 1.题目简介 974. 和可被 K 整…

Vue3+ElementPlus实际项目快速开发模板Pure Admin

发现了一个超好用的模板项目&#xff0c;不仅有很全面的完整版&#xff0c;还有精简的可以直接拿来用的后台管理框架。文档很全面&#xff0c;甚至有B站配套视频! PureAdmin保姆级文档 vue-pure-admin快速开发教程&#xff08;使用Vue3、Vite、Element-Plus、TypeScript、Tail…

基于nodejs+vue微信小程序加油站服务管理系统

开发语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode 基于微信小程序加油站服务 系统分为用户和管理员两个角色 用户微信端的主要功能有&#xff1a; 1.用户注册和登陆小程序 2.用户…

【C#】微软的Roslyn 是个啥?

一、说明 Roslyn 是微软重写的C#编译器并开源。 Roslyn 是 C# 和 Visual Basic.NET 开源编译器的代号。以下是它如何在过去十年企业Microsoft的最黑暗中开始&#xff0c;并成为所有C#&#xff08;和VB&#xff09;的开源&#xff0c;跨平台&#xff0c;公共语言引擎&#xff0c…

LiveGBS流媒体平台GB/T28181功能-设备树自定义分组自定义组织机构选择通道共享给上级国标平台配置权限给指定用户

LiveGBS流媒体平设备树自定义分组自定义组织机构选择通道共享给上级国标平台权限给指定用户 1、背景2、分组2.1、新建分组2.2、选择通道2.3、导入设备2.4、编辑名称2.5、删除分组2.6、移除分组 3、国标级联3.1、分组共享节点3.1.1、共享给上级平台3.1.2、分配权限给用户 3.2、级…

智能制造RFID设备包括哪些?

智能制造是现代制造业的重要发展方向&#xff0c;其核心是数字化、网络化和智能化。而在智能制造中&#xff0c;RFID设备是一种不可或缺的技术手段&#xff0c;主要用于实现物品的识别、追踪和化管理。以下是智能制造中常用的RFID设备及其功能&#xff1a; 1、 RFID读写器 RFID…

环境搭建和HelloWorld

文章目录 环境搭建和HelloWorld计算机基础知识计算机诞生计算机发展历程计算机硬件计算机软件 DOS命令概述打开命令提示符窗口常用DOS命令 Java概述和环境搭建诞生和发展Java平台版本和作用Java语言特点Win64系统搭建Java8开发环境 第一行代码--HelloWorld创建Java文件编写Java…

PGembedding 代码分析

pgembedding 存储结构 pg embedding 数据是存在共享内存中的&#xff0c;pg down 之后索引数据就没了&#xff0c;但索引对象本身还在&#xff0c;第一次访问时会重新创建。 数据以 plain 的形式存储&#xff0c;其中每个点是这样的结构&#xff1a; idx_size&#xff1a; 表…

Stephen Wolfram:概率从何而来?

Where Do the Probabilities Come From? 概率从何而来&#xff1f; OK, so ChatGPT always picks its next word based on probabilities. But where do those probabilities come from? Let’s start with a simpler problem. Let’s consider generating English text one …

Palo Alto Networks 智能网络安全保护任何地方的用户、应用和数据

Palo Alto Networks 不仅能够为数字企业提供当下所需的网络安全服务&#xff0c;还能为日后的工作打好安全基础&#xff0c;让企业无需在二者间权衡和纠结&#xff0c;这样的网络安全合作伙伴仅此一家。我们承诺将双管齐下&#xff0c;在保障数字企业的安全方面绝不妥协退让。下…

linux barrier 栅栏屏障,让多任务在栅栏处集合,全部到齐后同时出发

​专栏内容&#xff1a; postgresql内核源码分析 手写数据库toadb 并发编程 个人主页&#xff1a;我的主页 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 概述 pthread_barrier_t 这是posix定义线程同步方法&#xff0…

Windows电脑应用设置开机自启动

背景 比如我们程序员&#xff0c;开机就想电脑自启动谷歌浏览器和VS Code等开发工具&#xff0c;自己什么都不用动&#xff0c;怎么办&#xff1f;有人说可以在任务管理器的启动里设置&#xff0c;但还是有些工具里面没有的&#xff0c;也就是不能这样设置的&#xff0c;今天教…

Windows环境下git客户端中的git-bash和MinGW64

我们在 Windows10 操作系统下&#xff0c;安装了 git 客户端之后&#xff0c;可以通过 git-bash.exe 打开一个 shell&#xff1a; 执行一些 linux 系统里的命令&#xff1a; 注意到上图紫色的 MINGW64. Mingw-w64 是原始 mingw.org 项目的改进版&#xff0c;旨在支持 Window…

数据结构【线性表】

数据结构入门级 第二章 线性表 一、线性表的定义和基本操作 线性表的定义&#xff1a;具有相同属性数据类型的数据元素组成的一个有限序列&#xff1b;除第一个元素外的元素都有直接前驱&#xff0c;除最后一个元素外的元素都有直接后继&#xff1b;存在一个唯一被称为“第一个…