zoukankan      html  css  js  c++  java
  • Spring Boot 揭秘与实战(九) 应用监控篇

    文章目录

    1. 1. 快速开始
    2. 2. 监控和管理端点3. 定制端点
      1. 2.1. health 应用健康指标
      2. 2.2. info 查看应用信息
      3. 2.3. metrics 应用基本指标
      4. 2.4. trace 基本的HTTP跟踪信息
      5. 2.5. shutdown关闭当前应用
    3. 4. 源代码

    Spring Boot 提供运行时的应用监控和管理功能。本文,我们通过 HTTP 实现对应用的监控和管理。

    快速开始

    Spring Boot 监控核心是 spring-boot-starter-actuator 依赖,增加依赖后, Spring Boot 会默认配置一些通用的监控,比如 jvm 监控、类加载、健康监控等。

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-actuator</artifactId>
    4. </dependency>

    如果,使用 HTTP 调用的方式,还需要 spring-boot-starter-web 依赖。

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-web</artifactId>
    4. </dependency>

    监控和管理端点

    以最新的 Spring Boot 的版本 1.4.3 为准,列出目前支持的监控。

    HTTP方法路径描述
    GET /actuator 查看所有EndPoint的列表,需要加入 Spring HATEOAS 支持
    GET /autoconfig 查看应用的自动配置的使用情况
    GET /beans 查看应用的所有Bean的信息
    GET /configprops 查看应用的所有配置属性
    GET /dump 查看应用的线程状态信息
    GET /env 查看应用的所有环境信息
    GET /flyway 查看已经有迁徙路线数据库迁移
    GET /health 查看应用健康指标
    GET /info 查看应用信息
    GET /liquibase 查看已经有liquibase数据库迁移应用
    GET /mappings 查看所有url映射
    GET /metrics 查看应用基本指标
    POST /shutdown 允许优雅关闭当前应用(默认情况下不启用)
    GET /trace 查看基本的HTTP跟踪信息
    GET /docs 查看文档,需要依赖 spring-boot-actuator-docs
    GET /heapdump 返回一个gzip压缩 hprof 堆转储文件
    GET /jolokia 暴露JMX bean(当jolokia路径)
    GET /logfile 查看日志文件的内容(如果logging.file或logging.path属性已设置)。支持使用对HTTP范围标头到日志文件的部分恢复内容。
     

    health 应用健康指标

    我们可以通过 http://localhost:8080/health , 统计系统的状况,默认里面目前只有系统状况和磁盘状况。这些检测器都通过 HealthIndicator 接口实现,下篇文章,我会讲解到通过 HealthIndicator 接口实现自定义健康检测。

    info 查看应用信息

    默认情况下,只会返回一个空的 json 内容。我们可以在 application.properties 配置文件中通过 info 前缀来设置一些属性。

    1. info.author.realname=梁桂钊
    2. info.author.nickname=LiangGzone

    我们也可以在 application.yml 配置文件中设置一些属性。

    1. info.author:
    2. email: lianggzone@163.com
    3. blog: http://blog.720ui.com

    metrics 应用基本指标

    我们可以通过 http://localhost:8080/metrics, 获取当前应用的各类重要度量指标,比如:内存信息、线程信息、垃圾回收信息等。

    我们还可以通过 /metrics/{name} 接口来更细粒度的获取度量信息,比如我们可以通过访问 /metrics/mem.free 来获取当前可用内存数量。

    trace 基本的HTTP跟踪信息

    查看基本的 HTTP 跟踪信息。默认情况下,跟踪信息的存储采用 org.springframework.boot.actuate.trace.InMemoryTraceRepository 实现的内存方式,始终保留最近的 100 条请求记录。

    shutdown关闭当前应用

    shutdown 端点默认是不启用的,我们可以在 application.properties 中开启。此外,shutdown 端点不支持 GET 请求,我们需要通过 POST 方法访问。

    1. endpoints.shutdown.enabled=true

    定制端点

    端点可以在 Spring Boot 配置文件中进行定制。例如,上面,我们开启 shutdown 端点。

    1. endpoints.shutdown.enabled=true

    端点的前缀是,endpoints + “.”+ 端点名。

    默认的端点访问路径是根目录下,我们可以通过修改配置,进行定制。

    1. management.context-path=/manage

    此时,我们的访问地址就变成: http://localhost:8080/manage/info

    此外,默认监控的接口端口和业务的端口是一致的,我们出于安全性考虑,可以改变端点的访问的端口。

    1. management.port=9090

    我们甚至可以关闭 http 端点。

    1. management.port=-1

    源代码

    相关示例完整代码: springboot-action

    (完)

    微信公众号
  • 相关阅读:
    解决Win10图片打开方式没有“Windows照片查看器”问题
    20199305 2019-2020-2 《网络攻防实践》第四周作业
    20199305 2019-2020-2 《网络攻防实践》第三周作业
    20199305 2019-2020-2 《网络攻防实践》第二周作业
    20199305 2019-2020-2 《网络攻防实践》第一周作业
    20199305 《网络攻防实践》假期作业
    补交作业:第六周 SumN
    外设驱动程序设计-2
    外设驱动程序设计-1
    2019-2020-1 20199305《Linux内核原理与分析》第十二周作业
  • 原文地址:https://www.cnblogs.com/cnblog-long/p/7245813.html
Copyright © 2011-2022 走看看