转载请注明出处:

  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端点的路径被映射为healthcheckhttp://localhost:8080被允许访问所有的端点.

3.关闭健康检查

  在Spring Boot中,你可以通过配置文件来关闭Actuator的检查。具体来说,你可以使用management.endpoints.web.exposure.includemanagement.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 使用和常用配置的更多相关文章

  1. Spring Boot实践——基础和常用配置

    借鉴:https://blog.csdn.net/j903829182/article/details/74906948 一.Spring Boot 启动注解说明 @SpringBootApplica ...

  2. Spring Boot 2.X(十六):应用监控之 Spring Boot Actuator 使用及配置

    Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能.通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘.内存.C ...

  3. spring boot actuator端点高级进阶metris指标详解、git配置详解、自定义扩展详解

    https://www.cnblogs.com/duanxz/p/3508267.html 前言 接着上一篇<Springboot Actuator之一:执行器Actuator入门介绍>a ...

  4. springboot(十九):使用Spring Boot Actuator监控应用

    微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...

  5. spring boot actuator专题

    spring-boot-starter-actuator模块的实现对于实施微服务的中小团队来说,可以有效地减少监控系统在采集应用指标时的开发量.当然,它也并不是万能的,有时候我们也需要对其做一些简单的 ...

  6. (转)Spring Boot (十九):使用 Spring Boot Actuator 监控应用

    http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html 微服务的特点决定了功能模块的部署是分布式的,大部分功能 ...

  7. 朱晔和你聊Spring系列S1E7:简单好用的Spring Boot Actuator

    阅读PDF版本 本文会来看一下Spring Boot Actuator提供给我们的监控端点Endpoint.健康检查Health和打点指标Metrics等所谓的Production-ready(生产环 ...

  8. Spring Boot Actuator:健康检查、审计、统计和监控(转)

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...

  9. Spring Boot Actuator:健康检查、审计、统计和监控

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...

  10. spring boot admin + spring boot actuator + erueka 微服务监控

    关于spring boot actuator简单使用,请看 简单的spring boot actuator 使用,点击这里 spring boot admin 最新的正式版本是1.5.3 与 spri ...

随机推荐

  1. ubuntu 22.04.1安装雷池开源waf应用防火墙

    ubuntu 22.04.1安装雷池开源waf应用防火墙 雷池waf是开源应用防火墙,国内首创.业内领先的智能语义分析算法 官方网站:https://waf-ce.chaitin.cn/ 官方文档:h ...

  2. LR(0)分析法

    LR(0)是一种自底向上的语法分析方法.两个基本动作是移进和规约. 具体例子如下 已知文法G[E] (1) E→aА (2) E→bB (3) A→cА (4) A→d (5) B→cB (6) B→ ...

  3. 从 ECMAScript 6 角度谈谈执行上下文

    大家好,我是归思君 起因是最近了解JS执行上下文的时候,发现很多书籍和资料,包括<JavaScript高级程序设计>.<JavaScript权威指南>和网上的一些博客专栏,都是 ...

  4. Java线程池ThreadPoolExecutor源码解析

    Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准,常说线程池有七大参数,通常而言,有四个参数是比较重要的 public T ...

  5. 万界星空科技五金家具企业MES案例介绍

    五金家具行业MES解决方案 MES系统如何与家具企业生产相匹配?相较于其它大多数工业软件,MES系统无疑是受企业欢迎的软件之一.MES系统处于制造生产企业信息化的核心领域,有着承上启下的作用.那MES ...

  6. 牛客刷Java记录第四天

    第一题,单选题 class Car extends Vehicle { public static void main (String[] args) { new Car(). run(); } pr ...

  7. ElasticSearch之Clone index API

    使用已有的索引,复制得到一个索引. 关闭testindex_001的写入操作,命令样例如下: curl -X PUT "https://localhost:9200/testindex_00 ...

  8. 通过 KernelUtil 截取 QQ / TIM 客户端 ClientKey 详细教程

    前言 众所周知,由于最新版本 QQ 9.7.20 已经不能通过模拟网页快捷登录来截取 Clientkey,估计是针对访问的程序做了限制,然而经过多方面测试,诸多的地区.环境.机器也针对这种获取方法做了 ...

  9. JavaFx 打开一个新窗口和窗口交互(四)

    JavaFx 打开一个新窗口和窗口交互(四) JavaFX 从入门入门到入土系列 前面我演示的demo都是单个窗口,那么如何实现多个窗口呢?使用Stage secondStage = new Stag ...

  10. 神经网络入门篇:激活函数的导数(Derivatives of activation functions)

    激活函数的导数 在神经网络中使用反向传播的时候,真的需要计算激活函数的斜率或者导数.针对以下四种激活,求其导数如下: 1)sigmoid activation function 图1.8.1 其具体的 ...