• 拒绝黑盒应用-Spring Boot 应用可视化监控


    img

    图文简介

    img

    逻辑关系

    img

    效果演示

    快速开始

    1、Spring Boot 应用暴露监控指标【版本 1.5.7.RELEASE】

    首先,添加依赖如下依赖:

      <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
    
            <dependency>
                <groupId>io.prometheus</groupId>
                <artifactId>simpleclient_spring_boot</artifactId>
                <version>0.0.26</version>
            </dependency>
    

    然后,在启动类 Application.java 添加如下注解:

    @SpringBootApplication
    @EnablePrometheusEndpoint
    @EnableSpringBootMetricsCollector
    public class Application {
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    
    }
    

    最后,配置默认的登录账号和密码,在 application.yml 中:

    security:
      user:
        name: user
        password: pwd
    

    提示:不建议配置 management.security.enabled: false

    启动应用程序后,会看到如下一系列的 Mappings

    img

    Mappings

    利用账号密码访问 http://localhost:8080/application/prometheus ,可以看到 Prometheus 格式的指标数据

    img

    指标数据

    2、Prometheus 采集 Spring Boot 指标数据

    首先,获取 Prometheus 的 Docker 镜像:

    $ docker pull prom/prometheus
    

    然后,编写配置文件 prometheus.yml

    global:
      scrape_interval: 10s
      scrape_timeout: 10s
      evaluation_interval: 10m
    scrape_configs:
      - job_name: spring-boot
        scrape_interval: 5s
        scrape_timeout: 5s
        metrics_path: /application/prometheus
        scheme: http
        basic_auth:
          username: user
          password: pwd
        static_configs:
          - targets:
            - 127.0.0.1:8080  #此处填写 Spring Boot 应用的 IP + 端口号
    

    接着,启动 Prometheus :

    $ docker run -d 
    --name prometheus 
    -p 9090:9090 
    -m 500M 
    -v "$(pwd)/prometheus.yml":/prometheus.yml 
    -v "$(pwd)/data":/data 
    prom/prometheus 
    -config.file=/prometheus.yml 
    -log.level=info
    

    最后,访问 http://localhost:9090/targets , 检查 Spring Boot 采集状态是否正常。

    img

    采集状态

    3、Grafana 可视化监控数据

    首先,获取 Grafana 的 Docker 镜像:

    $ docker pull grafana/grafana
    

    然后,启动 Grafana:

    $ docker run --name grafana -d -p 3000:3000 grafana/grafana
    

    接着,访问 http://localhost:3000/ 配置 Prometheus 数据源:

    Grafana 登录账号 admin 密码 admin

    img

    配置 DataSource

    最后,配置单个指标的可视化监控面板:

    img

    选择 Graph

    img

    编辑

    img

    配置需要监控的指标

    提示,此处不能任意填写,只能填已有的指标点,具体的可以在 Prometheus 的首页看到,即 http://localhost:9090/graph

    img

    指标

    多配置几个指标之后,即可有如下效果:

    img

    Grafana 监控界面

    参考文档

    © 著作权归作者所有,转载或内容合作请联系作者

    原文链接:
    https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247486173&idx=1&sn=571a068a4d49cf7c054ebde623c67d17&chksm=fb3f1326cc489a30cef820c1be230a351b0ef0501f86f2a9c8dbf19bc694f9e5a32a40173194&token=423629656&lang=zh_CN#rd

    本文由博客一文多发平台 OpenWrite 发布!

  • 相关阅读:
    Spring 理解和开始
    SpringBoot之日期时间格式化
    Java 中 DO、PO、BO、DTO、VO 等各对象概念说明
    RocketMQ之Broker
    RocketMQ之NameSever
    RocketMQ之Consumer
    RocketMQ之Producer
    RocketMQ之简单使用
    RocketMQ单机版安装
    RocketMQ介绍
  • 原文地址:https://www.cnblogs.com/springforall/p/11768953.html
Copyright © 2020-2023  润新知