Prometheus抓取springBoot指标并grafana可视化

火影推荐程序连载65-Prometheus+node_exporter监控,Grafana无法显示数据的问题 被测linux机器上部署了Grafana,Prometheus,node_exporter,并成功启动了它们。 Grafana中已经创建了Prometheus数据源,并测试通过,并且导入了监控面板,将对被测机器的CPU,内存,网络和磁盘进行监控。 问题: 使用windows机器登录Grafana监控被测的Linux机器,右上角时间调整为最近的12个小时,无数据显示,显示为NA,如下图: 分析原因: Prometheus这个时序数据库对时间要求很严格,Linux服务器与Windows监控机. 阅读详情

Prometheus是一套开源的监控&报警&时间序列数据库的组合,基于应用的metrics来进行监控的开源工具 。
业务集成Prometheus这个事情分为两步

  • 第一步业务方Prometheus tragets收集好指标metrics后,以接口的形式暴露出来。
  • 第二步Prometheus Server会对业务方暴露的接口发起HTTP调用pull metrics
    最后Prometheus拿到业务方收集好的指标后,以图形化界面展示出来Prometheus web UI、Grafana。
    作为业务方,需要清楚如何收集自己服务的指标并以接口的形式暴露。
    在这里插入图片描述

参考

Prometheus+SpringBoot应用监控全过程详解
SpringBoot集成Prometheus
SpringBoot集成Actuator端点配置
SpringBoot集成prometheus
SpringBoot Actuator端点的实现原理【概括整理】

actuator的端点列表

IDJMXHTTP描述
auditeventsYesNo公开当前应用程序的审核事件信息
beansYesNo显示应用程序中所有Spring bean的完整列表
cachesYesNo公开可用的缓存
conditionsYesNo显示在配置和自动配置类上评估的条件,以及它们匹配或不匹配的原因
configpropsYesNo显示所有@ConfigurationProperties的整理列表
envYesNo从Spring的ConfigurableEnvironment中公开属性
flywayYesNo显示已应用的所有Flyway数据库迁移
healthYesYes显示应用程序运行状况信息
heapdumpN/ANo返回hprof堆转储文件。
httptraceYesNo显示HTTP跟踪信息(默认情况下,最后100个HTTP请求-响应交换)
infoYesYes显示任意应用程序信息
integrationgraphYesNo显示Spring集成图
jolokiaN/ANo通过HTTP公开JMX bean(当Jolokia在类路径上时,WebFlux不可用)
logfileN/ANo返回日志文件的内容(如果已设置logging.file或logging.path属性)。支持使用 HTTP Range 头来检索日志文件的部分内容
loggersYesNo显示和修改应用程序中记录器的配置
liquibaseYesNo显示已应用的任何Liquibase数据库迁移
metricsYesNo显示当前应用程序的"度量"信息
mappingsYesNo显示所有@RequestMapping路径的整理列表
prometheusN/ANo以Prometheus服务器可以抓取的格式公开度量
scheduledtasksYesNo显示应用程序中的计划任务
sessionsYesNo允许从支持Spring Session的会话存储中检索和删除用户会话。在使用Spring Session对反应式web应用程序的支持时不可用
shutdownYesNo允许优雅地关闭应用程序
threaddumpYesNo执行线程转储

操作

POM

<!--基于Springboot-->
<parent>
    <artifactId>spring-boot-starter-parent</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>2.3.1.RELEASE</version>
    <relativePath/>
</parent>
<properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <skipTests>true</skipTests>

        <spring-boot.version>2.3.1.RELEASE</spring-boot.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!--    使用 容器 undertow    -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-undertow</artifactId>
    </dependency>
    <!--    解决启动WARN  Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used   -->
    <dependency>
        <groupId>io.undertow</groupId>
        <artifactId>undertow-websockets-jsr</artifactId>
    </dependency>
    <!--    增加springboot的指标检测    -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!--    增加springboot的prometheus监控指标检测    -->
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
        <scope>runtime</scope>
    </dependency>
<!--    springBoot 低版本需要增加一下依赖来收集指标,micrometer-registry-prometheus版本要一致    -->
<!--     <dependency>   -->
<!--           <groupId>io.micrometer</groupId>   -->
<!--           <artifactId>micrometer-spring-legacy</artifactId>   -->
<!--            <version>1.0.5</version>   -->
<!--       </dependency>   -->

        <!-- 仪表盘12856 的描述内容。可选, 用于进程内存使用图表 -->
        <dependency>
            <groupId>io.github.mweirauch</groupId>
            <artifactId>micrometer-jvm-extras</artifactId>
            <version>0.2.0</version>
            <scope>runtime</scope>
        </dependency>
</dependencies>

application.yml

