spring-boot-actuator
来源:互联网 发布:天涯明月刀染色数据 编辑:程序博客网 时间:2024/06/16 14:06
spring-boot-actuator模块提供了一个监控和管理生产环境的模块,可以使用http、jmx、ssh、telnet等拉管理和监控应用。审计(Auditing)、
健康(health)、数据采集(metrics gathering)会自动加入到应用里面。
Endpoints
列举一些主要的endpoints
ID
描述
敏感(Sensitive)
autoconfig
显示一个auto-configuration的报告,该报告展示所有auto-configuration候选者及它们被应用或未被应用的原因
true
beans
显示一个应用中所有Spring Beans的完整列表
true
configprops
显示一个所有@ConfigurationProperties的整理列表
true
dump
执行一个线程转储
true
env
暴露来自Spring ConfigurableEnvironment的属性
true
health
展示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情)
false
info
显示任意的应用信息
false
metrics
展示当前应用的’指标’信息
true
mappings
显示一个所有@RequestMapping路径的整理列表
true
shutdown
允许应用以优雅的方式关闭(默认情况下不启用)
true
trace
显示trace信息(默认为最新的一些HTTP请求)
true
可以检查的其他一些情况的健康信息。下面的HealthIndicators会被Spring Boot自动配置(在合适的时候):
名称
描述
DiskSpaceHealthIndicator
低磁盘空间检测
DataSourceHealthIndicator
检查是否能从DataSource获取连接
MongoHealthIndicator
检查一个Mongo数据库是否可用(up)
RabbitHealthIndicator
检查一个Rabbit服务器是否可用(up)
RedisHealthIndicator
检查一个Redis服务器是否可用(up)
SolrHealthIndicator
检查一个Solr服务器是否可用(up)
自定义Indicator 扩展 HealthEndPoint
看源码 其实 磁盘和数据库健康信息就是 DiskSpaceHealthIndicator、DataSourceHealthIndicator 来实现的,当我们对一些我们自定义的组件进行监控时, 我们也可以实现个Indicator :
@Componentpublic class HealthIndicatorImpl implements HealthIndicator { @Override public Health health() { return new Health.Builder().withDetail("usercount", 10) //自定义监控内容 .withDetail("userstatus", "up").up().build(); }}
自定义EndPoint
其实除了扩展 HealthEndPoint 来添加一些健康检查, 我们也可以自定定义一些EndPoint 来提供程序运行时一些信息的展示:
/** * 自定义EndPoint配置 */@Configurationpublic class EndPointConfig { /** * 可以配置多个EndPoint,方法上添加bean注解 * @return */ @Bean public Endpoint<Map<String, Object>> customEndPoint() { return new CustomEndPoint(); }}
/** * http://localhost:8080/manage/customsystem */@ConfigurationProperties(prefix="endpoints.customsystem")public class CustomEndPoint extends AbstractEndpoint<Map<String, Object>> { public CustomEndPoint() { super("customsystem"); } @Override public Map<String, Object> invoke() { Map<String, Object> result = new HashMap<>(); Date date = new Date(); result.put("server_time", date.toString()); result.put("ms_format", date.getTime()); return result; }}
配置文件属性介绍
地址和端口的配置
- management.port:指定访问这些监控方法的端口,与逻辑接口端口分离。如果不想将这些暴露在http中,可以设置 management.port = -1
- management.address:指定地址,比如只能通过本机监控,可以设置 management.address = 127.0.0.1
- management.context-path :指定访问监控的根目录
敏感信息访问限制
根据上面表格,鉴权为false的,表示不敏感,可以随意访问,否则就是做了一些保护,不能随意访问。
endpoints.mappings.sensitive=false
这样需要对每一个都设置,比较麻烦。敏感方法默认是需要用户拥有ACTUATOR角色,因此,也可以设置关闭安全限制:
management.security.enabled=false
或者配合Spring Security做细粒度控制。
配置需要账号密码安全验证:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
application.yml配置
management:
security:
enabled: true
roles: ADMIN
context-path: /manage
port: 10001
security:
user:
password: 123456
name: admin
阅读全文
0 0
- Spring Boot Actuator
- Spring-boot actuator
- spring-boot-actuator
- spring-boot-actuator
- Spring Boot Actuator简介
- 4.spring boot actuator
- Spring Boot----Actuator
- spring boot actuator简述
- spring boot actuator 入门荔枝
- Spring Boot Actuator监控端点
- spring boot(21)-actuator监控
- Spring-boot-actuator的解析
- Complete Guide for Spring Boot Actuator
- Complete Guide for Spring Boot Actuator
- Spring Boot Actuator监控端点小结
- 使用Spring Boot Actuator监控应用
- Spring Boot有四大神器之actuator
- Spring Boot四大神器之Actuator
- HTML5
- 设计模式_7:模板方法模式
- 图形编程之 OpenGL ES 2.0 —— 从我们的世界到他们的世界 (3)
- DOS窗口下生成WebService客户端
- 1002.Phone Numbers
- spring-boot-actuator
- Loadrunner脚本录制&执行
- 二进制包和源代码安装的差距
- linux上安装memcached
- 南阳理工_31五个数求最值
- 【PAT】1009. 说反话
- [LeetCode]23. Merge k Sorted Lists
- Android 获取证书签名以及key hash散列值
- UVa11324