Springboot整合Prometheus+grafana实现系统监控

前言

Prometheus是一个开源的服务监控系统和时序数据库,它提供了强大的功能和灵活的架构,是目前主流的监控和管理应用系统的工具。
而Grafana是一个开源的数据可视化工具,与Prometheus集成,就可以可视化地监控系统的各个指标。

原理

首先Springboot整合actuator将服务的各种参数暴露出来,Prometheus定期通过接口查询这些参数,然后将参数存储在Prometheus内置的数据库内,然后再

一、Springboot整合actuator暴露数据

引入依赖

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

配置yml暴露数据

spring:application:name: my-app
server:port: 8081servlet:context-path: /myApp
management:endpoints:web:exposure:include: "*"   #放行数据endpoint:prometheus:enabled: true  #开启普罗米修斯,对上面放行的数据进行格式转换health:show-details: always #展示服务监控更多细节metrics:export:prometheus:enabled: true #上面的指标允许被导出

配置文件配置prometheus服务名

创建一个配置文件,注入bean

import io.micrometer.core.instrument.MeterRegistry;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class RedissonConfig {@BeanMeterRegistryCustomizer<MeterRegistry> configurePrometheus(@Value("${spring.application.name}") String name){return (registry -> registry.config().commonTags("application",name));}
}

验证结果

启动springboot项目,然后服务名+/actutor,没有定义服务名的记得把前面部分去掉。如下,代表成功放行服务数据。

在这里插入图片描述

再拼接/prometheus,如下,是经过prometheus转换的数据。

在这里插入图片描述

二、安装并配置prometheus

下载官网

选择对应的系统下载,我这里用的是window,下载之后解压。

在这里插入图片描述

解压后可以看到如下目录,data文件夹在第一次启动的时候会自动创建。

在这里插入图片描述

编辑prometheus.yml

在最后面加入如下代码,job_name可以自定义,metrics_path配置的是prometheus的相对访问路径,targets配置ip+端口
总的来说,要确保拼接之后能访问到前面暴露的数据即可。访问路径=targets+metrics_path
我的访问路径拼接后是http://127.0.0.1:8081/myApp/actuator/prometheus

### 配置拉取springboot数据- job_name: "my_app_prometheus"scrape_interval: 5smetrics_path: '/myApp/actuator/prometheus'# scheme defaults to 'http'.static_configs:- targets: ["127.0.0.1:8081"]

保存之后,双击prometheus.exe启动,如果启动之后闪一下就没有反应了,肯定是配置文件的问题。可以尝试先把上面加的去掉再启动来判断是否是添加的内容的问题。如果能正常启动,则检查配置的路径targets+metrics_path的路径是否能访问到数据。

验证

启动之后,打开127.0.0.1:9090,跳转如下页面说明启动成功。

在这里插入图片描述

点击status/target health,可以看到如下,说明成功读取到项目的数据

在这里插入图片描述

三、安装并配置grafana

下载官网
选择window,点击下载,然后解压。
在这里插入图片描述

解压后进入bin目录下,启动grafana-server.exe然后等待启动完成。

grafana的默认端口是3000,默认账号密码都是admin,登录之后会让你设置新密码,可以设置,也可以跳过。
在这里插入图片描述

进入如下界面,想要展示prometheus的数据,则需要配置数据源。

在这里插入图片描述

选择prometheus数据源,默认第一个就是

在这里插入图片描述

设置prometheus服务的地址

自定义数据源名称
在这里插入图片描述

拉到最下方点击,点击seve&test,如果出现绿色箭头,说明连接成功

在这里插入图片描述

创建仪表盘

在这里插入图片描述

选择一个仪表盘

4701是JVM的专属仪表盘,想查看更多仪表盘样式,可以在仪表盘官网查看。
在这里插入图片描述

选择数据源,然后导入

在这里插入图片描述

最终得到如下仪表盘,点击右上角保存仪表盘,至此配置完成

在这里插入图片描述
仪表盘布局支持拉拽进行布局,也支持删除编辑仪表盘等。

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

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

相关文章