server:
  port: 9521
  servlet:
    context-path: /ecb
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
management:
  metrics:
    export:
      prometheus: # 开启 prometheus 检测端点
        enabled: true
    tags:
      application: ${spring.application.name}
  endpoints:
    web:
      exposure:
        include: '*'

访问actuator验证

地址:127.0.0.1:9521/ecb/actuator

{
    "_links": {
        "self": {
            "href": "http://127.0.0.1:9521/ecb/actuator",
            "templated": false
        },
        "beans": {
            "href": "http://127.0.0.1:9521/ecb/actuator/beans",
            "templated": false
        },
        "caches-cache": {
            "href": "http://127.0.0.1:9521/ecb/actuator/caches/{cache}",
            "templated": true
        },
        "caches": {
            "href": "http://127.0.0.1:9521/ecb/actuator/caches",
            "templated": false
        },
        "health-path": {
            "href": "http://127.0.0.1:9521/ecb/actuator/health/{*path}",
            "templated": true
        },
        "health": {
            "href": "http://127.0.0.1:9521/ecb/actuator/health",
            "templated": false
        },
        "info": {
            "href": "http://127.0.0.1:9521/ecb/actuator/info",
            "templated": false
        },
        "conditions": {
            "href": "http://127.0.0.1:9521/ecb/actuator/conditions",
            "templated": false
        },
        "configprops": {
            "href": "http://127.0.0.1:9521/ecb/actuator/configprops",
            "templated": false
        },
        "env": {
            "href": "http://127.0.0.1:9521/ecb/actuator/env",
            "templated": false
        },
        "env-toMatch": {
            "href": "http://127.0.0.1:9521/ecb/actuator/env/{toMatch}",
            "templated": true
        },
        "logfile": {
            "href": "http://127.0.0.1:9521/ecb/actuator/logfile",
            "templated": false
        },
        "loggers": {
            "href": "http://127.0.0.1:9521/ecb/actuator/loggers",
            "templated": false
        },
        "loggers-name": {
            "href": "http://127.0.0.1:9521/ecb/actuator/loggers/{name}",
            "templated": true
        },
        "heapdump": {
            "href": "http://127.0.0.1:9521/ecb/actuator/heapdump",
            "templated": false
        },
        "threaddump": {
            "href": "http://127.0.0.1:9521/ecb/actuator/threaddump",
            "templated": false
        },
        "prometheus": {
            "href": "http://127.0.0.1:9521/ecb/actuator/prometheus",
            "templated": false
        },
        "metrics": {
            "href": "http://127.0.0.1:9521/ecb/actuator/metrics",
            "templated": false
        },
        "metrics-requiredMetricName": {
            "href": "http://127.0.0.1:9521/ecb/actuator/metrics/{requiredMetricName}",
            "templated": true
        },
        "scheduledtasks": {
            "href": "http://127.0.0.1:9521/ecb/actuator/scheduledtasks",
            "templated": false
        },
        "mappings": {
            "href": "http://127.0.0.1:9521/ecb/actuator/mappings",
            "templated": false
        }
    }
}

在这里插入图片描述
调整配置

management.endpoints.web.exposure.include=health,info,prometheus

在这里插入图片描述

验证actuator/prometheus

在这里插入图片描述

prometheus增加检测配置

追加配置

vim /usr/local/prometheus/prometheus.yml
###
# 增加应用检测节点
  - job_name: "springBoot-ecb-t"
    metrics_path: "/ecb/actuator/prometheus"
    static_configs:
      - targets: ["127.0.0.1:9521"]
###
# 检查配置文件
/usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml
# 重启
systemctl restart prometheus

在这里插入图片描述

访问9090/targets验证

192.168.xxx.xxx:9090/targets
在这里插入图片描述

登录grafana配置面板

访问仪表盘,查询需要的面板
在这里插入图片描述
使用的仪表盘ID:12856,可以自己设计和在网上找
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

END

Prometheus使用node_exporter监控主机grafana模板显示无数据问题 使用k8s部署的prometheus后,从官网下载的node_export监控dashboard导入后很多没有数据,网上查了很多也没有相应的,大部分还是你抄我我抄你的复制,没有解决问题的根本。 阅读详情

相关推荐

随手记录第十五话 -- Spring Boot 3.2.3+Grafana+Prometheus+Loki实现一套轻量级监控加日志收集系统

在当今的软件开发中,监控和日志收集是至关重要的环节。它们帮助我们了解系统额运行状况、发现潜在问题,并及时进行优化和故障排除。本文将介绍如何使用结合来构建一套轻量级的监控和日志收集系统。

生生不息,则源源不断 2304

Prometheus部署,操作及Grafana展示

* 通过浏览器访问 http:// 被监控端 IP:9100/metrics 就可以查看到 node_exporter 在被监控端收集的监控信息:**Grafana 是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警。**回到 web 管理界面→点 Status→点 Targets→可以看到监控 mysql **

