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;商品化的锁…

机器视觉和计算机视觉的区别

机器视觉和计算机视觉的区别 1、本质上两者是一样的&#xff0c;都是将光信号转换成电信号&#xff0c;然后交给计算机处理&#xff1b; 2、二者侧重点不同&#xff0c;计算机视觉更偏向研究&#xff0c;更前沿&#xff0c;采集到图像后交给计算机进行分析处理&#xff0c;包括…

网络安全-Linux基础(bash脚本)

文章目录 bash脚本编写基础使用的脚本解析器/bin/bash&#xff08;声明&#xff09;bash脚本需要拥有执行权限bash脚本语法输入与输出函数的封装条件判断语句条件符号 循环语句模块化编程 Linux进程操作查看寻找进程终止进程暂停与恢复进程后台运行 bash脚本编写系统内存资源占…

今天出了10个4声母 .com

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

【网络安全 | 甲方建设】构建安全的密码重置功能

未经许可,不得转载。 文章目录 一、密码存储的安全策略二、发送新密码与发送重置链接的比较三、用户验证:邮箱还是用户名?四、用户过滤五、电子邮件通知变更总结任何需要登录的网站,都需为用户提供“找回密码”功能,以便在用户忘记密码时可以重新获得访问权限。但要做到安…

【echarts图轮播tooltips】

echarts饼状图轮播tooltips 定义echarts图写定时任务调用定时任务 定义echarts图 let chartDom document.getElementById(id); let myChart echarts.init(chartDom);写定时任务 通过echarts的events来控制高亮以及tooltips的现实 /**params dom dom元素params chartOption…

【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知识库应用 汽修行业正通过构建内部知识库来提升服务质量和工作效率。一个完善的内部知识库能…

web服务器+dns域名解析综合实验

1.需求 两台web服务器 www.xixi.com ip:10.10.10.10 提供 www.hehe.com dns 解析 www.hh.com ip:10.10.10.11 存储:lvxixi 提供 www.xixi.com dns 解析 存储&#xff1a;lvhehe 开启防火墙 2相关配置 2.1修改ip地址 namcli connection modify ens160 ipv4.addresses 10.10.10.…

rust模式和匹配

文章目录 模式和匹配match 分支if let表达式while letfor 循环let 语句函数参数 Refutability&#xff08;可失败&#xff09;与Irrefutable(不可失败的)模式语法匹配字面量匹配命名变量多个模式通过 .. 匹配值的范围 解构并分解值解构结构体使用字面量作为结构体模式的一部分进…

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.…

牛客周赛 Round 67

文章目录 牛客周赛 Round 67题目链接&#xff1a; A.排序危机代码&#xff1a; B.小歪商店故事&#xff1a;卷代码&#xff1a; 小苯的计算式代码&#xff1a; D.K代码&#xff1a; 牛客周赛 Round 67 题目链接&#xff1a; 点击跳转牛客   前段时间由于在干些其他的事情&am…

基于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 全文本…