新增支持Elasticsearch数据源,支持自定义在线地图风格,DataEase开源BI工具v2.10.2 LTS发布

2024年11月11日&#xff0c;人人可用的开源BI工具DataEase正式发布v2.10.2 LTS版本。 这一版本的功能变动包括&#xff1a;数据源方面&#xff0c;新增了对Elasticsearch数据源的支持&#xff1b;图表方面&#xff0c;对地图类和表格类图表进行了功能增强和优化&#xff0c;增…

常用数字器件的描述-时序逻辑器件的描述

目录 锁存器与触发器 寄存器与移位寄存器 分频器及其应用 偶分频器 奇分频器 半整数分频器 分频器的应用 锁存器与触发器 锁存器与触发器是两种最基本的存储电路。 锁存器是电平敏感器件&#xff0c;而触发器是边沿触发器件。 为了使用灵活方便&#xff0c;商品化的锁…

今天出了10个4声母 .com

价格蛮低的 &#xff0c;VJ.VT.Q.Q 十个 遥想当年6.5万收的5个四声母.com&#xff0c;上面有2个就在下图中呀&#xff0c;赔大发了

【JAVA】使用IDEA创建maven聚合项目

【JAVA】使用IDEA创建maven聚合项目 1.效果图 2.创建父模块项目 2.1删除父模块下面的src目录以及不需要的maven依赖 3创建子模块项目 3.1右击父模块项目选择Module… 3.2创建子模块 3.3删除子模块下不需要的maven依赖 4.子模块创建完成后引入SpringBoot依赖启动项目

OKG Research:用户意图驱动的Web3应用变革

出品&#xff5c; OKG Research 作者&#xff5c;Samuel QIN 当前加密市场的快速演变中&#xff0c;用户增长成为行业可持续发展的基石。目前主流观点在推动行业前进的路上&#xff0c;从单纯的技术探索在向更注重应用价值的方向转变。尽管近年来Web3生态系统发展迅速&#xf…

云渲染与云电脑,应用场景与技术特点全对比

很多朋友问&#xff0c;你们家一会宣传云渲染&#xff0c;一会宣传云电脑的&#xff0c;我到底用哪个&#xff1f;今天&#xff0c;渲染101云渲染和川翔云电脑就来对比下两者的区别&#xff01; 渲染101&川翔云电脑&#xff0c;都是我们的产品&#xff0c;邀请码6666 一、…

鸿蒙进阶篇-属性动画-animateTo转场动画

大家好啊&#xff0c;这里是鸿蒙开天组&#xff0c;今天我们来学习属性动画-animateTo&转场动画&#xff0c;咱们先来学习属性动画-animateTo 属性动画-animateTo 属性动画 animation是作为属性使用&#xff0c;而animateTo显示动画是一个系统的内置函数&#xff0c;可以…

我谈正态分布——正态偏态

目录 pdf和cdf参数 标准正态分布期望和方差分布形态 3 σ 3\sigma 3σ原则 正态和偏态正态偏态瑞利分布偏度 (Skewness)峰度 (Kurtosis) 比较 正态分布的英文是Normal Distribution&#xff0c;normal是“正常”或“标准”的意思&#xff0c;中文翻译是正态&#xff0c;多完美的…

从无音响Windows 端到 有音响macOS 端实时音频传输播放

以下是从 Windows 端到 macOS 端传输音频的优化方案&#xff0c;基于上述链接中的思路进行调整&#xff1a; Windows 端操作 安装必要软件 安装 Python&#xff08;确保版本兼容且已正确配置环境变量&#xff09;。安装 PyAudio 库&#xff0c;可通过 pip install pyaudio 命令…

AI知识库在行业应用中的未来趋势与案例分析

在数字化转型的浪潮中&#xff0c;AI知识库正成为企业提升效率和创新能力的关键工具。本文将探讨AI知识库在不同行业的应用案例&#xff0c;并分析其未来发展趋势。 一、汽修行业的AI知识库应用 汽修行业正通过构建内部知识库来提升服务质量和工作效率。一个完善的内部知识库能…