S314118142的博客 1156

Prometheus+SpringBoot应用监控全过程详解

既然是服务端自己主动向目标拉取数据,那么服务端运行在本地(我们自己的电脑上)也是可以的,只要能访问目标端点即可,同时就像心跳检测一样可以判断目标是否下线,还有,服务端自己主动拉取,那么想拉取谁的数据就拉取谁的数据,因而可以随意切换拉取目标。回想一下Skywalking是怎么做的,SkyWalking有客户端和服务端,需要在目标服务上安装探针(agent),探针采集目标服务的指标数据,上报给服务端OAP服务,这个对目标有一定的侵入性,不过可以接受。具有相同目的的实例集合,称为作业。

Cr1556648487的博客 355

Prometheus -Grafana部署及部署告警

目录 一、prometheus 概述 1.简介 2. 指标类型 3. 作业 job 和实列 targets/instance 4. PrometheusQL(数据查询语言也是时序数据库使用语言) 二、部署Prometheus 1.准备工作 2.关闭防火墙机制 3.解包并启动服务 4.部署监控其他节点 5.server 节点配置 6.加入其他节点监控端 三、表达式浏览器 1.表达式浏览器常规使用 四、部署service discovery服务 1.Prometheus的服务发.

Zlwriii的博客 2468

Prometheus+SpringBoot应用监控全过程(详解)

1. Prometheus是什么 Prometheus是一个具有活跃生态系统的开源系统监控和告警工具包。一言以蔽之,它是一套开源监控解决方案。 Prometheus主要特性: 多维数据模型,其中包含由指标名称和键/值对标识的时间序列数据 PromQL,一种灵活的查询语言 不依赖分布式存储; 单服务器节点是自治的 时间序列收集通过HTTP上的pull模型进行 通过中间网关支持推送(push)时间序列 通过服务发现或静态配置发现目标 支持多种模式的图形和仪表盘 为什么用pull(拉取)而不用p

JAVA88866的博客 3663

NLP实战:如何用CoNLL-2003数据集快速提升命名实体识别模型性能(附完整代码)

本文详细介绍了如何利用CoNLL-2003公开数据集,通过深度剖析数据特点、构建鲁棒的数据预处理流水线、选择合适的模型架构(如BERT-CRF)以及优化训练策略,来系统性地提升命名实体识别(NER)模型的性能。文章提供了完整的代码示例,并分享了处理数据不均衡、标签对齐等核心挑战的实战技巧,帮助读者从理论到实践全面掌握NER任务。

cola5的博客 494

Prometheus监控栈 监控java程序springboot

Iava程序广泛运用于各类业务场景的开发:web网站、金融服务领域,以及访问量大的业务领域中。所以本章节主要以iava的web程序为例讲解,怎么将iavaweb-springboot程序接入prometheus.

weixin_74403828的博客 1411

浅析图像处理中的名词:Gamma 校正(Gamma变换、Gamma调整)

浅析图像处理中的名词:Gamma 校正(Gamma变换、Gamma调整)

qq_51908382的博客 1万+

SpringBoot 项目中集成 Prometheus 和 Grafana

SpringBoot 项目中集成 Prometheus 和 Grafana

小张Python 2677

逆变器LCL滤波器参数设计(一)

1.基本介绍 并网型逆变器一般是电流源逆变器,滤波器基本用LCL结构。 假设要设计额定功率10KVA的单相逆变器,采用两电平的全桥拓扑,采用SPWM控制,载波频率20KHz,电网等级220V,频率50Hz。 拓扑结构如图所示: 直流输入电压分为上下母线各1/2Vin,半母线电压为380V。 L1采用高频磁芯绕制,称为高频电感;L2用工频电感绕制,称工频电感;C是滤波电容,为高频谐波电流提供通路;Vg为电网电压。 载波调制比为:Mr=220*1.414/380=0.819 2.高频电感量的计算 逆变器可以等

weixin_43549807的博客 5万+

手把手教你自制Type-C OTG转换器(附电路图及避坑指南)

本文详细指导如何自制Type-C OTG转换器,包括核心电路设计、元器件选型及焊接技巧,特别强调硬件检测电路的关键作用。通过实测数据和避坑指南,帮助开发者解决兼容性问题,实现高效数据传输。

weixin_27038245的博客 710

SpringBoot集成Prometheus

现在2.3.0.RELEASE和1.5.4.RELEASE版本的服务,都可以成功暴露出一个给Prometheus拉取指标的接口,只需要在Prometheus上进行配置即可在Prometheus WEB UI上看到效果。但生产环境的真实情况,不可能只收集一个服务的指标,是否再需要一个代理服务,该服务用来收集所有微服务的指标后,再统一暴露接口给Prometheus,需要再根据生产环境使用情况考虑。启动服务后,访问/actuator/prometheus接口,可以看到Micrometer替我们收集到的指标。

