Spring Boot Actuator 使用和常用配置
转载请注明出处:
Spring Boot Actuator是Spring Boot提供的一个非常强大的工具,它可以帮助我们监控和管理我们的Spring Boot应用。Actuator提供了一系列的端点,我们可以通过这些端点来查看我们的应用的运行状态,例如健康状态、指标、信息、数据库连接、Redis连接等等
1.配置Spring Boot Actuator
要使用Spring Boot Actuator,我们首先需要在我们的Spring Boot项目中添加spring-boot-starter-actuator依赖。在Maven项目中,我们可以通过以下方式添加这个依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
添加了这个依赖之后,Spring Boot Actuator会自动配置各种端点,使我们可以在生产环境中监控和管理我们的Spring Boot应用。
Spring Boot Actuator提供了一系列的端点,可以通过访问这些端点来查看我们的应用的运行状态。例如,通过访问/actuator/health端点来查看应用的健康状态,通过访问/actuator/metrics端点来查看我们的应用的指标,通过访问/actuator/info端点来查看我们的应用的信息等。
以下是一个示例,展示了如何在我们的Spring Boot应用中使用Spring Boot Actuator:
curl http://localhost:8080/actuator/health
通过curl命令访问了/actuator/health端点,查看了我们的应用的健康状态。
2.Spring Boot Actuator默认配置项:
1.management.endpoints.web.exposure.include:这个配置项用于指定哪些端点应该被暴露出来。默认情况下,它的值是*,表示所有的端点都会被暴露出来。如果你想关闭某个端点,你可以将它的值从*改为你想要暴露的端点的名称,用逗号分隔。
2.management.endpoints.web.exposure.exclude:这个配置项用于指定哪些端点不应该被暴露出来。默认情况下,它的值是空字符串,表示没有端点被排除。如果你想关闭某个端点,你可以将它的值改为你想要关闭的端点的名称,用逗号分隔。
3.management.endpoints.web.base-path:这个配置项用于指定所有端点的基础路径。默认情况下,它的值是/actuator,表示所有的端点的路径都会以/actuator开始。
4.management.endpoints.web.path-mapping:这个配置项用于指定端点的路径映射。默认情况下,它的值是空字符串,表示没有端点的路径被映射。如果你想改变某个端点的路径,你可以将它的值改为端点的名称和新的路径,用冒号分隔。
5.management.endpoints.web.cors.allowed-origins:这个配置项用于指定哪些源站点可以访问端点。默认情况下,它的值是空字符串,表示没有源站点被允许。如果你想允许某个源站点访问端点,你可以将它的值改为源站点的URL,用逗号分隔。
以下是一个示例,展示了如何在Spring Boot的配置文件中设置Actuator的默认配置项:
management:
endpoints:
web:
exposure:
include: '*'
base-path: '/actuator'
path-mapping: 'health=healthcheck'
cors:
allowed-origins: 'http://localhost:8080'
在这个示例中,设置了所有的端点都会被暴露出来,所有的端点的路径都会以/actuator开始,health端点的路径被映射为healthcheck,http://localhost:8080被允许访问所有的端点.
3.关闭健康检查
在Spring Boot中,你可以通过配置文件来关闭Actuator的检查。具体来说,你可以使用management.endpoints.web.exposure.include和management.endpoints.web.exposure.exclude配置项来控制哪些端点被暴露出来。
如果你想关闭所有的Actuator端点,你可以将management.endpoints.web.exposure.include配置项设置为空字符串。这样,Actuator就不会暴露任何端点,也就意味着Actuator的检查就不会被执行。
以下是一个示例,展示了如何在Spring Boot的配置文件中关闭所有的Actuator端点:
management:
endpoints:
web:
exposure:
include: ''
在这个示例中,我们将management.endpoints.web.exposure.include配置项设置为空字符串,这样Actuator就不会暴露任何端点,也就意味着Actuator的检查就不会被执行。
需要注意的是,关闭Actuator的检查可能会影响到你的应用程序的监控和管理。因此,你应该在关闭Actuator的检查之前,确保你已经准备好了其他的监控和管理方案。
4.健康检查检查示例
如果你的management.endpoint.health.show-details=always配置项设置为always,那么/actuator/health端点会返回所有的健康检查结果,包括应用程序的各种状态信息,如数据库连接、Redis连接等。
以下是一个示例,展示了/actuator/health端点返回的健康检查结果:
{
"status": "UP",
"components": {
"db": {
"status": "UP",
"details": {
"database": "MySQL",
"hello": 1
}
},
"diskSpace": {
"status": "UP",
"details": {
"total": 250685575168,
"free": 66978721536,
"threshold": 10485760
}
},
"redis": {
"status": "UP",
"details": {
"version": "4.0.10",
"redis_version": "4.0.10",
"uptime": 11038,
"os": "Linux 3.10.0-862.11.6.el7.x86_64 x86_64",
"redis_mode": "standalone",
"role": "master",
"connected_clients": 1,
"used_memory": 610024,
"used_memory_human": "594.09K",
"used_memory_rss": 737008,
"used_memory_peak": 610024,
"used_memory_peak_human": "594.09K",
"used_memory_lua": 37888,
"mem_fragmentation_ratio": "1.44",
"mem_allocator": "jemalloc-3.6.0",
"loading": 0,
"rdb_changes_since_last_save": 0,
"rdb_bgsave_in_progress": 0,
"rdb_last_save_time": 1577023058,
"rdb_last_bgsave_status": "ok",
"rdb_last_bgsave_time_sec": -1,
"rdb_current_bgsave_time_sec": -1,
"aof_enabled": 0,
"aof_rewrite_in_progress": 0,
"aof_rewrite_scheduled": 0,
"aof_last_rewrite_time_sec": -1,
"aof_current_rewrite_time_sec": -1,
"aof_last_bgrewrite_status": "ok",
"aof_last_write_status": "ok",
"total_connections_received": 1,
"total_commands_processed": 1,
"instantaneous_ops_per_sec": 0,
"total_net_input_bytes": 73,
"total_net_output_bytes": 394,
"instantaneous_input_kbps": 0.0,
"instantaneous_output_kbps": 0.0,
"rejected_connections": 0,
"sync_full": 0,
"sync_partial_ok": 0,
"sync_partial_err": 0,
"expired_keys": 0,
"evicted_keys": 0,
"keyspace_hits": 0,
"keyspace_misses": 0,
"pubsub_channels": 0,
"pubsub_patterns": 0,
"latest_fork_usec": 0,
"migrate_cached_sockets": 0,
"slave_expires_tracked_keys": 0,
"active_defrag_hits": 0,
"active_defrag_misses": 0,
"active_defrag_key_hits": 0,
"active_defrag_key_misses": 0,
"active_defrag_key_hits_perc": 0.0,
"active_defrag_key_misses_perc": 0.0,
"active_defrag_scanned": 0,
"active_defrag_scanned_perc": 0.0,
```
Spring Boot Actuator 使用和常用配置的更多相关文章
- Spring Boot实践——基础和常用配置
借鉴:https://blog.csdn.net/j903829182/article/details/74906948 一.Spring Boot 启动注解说明 @SpringBootApplica ...
- Spring Boot 2.X(十六):应用监控之 Spring Boot Actuator 使用及配置
Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能.通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘.内存.C ...
- spring boot actuator端点高级进阶metris指标详解、git配置详解、自定义扩展详解
https://www.cnblogs.com/duanxz/p/3508267.html 前言 接着上一篇<Springboot Actuator之一:执行器Actuator入门介绍>a ...
- springboot(十九):使用Spring Boot Actuator监控应用
微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...
- spring boot actuator专题
spring-boot-starter-actuator模块的实现对于实施微服务的中小团队来说,可以有效地减少监控系统在采集应用指标时的开发量.当然,它也并不是万能的,有时候我们也需要对其做一些简单的 ...
- (转)Spring Boot (十九):使用 Spring Boot Actuator 监控应用
http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html 微服务的特点决定了功能模块的部署是分布式的,大部分功能 ...
- 朱晔和你聊Spring系列S1E7:简单好用的Spring Boot Actuator
阅读PDF版本 本文会来看一下Spring Boot Actuator提供给我们的监控端点Endpoint.健康检查Health和打点指标Metrics等所谓的Production-ready(生产环 ...
- Spring Boot Actuator:健康检查、审计、统计和监控(转)
Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...
- Spring Boot Actuator:健康检查、审计、统计和监控
Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...
- spring boot admin + spring boot actuator + erueka 微服务监控
关于spring boot actuator简单使用,请看 简单的spring boot actuator 使用,点击这里 spring boot admin 最新的正式版本是1.5.3 与 spri ...
随机推荐
- ubuntu 22.04.1安装雷池开源waf应用防火墙
ubuntu 22.04.1安装雷池开源waf应用防火墙 雷池waf是开源应用防火墙,国内首创.业内领先的智能语义分析算法 官方网站:https://waf-ce.chaitin.cn/ 官方文档:h ...
- LR(0)分析法
LR(0)是一种自底向上的语法分析方法.两个基本动作是移进和规约. 具体例子如下 已知文法G[E] (1) E→aА (2) E→bB (3) A→cА (4) A→d (5) B→cB (6) B→ ...
- 从 ECMAScript 6 角度谈谈执行上下文
大家好,我是归思君 起因是最近了解JS执行上下文的时候,发现很多书籍和资料,包括<JavaScript高级程序设计>.<JavaScript权威指南>和网上的一些博客专栏,都是 ...
- Java线程池ThreadPoolExecutor源码解析
Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准,常说线程池有七大参数,通常而言,有四个参数是比较重要的 public T ...
- 万界星空科技五金家具企业MES案例介绍
五金家具行业MES解决方案 MES系统如何与家具企业生产相匹配?相较于其它大多数工业软件,MES系统无疑是受企业欢迎的软件之一.MES系统处于制造生产企业信息化的核心领域,有着承上启下的作用.那MES ...
- 牛客刷Java记录第四天
第一题,单选题 class Car extends Vehicle { public static void main (String[] args) { new Car(). run(); } pr ...
- ElasticSearch之Clone index API
使用已有的索引,复制得到一个索引. 关闭testindex_001的写入操作,命令样例如下: curl -X PUT "https://localhost:9200/testindex_00 ...
- 通过 KernelUtil 截取 QQ / TIM 客户端 ClientKey 详细教程
前言 众所周知,由于最新版本 QQ 9.7.20 已经不能通过模拟网页快捷登录来截取 Clientkey,估计是针对访问的程序做了限制,然而经过多方面测试,诸多的地区.环境.机器也针对这种获取方法做了 ...
- JavaFx 打开一个新窗口和窗口交互(四)
JavaFx 打开一个新窗口和窗口交互(四) JavaFX 从入门入门到入土系列 前面我演示的demo都是单个窗口,那么如何实现多个窗口呢?使用Stage secondStage = new Stag ...
- 神经网络入门篇:激活函数的导数(Derivatives of activation functions)
激活函数的导数 在神经网络中使用反向传播的时候,真的需要计算激活函数的斜率或者导数.针对以下四种激活,求其导数如下: 1)sigmoid activation function 图1.8.1 其具体的 ...