【监控系统】Promethus监控SpringBoot微服务应用配置实战

这篇具有很好参考价值的文章主要介绍了【监控系统】Promethus监控SpringBoot微服务应用配置实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们本节要实现的是Java服务级监控用于对每个应用占用的内存、线程池的线程数量、restful调用数量和响应时间、JVM状态、GC信息等进行监控,并可将指标信息同步至Prometheus中集中展示和报警。

首先我们先了解下什么是actuator?

Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用。

Spring Boot Actuator 做度量统计收集,使用Prometheus进行数据收集,Grafana进行数据展示,用于监控生成环境机器的性能指标和业务数据指标。一般,我们叫这样的操作为”埋点”。SpringBoot中的依赖spring-actuator中集成的度量统计API使用的框架是Micrometer,官网是Micrometer.io。在实践中发现了业务开发者滥用了Micrometer的度量类型Counter,导致无论什么情况下都只使用计数统计的功能。这篇文章就是基于Micrometer分析其他的度量类型API的作用和适用场景。

OK,如果要使用 SpringBoot Actuator提供的监控功能,首先我们要先在Spring Boot程序中加入依赖。我们这里采用Spring Boot2.X的版本。

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

只要加上了这个依赖,SpringBoot 在运行时就会自动放开/actuator/health和/actuator/info这两个endpoint,我们就可以通过这两个 endpoint 查看当前 SpringBoot 运行的情况。

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

我这里用一个之前我做测试的SpringBoot项目。

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

浏览器访问 http://localhost:8080/actuator ,这里由于我是本地启动的8080的服务,大家可以根据你们自己的服务的IP地址➕端口进行访问。

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

默认只暴露 health 端点,如果想要看到更多,可以配置更多端点。application.yml或者application.properties中进行配置。

#暴露指定端点
management.endpoints.web.exposure.include=env,info,config,health

#暴露全部
management.endpoints.web.exposure.include=*

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

拼上health我们来看下服务的运行情况,http://localhost:8080/actuator/health

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

health 端点中常见的状态值及其含义:

  • “UP”: 应用程序健康状态良好,所有依赖项都处于可用状态。
  • “DOWN”: 应用程序健康状态不佳,至少有一个依赖项处于不可用状态。
  • “OUT_OF_SERVICE”: 应用程序无法提供服务,所有依赖项都处于离线状态。
  • “UNKNOWN”: 应用程序健康状态未知,无法确定依赖项的状态。

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

当我们有自研组件的不满足的情况下,需要自定义,参考实现 DataSourceHealthIndicator

/**
 * @author lixiang
 * @date 2023/7/17 17:52
 */
@Component
public class CustomHealthIndicator extends AbstractHealthIndicator {

    /**
     * 这个方法写检测的逻辑,测试中间件服务是否正常启动
     * @param builder
     * @throws Exception
     */
    @Override
    protected void doHealthCheck(Health.Builder builder) throws Exception {
        //builder.down().withDetail("custom","自定义中间件");
        builder.up().withDetail("custom","自定义中间件");
    }
}

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

OK。关于SpringBoot整合Actuator我们先介绍到这里,主要是我们用health端点去查看服务的运行情况,下面我们来将服务整合到Promethus上。

首先,加入依赖包。

<!--整合prometheus-->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

重启服务,访问接口: http://localhost:8080/actuator,会发现prometheus的端点。

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

访问: http://localhost:8080/actuator/prometheus,我们会看到prometheus的格式数据。

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

然后将SpringBoot程序打包,上传到linux服务器启动。

mvn clean package

守护进程启动 nohup java -jar xxxx.jar &

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

prometheus整合配置,编辑文件 prometheus.yml

  - job_name: "order-service"
    scrape_interval: 15s
    scrape_timeout: 10s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['192.168.140.134:8080']

热更新配置 curl -X POST http://localhost:9090/-/reload

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus
【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus

好啦,关于Promethus监控SpringBoot微服务应用配置实战,就到这里啦,记得三连➕关注哦!

【监控系统】Promethus监控SpringBoot微服务应用配置实战,# 监控系统,spring boot,微服务,后端,prometheus文章来源地址https://www.toymoban.com/news/detail-576965.html

