Spring Boot 添加应用 JVM 监控,实现数据可视化

栏目: IT技术 · 发布时间: 4年前

内容简介:最近越发觉得,任何一个系统上线,运维监控都太重要了。本文介绍Prometheus + Grafana的方法监控Springboot 2.X,实现美观漂亮的数据可视化。Spring-boot-actuator module 可帮助您在将应用程序投入生产时监视和管理应用程序。您可以选择使用 HTTP 端点或 JMX 来管理和监控您的应用程序。Auditing, health, and metrics gathering 也可以自动应用于您的应用程序。引入依赖如下:对于Springboot,要开启Actuator

1.简介

最近越发觉得,任何一个系统上线,运维监控都太重要了。本文介绍Prometheus + Grafana的方法监控Springboot 2.X,实现美观漂亮的数据可视化。

2.添加监控

Spring-boot-actuator module 可帮助您在将应用程序投入生产时监视和管理应用程序。您可以选择使用 HTTP 端点或 JMX 来管理和监控您的应用程序。Auditing, health, and metrics gathering 也可以自动应用于您的应用程序。引入依赖如下:

  1. <!--监控报警-->

  2. <dependency>

  3. <groupId>org.springframework.boot</groupId>

  4. <artifactId>spring-boot-starter-actuator</artifactId>

  5. </dependency>

  6. <dependency>

  7. <groupId>io.micrometer</groupId>

  8. <artifactId>micrometer-registry-prometheus</artifactId>

  9. </dependency>

对于Springboot,要开启Actuator,并打开对应的Endpoint:

  1. #prometheus配置

  2. info:

  3. alen:alen

  4. management:

  5. endpoints:

  6. web:

  7. base-path:/actuator

  8. exposure:

  9. include:"*"

启动Springboot后,可以通过下面URL看能不能正确获取到监控数据:localhost/actuator/prometheus 获取数据成功,说明Springboot能正常提供监控数据。

Spring Boot 添加应用 JVM 监控,实现数据可视化

主要的端点

Spring Boot 添加应用 JVM 监控,实现数据可视化

3.配置Prometheus

Prometheus 是 Cloud Native Computing Foundation 项目之一,是一个系统和服务监控系统。它按给定的时间间隔从配置的目标收集指标,评估规则表达式,显示结果,并且如果观察到某些条件为真,则可触发警报。

特性

  1. 多维度 数据模型(由度量名称和键/值维度集定义的时间序列)

  2. 灵活的查询语言 来利用这种维度

  3. 不依赖分布式存储;单个服务器节点是自治的

  4. 时间序列采集通过HTTP上的 pull model 发生

  5. 推送时间序列 通过中间网关得到支持

  6. 通过 服务发现 静态配置 来发现目标

  7. 多种模式的 图形和仪表盘支持

  8. 支持分级和水平 federation

通过 Prometheus 来抓取数据 Prometheus 会按照配置的时间周期去 pull 暴露的端点(/actuator/prometheus)中的指标数据 prometheus.yml 配置

  1. - job_name: 'actuator-ruoyi'

  2. # metrics_path defaults to '/metrics'

  3. # scheme defaults to 'http'.

  4. metrics_path: '/actuator/prometheus'

  5. static_configs:

  6. - targets: ['10.42.95.4']

重然后再启动prometheus,访问prometheus网址,查看targets启动是否正常如下图

Spring Boot 添加应用 JVM 监控,实现数据可视化

4.Grafana添加监控模版

默认启动后Grafana地址为:http://localhost:3000/,登录用户名和密码是admin/admin,import配置grafana id = 4701

Spring Boot 添加应用 JVM 监控,实现数据可视化

最终的效果是这样子的,如下图

Spring Boot 添加应用 JVM 监控,实现数据可视化

5.备注

问题:添加上访问不了Endpoint?解决方案:原因是项目用的shiro,需要添加过滤

  1. filterChainDefinitionMap.put("/actuator/**","anon");

问题二:

  1. /O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Broken pipe

解决方法:导致这个错误的原因是 project.artifactId 可能包含了大写。改成小写就行

Spring Boot 添加应用 JVM 监控,实现数据可视化


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Writing Windows VxDs and Device Drivers, Second Edition

Writing Windows VxDs and Device Drivers, Second Edition

Karen Hazzah / CMP / 1996-01-12 / USD 54.95

Software developer and author Karen Hazzah expands her original treatise on device drivers in the second edition of "Writing Windows VxDs and Device Drivers." The book and companion disk include the a......一起来看看 《Writing Windows VxDs and Device Drivers, Second Edition》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具