学习Spring Boot:(二十七)Spring Boot 2.0 中使用 Actuator
前言
主要是完成微服务的监控,完成监控治理。可以查看微服务间的数据处理和调用,当它们之间出现了异常,就可以快速定位到出现问题的地方。
- springboot - version: 2.0
正文
依赖
maven 项目 在 pom.xml
文件中加入 actuator 的依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>
使用 Gradle 构建:也可以使用Maven
dependencies {compile("org.springframework.boot:spring-boot-starter-actuator")
}
配置
需要注意的是 Spring Boot 2.0 相对于上个版本, Actuator 发生很多变化,
keys 的配置改变
旧的属性 | 新的属性 |
---|---|
endpoints..*
|
management.endpoint..*
|
endpoints.cors.*
|
management.endpoints.web.cors.*
|
endpoints.jmx.*
|
management.endpoints.jmx.*
|
management.address
|
management.server.address
|
management.context-path
|
management.server.servlet.context-path
|
management.ssl.*
|
management.server.ssl.*
|
management.port
|
management.server.port
|
基本路径
所有 endpoints 默认情况下都已移至
/actuator
。就是多了跟路径actuator
;上个版本中的
management/context-path:
和management/port:
改为 :management:server:port: 8004servlet:context-path: /xxx # 只有在设置了 management.server.port 时才有效
另外,您还可以使用新的单独属性
management.endpoints.web.base-path
为管理端点设置基本路径。例如,如果你设置
management.server.servlet.context-path=/management
和management.endpoints.web.base-path=/application
,你就可以在下面的路径到达终点健康:/management/application/health
。如果你想恢复 1.x 的行为(即具有
/health
代替/actuator/health
),设置以下属性:management.endpoints.web.base-path=/
ENDPOINTS
1.X 的时候属性:
HTTP 方法 | 路径 | 描述 |
---|---|---|
GET | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 |
GET | /configprops | 描述配置属性(包含默认值)如何注入Bean |
GET | /beans | 描述应用程序上下文里全部的Bean,以及它们的关系 |
GET | /dump | 获取线程活动的快照 |
GET | /env | 获取全部环境属性 |
GET | /env/{name} | 根据名称获取特定的环境属性值 |
GET | /health | 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供 |
GET | /info | 获取应用程序的定制信息,这些信息由info打头的属性提供 |
GET | /mappings | 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系 |
GET | /metrics | 报告各种应用程序度量信息,比如内存用量和HTTP请求计数 |
GET | /metrics/{name} | 报告指定名称的应用程序度量值 |
POST | /shutdown | 关闭应用程序,要求endpoints.shutdown.enabled设置为true |
GET | /trace | 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等) |
2.0 部分更改:
1.x 端点 | 2.0 端点(改变) |
---|---|
/actuator
|
不再可用。 但是,在 management.endpoints.web.base-path 的根目录中有一个映射,它提供了到所有暴露端点的链接。
|
/auditevents
|
该after 参数不再需要
|
/autoconfig
|
重命名为 /conditions
|
/docs
|
不再可用 |
/health
|
现在有一个 management.endpoint.health.show-details 选项 never , always , when-authenticated ,而不是依靠 sensitive 标志来确定 health 端点是否必须显示全部细节。 默认情况下,/actuator/health 公开并且不显示细节。
|
/trace
|
重命名为 /httptrace
|
默认端点 path 前面多了一级 /actuator
。
同时注意只有端点/health
和/info
端点是暴露的。
Property | Default |
---|---|
management.endpoints.jmx.exposure.exclude
|
|
management.endpoints.jmx.exposure.include
|
*
|
management.endpoints.web.exposure.exclude
|
|
management.endpoints.web.exposure.include
|
info, health
|
- 您可以按如下方式公开所有端点:
management.endpoints.web.exposure.include=*
- 您可以通过以下方式显式启用
/shutdown
端点:management.endpoint.shutdown.enabled=true
- 要公开所有(已启用)网络端点除
env
端点之外:
management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env
例如:
我现在开启所有的端点:
management:endpoints:web:exposure:include: "*" # * 在yaml 文件属于关键字
执行 localhost:${port}/actuator
,可以看到所有可以执行查看的端点监控的 Url,然后我们尝试执行关闭应用进程的指令:shutdown
:
端点格式
/actuator/mappings
端点大改变
JSON 格式已经更改为现在正确地包含有关上下文层次结构,多个DispatcherServlets,
部署的 Servlet 和 Servlet 过滤器的信息。详情请参阅#9979。
Actuator API 文档的相关部分提供了一个示例文档。/actuator/httptrace
端点大改变
响应的结构已经过改进,以反映端点关注跟踪 HTTP 请求 - 响应交换的情况。
总结
主要是 Spring Boot 2.0 版本升级在 Actuator 上面有许多改动,需要记录下。
参考文章
- Part V. Spring Boot Actuator: Production-ready features
- Spring Boot 2.0系列文章(一):Spring Boot 2.0 迁移指南
学习Spring Boot:(二十七)Spring Boot 2.0 中使用 Actuator相关推荐
- OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope
OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...
- Spring(二)--------Spring配置、DI依赖注入、Bean自动装配
Spring(二)--------Spring配置.DI依赖注入.Bean自动装配 5.Spring配置 5.1 别名 设置别名:第一种方式alias <!--其中name为ID的对应值--&g ...
- 强化学习系列文章(二十七):VPG+Beta分布在CartPoleContinuous环境中的应用
强化学习系列文章(二十七):VPG+Beta分布在CartPoleContinuous环境中的应用 在第七篇笔记(https://blog.csdn.net/hhy_csdn/article/deta ...
- Windows系统调用学习笔记(二)—— 3环进0环
Windows系统调用学习笔记(二)-- 3环进0环 要点回顾 基本概念 _KUSER_SHARED_DATA 0x7FFE0300 实验:判断CPU是否支持快速调用 第一步:修改EAX=1 第二步: ...
- Spring 学习笔记(二)Spring AOP
前言 容器和AOP是Spring的两大核心.本文将来学习Spring AOP. AOP是什么? AOP在计算机科学领域还是相对年轻的概念,由Xerox PARC公司发明.Gregor Kiczales ...
- 第四单元 用python学习微积分(二十七)积分-部分分式-分部积分
本文内容来自于学习麻省理工学院公开课:单变量微积分-分部积分-网易公开课 开发环境准备:CSDN 目录 一.多项式部分分式方法求积分 1.效果 2.步骤 (1) 长除法 (2) 分解因式 (fac ...
- Spring学习笔记(二)——Spring相关配置属性注入Junit整合
一.Spring的相关配置 1.1 Bean元素 class属性:被管理对象的完整类名 name属性:给Bean起个名字,能重复,能使用特殊字符.后来属性 id属性:给Bean起个名字,不能重复,不能 ...
- mybaits二十七:spring, spring mvc,mybatis(ssm) 整合
配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=" ...
- Spring讲解二:Spring中的Bean配置0
一.IOC &DI 概述 IOC(Inversion of Control):思想是反转资源获取的方向.传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源.而应用I ...
最新文章
- Web Dynpro Controller
- 魅族android p,2.Android P新特性实践-Slices
- linux containerd 容器 简介
- SQL Server 2008最直观的变化上(三)
- 用TWaver加载大型游戏场景一例
- spring boot项目开发中遇到问题,持续更新
- ASP.NET MVC 4 过滤器(Authorize)
- 【兼容M1】MovieSherlock Pro Mac 视频下载和转换工具
- 计算机的编程发源地,计算机编程: C典型上机试题
- 在iOS端使用AVSampleBufferDisplayLayer进行视频渲染
- spring注入bean的三种方法
- 提防最近一些公司的小九九!
- 十七、String类型常用方法(二)
- php旧物交易开源代码_php二手市场交易系统毕业设计(含源文件)
- [RK3288][Android6.0] 调试笔记 --- 播放搜狐视频会Crash问题
- linux ubuntu 安装odb,Ubuntu 使用C++ ORM框架--ODB
- 移动云计算中选择推广应用程序的战术
- c语言程序填空 功能:输出结果为:,C语言程序填空题
- PMP之项目采购管理
- 物联网案例(一):将设备数据转换为明智决策
热门文章
- alert闪一下就没了_尾部贯穿式镀铬银饰条除了丑,还能闪瞎眼
- PHP有表单和js交互乱码问题,js 和 php交互问题
- 量词逻辑量词里面的v表示?_代理知识表示中的量词简介(基于人工智能)
- 软件静态架构 软件组件图_组件图| 软件工程
- bitcount方法详解_Java Long类的bitCount()方法和示例
- Java GregorianCalendar getActualMinimum()方法与示例
- python 幂运算 整数_在Python中检查一个数字是否是另一个数字的幂
- arraylist能否接收强转类型_ArrayList 源码解析
- linux sudo命令全称,linux sudo命令的概念与使用
- python读csv最快方法_使用Python读写csv文件的三种方法