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 ...
随机推荐
- Chrome扩展的核心:manifest 文件(下)
大家好,我是 dom 哥.这是我关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星. 在上篇和中篇中已经完成了对 manifest 文件中以下字段的解释: "manifest_ ...
- Elasticsearch入门到进阶
Elasticsearch 一.Elasticsearch 是什么(中文官网)? Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本.数字.地理空间.结构化和非结构化数据 ...
- 87 GB 模型种子,GPT-4 缩小版,超越ChatGPT3.5,多平台在线体验
瞬间爆火的Mixtral 8x7B 大家好,我是老章 最近风头最盛的大模型当属Mistral AI 发布的Mixtral 8x7B了,火爆程度压过Google的Gemini. 缘起是MistralAI ...
- Date、正则表达式练习
Date.正则表达式练习 package com.guoba.date; import java.text.SimpleDateFormat; import java.util.Calendar; i ...
- 部署堡垒机6——配置Nginx及其他组件
Lina部署 cd /opt wget https://github.com/jumpserver/lina/releases/download/v2.28.7/lina-v2.28.7.tar.gz ...
- Base64编码:数据传输的安全使者
Base64编码是一种将二进制数据转换为可传输的文本表示形式的方法,它在全球范围内被广泛应用于网络通信.数据存储和传输等领域.本文将从多个方面介绍Base64编码的原理.应用及其在现实场景中的优势,帮 ...
- Programming Abstractions in C阅读笔记:p202-p234
<Programming Abstractions in C>学习第65天,p202-p234总结. 一.技术总结 完成第五章学习,第五章介绍递归在实际问题中的进一步应用,例如汉诺塔问题, ...
- BM25(Best Matching 25)算法基本思想
BM25(Best Matching 25)是一种用于信息检索(Information Retrieval)和文本挖掘的算法,它被广泛应用于搜索引擎和相关领域.BM25 基于 TF-IDF(Ter ...
- 一种DWS迁移Oracle的CONNECT BY语法的方案
摘要:本文提供一种GaussDB DWS迁移CONNECT BY语法方案. 本文分享自华为云社区<GaussDB(DWS)迁移 - oracle兼容 -- CONNECT BY迁移>,作者 ...
- 梦幻联动!金蝶&华为云面向大企业发布数据库联合解决方案
摘要:近日,金蝶软件(中国)有限公司(以下简称"金蝶")携手华为云共同发布了金蝶云·星瀚.金蝶云·苍穹和GaussDB(for openGauss)数据库联合解决方案. 本文分享自 ...