到了这里,关于【监控系统】Promethus监控SpringBoot微服务应用配置实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微服务治理之监控APM】系统监控架构概述

    APM 通常认为是 Application Performance Management 的简写,它主要有三个方面的内容,分别是 Logs(日志)、 Traces(链路追踪) Metrics(报表统计)。 以后大家接触任何一个 APM 系统的时候,都可以从这三个方面去分析它到底是什么样的一个系统。Metrics可以用于服务告警,Tracing 和 Logging 用于

    2024年02月07日
    浏览(46)
  • 电气火灾监控系统行业技术应用现状

    摘要 :我国现有的电气火灾监控系统的应用效果不佳,为了让电气火灾监控系统的发展能满足现代化人们的需要,对此进行分析与研究。网络化时代的到来,电气火灾监控系统将顺应时代潮流,逐步实现系统的网络化、智能化、可视化、等效果。分析电气火灾监控系统发展中

    2024年02月11日
    浏览(40)
  • 数据机房温湿度监控系统解决应用案例

                                                                        物联网工业级高精度传感器   以太网智能RJ45温湿度传感器(POE+12VDC供电型) 智   能   传   感   器   介   绍 目      录 一、………………………………………………………………………

    2024年02月03日
    浏览(44)
  • 本地spingboot配置Promethus+granfana监控

    记录如何配置与启动 1.在搭建好的应用加上依赖 2.配置文件修改 【重要】配置项  management.metrics.tags  ,设置 Metrics 通用标签。这里,我们配置了一个通过用标签键为  application  ,值为  ${spring.application.name}  。我们来试着想下,应用 A 和应用 B 都有相同的 Metrics 名,那么如

    2023年04月27日
    浏览(21)
  • 基于Springboot+MySQL的个人健康监控管理系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85798666 资源下载地址:https://download.csdn.net/download/sheziqiong/85798666 目录 摘要 1 summary 2 一.项目简介 4 1.1背景分析 4 1.2功能模块 5 二、健康管理系统方案设计原则 5 2.1、顶层设计与统筹协调原则 5 2.2、先进性与实用性原则 5 2.3、

    2024年02月08日
    浏览(42)
  • SpringBoot集成系统监控和告警工具包prometheus

    prometheus以开源软件的形式进行研发的系统监控和告警工具包 Grafana 是一个监控仪表系统,它是由 Grafana Labs 公司开源的的一个系统监测工具,只需要提供需要监控的数据,它就可以帮助生成各种可视化仪表,同时它还有报警功能,可以在系统出现问题时发出通知。 环境搭建:

    2024年03月09日
    浏览(45)
  • SpringBoot+Prometheus+Grafana实现系统可视化监控

    SpringBoot中集成Actuator实现监控系统运行状态: SpringBoot中集成Actuator实现监控系统运行状态_springboot actuator 获取系统运行时长_霸道流氓气质的博客-CSDN博客 基于以上Actuator实现系统监控,还可采用如下方案。 Prometheus,是一个开源的系统监控和告警的工具包,其采用Pull方式采集

    2024年02月15日
    浏览(36)
  • 【监控系统】Prometheus监控组件Node-Exporter配置实战

    这一节,我们来配置一下Node-Exporter,那么我们先来了解一下什么是Prometheus的Exporter? 任何向Prometheus提供监控样本数据的程序都可以被称为一个Exporter,它是一种用于将不同数据源的指标提供给Prometheus进行收集和监控的工具。运行在应用程序、计算机、网络设备或者其他系统

    2024年02月15日
    浏览(34)
  • 【监控系统】Prometheus监控组件Mysql-Exporter配置实战

    Mysql-Exporter主要监控Mysql数据库的稳定性、吞吐量、连接情况、缓冲池使用情况、查询性能等各项指标,是我们压测时常常需要监控的一些指标。 目前,Exporter 支持高于5.6版本的 MySQL 和高于10.1版本的 MariaDB。在 MySQL/MariaDB 低于5.6版本时,部分监控指标可能无法被采集。 OK,下

    2024年02月16日
    浏览(30)
  • 【Distributed】分布式监控系统zabbix应用(二)

    分担 server 的集中式压力; 解决多机房之间的网络延时问题。 结构:agent —— proxy —— server 2.1 设置 zabbix 的下载源,安装 zabbix-proxy 2.2 部署数据库   要求 MySQL 5.7 或 Mariadb 10.5 及以上版本 2.3 导入数据库信息 2.4 修改 zabbix-proxy 配置文件 2.5 启动 zabbix-proxy 2.6 在所有主机上

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包