2509_94105055的博客 343

从图像处理到AI:手把手教你用Halcon DL Tool完成第一个缺陷检测项目

本文详细介绍了如何使用Halcon深度学习工具(DL Tool)完成金属表面缺陷检测项目。从环境准备、数据采集标注到模型训练与部署,手把手指导工程师快速构建AI质检系统,显著提升工业缺陷检测效率。特别针对金属反光等难点问题提供实用解决方案。

weixin_42531886的博客 289

SpringBoot 接入 Prometheus + Grafana

欢迎从事编程开发、技术招聘 HR 进群,欢迎大家分享自己公司的内推信息,相互帮助,一起进步!架构设计之道在于在不同的场景采用合适的架构设计,架构设计没有完美,只有合适。在代码的路上,我们一起砥砺前行。—— 斩获心仪Offer,破解面试密码 ——点击 Import,即可看到监控仪表。

专注分享原创技术干货。大厂资深架构师,多年技术架构与技术管理经验,多年面试官经验。一对一技术指导培训,带你从小白到入门到架构设计到技术管理。关注我,免费领取学习资料。一对一免费面试指导,快速拿offer。 803

AI与运筹学赋能:混合动力公交调度优化算法实战解析

组合优化是运筹学与计算机科学交叉的核心领域,旨在从海量可行方案中寻找最优解,其原理在于通过定义目标函数与约束条件,将复杂现实问题转化为可计算的数学模型。该技术的核心价值在于解决资源受限下的高效分配问题,广泛应用于物流、交通、生产调度等场景。在智慧交通领域,混合动力公交车辆调度正是一个典型的组合优化问题,涉及车辆、班次、充电桩等多重资源与时空约束。本文聚焦于通过贪婪启发式与模拟退火元启发式算法,求解大规模公交网络下的车辆调度与能耗优化方案,旨在实现总能源成本最小化。其中,模拟退火算法通过引入概率性接受劣解的策

weixin_42497762的博客 406

【CTFhub】——hate_php2021

【CTFhub】——hate_php2021

manerzi的博客 1603

Spring Boot + Prometheus + Grafana 打造可视化监控,一目了然!

点击关注公众号,Java干货及时送达作者:烟味i链接:https://www.cnblogs.com/2YSP/p/12827487.html一、背景Spring Boot 的应用监控方案...

Java技术栈,分享最主流的Java技术 754

【CANoe】CAPL_UDS安全算法dll制作

使用UDS进行刷写时,需要27服务解密后,才能正确执行刷写,本文提供两种制作27解密dll的方法,用于CANoe的CAPL脚本中。

星Yeah 的博客 1万+

Prometheus+Grafana+SpringBoot实现监控

本文通过Prometheus以及Grafana展示SpringBoot项目的运行情况。

北方的孤夜 1099

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

springboot整合prometheus实现资源监控

Spring Boot与Prometheus的整合可以实现对Spring Boot应用的实时监控,有助于更好地维护应用的性能。

xuweilin的博客 942

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

SpringBoot+Prometheus+Grafana实现应用监控和报警

这套监控功能还是挺强大的,就是Prometheus的表达式有点多。附上几个链接:Prometheus官方文档Grafana官方文档代码地址。

奇华资料的博客 471

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SpringBoot + Micrometer + Prometheus + Grafana:自定义业务指标监控

通过SpringBoot + Micrometer + Prometheus + Grafana的组合,我们可以轻松构建一套功能强大的业务指标监控系统。标准化:Micrometer提供了统一的指标收集接口可扩展:易于添加新的业务指标可视化:Grafana提供了丰富的图表展示告警能力:可以基于指标设置告警规则在实际项目中,建议从最关键的业务指标开始监控,逐步扩展到更多的业务维度。只有建立了完善的监控体系,我们才能真正做到心中有数,从容应对各种业务挑战。

毛尖 287

Spring Boot Actuator metrics monitoring with Prometheus and Grafana

  参考地址: https://www.callicoder.com/spring-boot-actuator-metrics-monitoring-dashboard-prometheus-grafana/         Spring Boot Actuator metrics monitoring with Prometheus and Grafana   Welcome ...

kanpiaoxue的专栏 889

Spring Boot 应用可视化监控

1、Spring Boot 应用暴露监控指标【版本 1.5.7.RELEASE】 首先,添加依赖如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> 采集应用的指标信息,我...

风水道人 141
上一篇: Prometheus、Grafana安装-部署-nginx代理-监控linux
下一篇: nginx代理后打开grafana页面If you‘re seeing this Grafana has failed to load its application files
privateobject
博客等级 码龄9年 107粉丝 86原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值