spring-boot项目整合actuator+prometheus+grafana实现CPU内存等信息监控看板

1 篇文章 0 订阅
1 篇文章 0 订阅

搭建springboot项目

  1. pom.xml配置
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
  1. application.properties配置
server.port=8080

spring.application.name=actuator-test

management.endpoints.web.exposure.include = *
management.metrics.tags.application = ${spring.application.name}
  • 项目启动验证
    项目启动后浏览器访问 http://localhost:8080/actuator/prometheus
    如果显示以下信息,则表示配置成功。
# HELP jvm_memory_committed_bytes The amount of memory in bytes that is committed for the Java virtual machine to use
# TYPE jvm_memory_committed_bytes gauge
jvm_memory_committed_bytes{application="actuator-test",area="heap",id="PS Old Gen",} 1.42082048E8
jvm_memory_committed_bytes{application="actuator-test",area="heap",id="PS Survivor Space",} 1.1010048E7
jvm_memory_committed_bytes{application="actuator-test",area="nonheap",id="Metaspace",} 3.8273024E7
jvm_memory_committed_bytes{application="actuator-test",area="nonheap",id="Compressed Class Space",} 5505024.0
jvm_memory_committed_bytes{application="actuator-test",area="heap",id="PS Eden Space",} 1.30547712E8
jvm_memory_committed_bytes{application="actuator-test",area="nonheap",id="Code Cache",} 6881280.0
# HELP jvm_classes_loaded_classes The number of classes that are currently loaded in the Java virtual machine

搭建prometheus

  • docker搭建演示环境
    如果是真机安装,请自行搜索
docker pull ibmcom/prometheus:v2.8.0
docker run -itd --name prometheus -p 9090:9090 docker.io/ibmcom/prometheu:v2.8.0
  • 进入容器,修改配置文件
docker ps | grep prometheu
docker exec -it 4dec14ed12f8 sh
vi /etc/prometheus/prometheus.yml 
  • 在scrape_configs下添加个配置如下
 - job_name: 'actuator-test'
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['localhost:8080']
  • 修改配置文件后需要重启镜像
docker restart 4dec14ed12f8 
  • 查看配置的信息
    在这里插入图片描述
    能看到刚才自己配置的地址就可以了。
  • 接口验证
    在这里插入图片描述
    到此prometheus就安装好了

安装grafana

  • 使用docker安装
    如果使用真机安装请自行搜索
docker pull grafana/grafana:9.1.5
docker run -itd --name grafana -p 3000:3000 0d9dace86a5c
  • 访问 grafana
    浏览器访问 http://localhost:3000/
  • 配置数据源 prometheus
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    点击 Save & test 出现绿色✔表示配置成功。
  • 下载看板
    可以访问官网下载,也可以自定义,自定义需要些query脚本,懒得写就用别人的
    https://grafana.com/grafana/dashboards
    本示例用的是这个看板 https://grafana.com/grafana/dashboards/11378-justai-system-monitor/
    点击download JSON
    会下载一个文件,保存
  • 上传看板
    在这里插入图片描述
    在这里插入图片描述
  • 最终演示效果

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot Actuator是一个用于监控和管理Spring Boot应用程序的模块,它提供了一组内置的端点(endpoints)和监控指标(metrics)来帮助开发人员了解和管理应用程序的运行状态。下面是spring-boot-starter-actuator底层实现原理的简要说明: 1. 自动配置:spring-boot-starter-actuator模块通过自动配置机制与Spring Boot应用程序集成。它依赖于Spring Boot的自动配置功能,根据类路径中的依赖项以及应用程序的配置来自动配置Actuator模块。 2. 端点(Endpoints):Actuator通过提供一系列预定义的端点,使开发人员能够获取与应用程序相关的信息。例如,/health端点用于检查应用程序的健康状况,/info端点用于获取应用程序的自定义信息,/metrics端点用于查看应用程序的指标数据等等。这些端点可以通过HTTP请求访问,并返回相应的数据。 3. 端点暴露:Actuator模块默认会将一些常用的端点暴露出来,以便可以通过HTTP请求访问它们。你也可以通过配置来选择性地启用或禁用具体的端点,并可以自定义端点的访问路径。 4. 监控指标(Metrics):Actuator还提供了一套监控指标,用于测量和记录应用程序的运行状态和性能数据。它可以集成多种监控系统(如Prometheus、Graphite等),并提供了一个统一的接口来访问这些指标。Actuator会自动收集和公开一些常用的指标,同时也支持自定义指标的收集和公开。 5. 扩展性:Actuator模块提供了扩展机制,使开发人员可以自定义和添加自己的端点和指标。你可以通过实现特定的接口或注解来创建自定义端点,并使用Actuator的扩展点机制将其集成到应用程序中。 总之,spring-boot-starter-actuator底层实现原理主要是通过自动配置、点和指标的暴露,以及与监控系统的集成来提供对Spring Boot应用程序的监控和管理功能。它的设计目标是简化开发人员对应用程序运行状态的监控和管理,并提供了一套易于使用和扩展的接口。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值