STM32 BootLoader 刷新项目 (九) 跳转指定地址-命令0x55

STM32 BootLoader 刷新项目 (九) 跳转指定地址-命令0x55 前面我们讲述了几种BootLoader中的命令&#xff0c;包括获取软件版本号、获取帮助、获取芯片ID、读取Flash保护Level。 下面我们来介绍一下BootLoader中最重要的功能之一—跳转&#xff01;就像BootLoader词汇中的Boot…

sqlite3数据库的相关API使用

1 1:使用sqlite3_exec函数读取数据库的数据,将这些数据存入链表遍历该链表&#xff0c;输出“字段”“数据”2:使用sqlite3_get_table读取数据库的数据写一个“字段" "数据”输出的循环 1 #include <stdio.h> #include <string.h> #include <unistd.…

基于Python下载HYCOM-3hourly数据(可无脑用)

基于Python下载HYCOM-3hourly数据 一、安装库二、主要函数2.1 draw_time_range2.2 download2.2.1 下载函数2.2.2 必传入参数&#xff1a;2.2.3 其他参数&#xff1a; 2.3 merge5nc 三、完整代码3.1 乱七八糟版3.2 精简版3.3 get_time_list 四、效果4.1 终端4.2 nc文件4.3 全文本…

Hbase集群搭建

1. 环境 三台节点hadoop 集群zookeeper 集群hbase 1.1环境准备 使用前文hdfs三台节点 1.11 zookeeper搭建 下载 wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz解压 tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz zookee…

为什么用SQL而不是Excel+VBA?

SQL主要服务数据库 SQL服务的是MySQL、Oracle、SQL Sever、Hive等各大数据库&#xff0c;它们都需要SQL来管理、定义。题主理解的SQL只限于查询数据、清洗数据&#xff0c;这些当然ExcelVBA都能做到&#xff0c;任何编程语言都能做到&#xff0c;但事实是SQL是数据库的管理工具…

Android OpenGL ES详解——纹理:纹理过滤GL_NEAREST和GL_LINEAR的区别

目录 一、概念 1、纹理过滤 2、邻近过滤 3、线性过滤 二、邻近过滤和线性过滤的区别 三、源码下载 一、概念 1、纹理过滤 当纹理被应用到三维物体上时&#xff0c;随着物体表面的形状和相机视角的变化&#xff0c;会导致纹理在渲染过程中出现一些问题&#xff0c;如锯齿…

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时&#xff0c;需要排查蓝牙节点是否对应、固件是否加载成功&#xff0c;本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法&#xff0c;触觉智能SBC3568主板演示 修改对应节点 开发板蓝牙硬件连接为UART1&#xff0c;修改对应的节点&#xff0c;路径为…

Kafka高频面试题详解

1、kafka是如何做到高效读写 1&#xff09;Kafka 本身是分布式集群&#xff0c;可以采用分区技术&#xff0c;并行度高 2&#xff09;读数据采用稀疏索引&#xff0c;可以快速定位要消费的数据。&#xff08;mysql中索引多了之后&#xff0c;写入速度就慢了&#xff09; 3&a…

ML 系列: 第 23 节 — 离散概率分布 (多项式分布)

目录 一、说明 二、多项式分布公式 2.1 多项式分布的解释 2.2 示例 2.3 特殊情况&#xff1a;二项分布 2.4 期望值 &#xff08;Mean&#xff09; 2.5 方差 三、总结 3.1 python示例 一、说明 伯努利分布对这样一种情况进行建模&#xff1a;随机变量可以采用两个可能的值&#…

MFC工控项目实例三十实现一个简单的流程

启动按钮夹紧 密闭&#xff0c;时间0到平衡 进气&#xff0c;时间1到进气关&#xff0c;时间2到平衡关 检测&#xff0c;时间3到平衡 排气&#xff0c;时间4到夹紧开、密闭开、排气关。 相关代码 void CSEAL_PRESSUREDlg::OnTimer_2(UINT nIDEvent_2) {// if (nIDEvent_21 &am…