写点什么

Spring Boot Actuator 微服务服务监控

用户头像
xcbeyond
关注
发布于: 2020 年 08 月 18 日
Spring Boot Actuator微服务服务监控

1、Spring Boot Actuator介绍

Spring Boot Actuator是Spring Boot中一个比较强大的特性功能,能够帮助你监控和管理你的应用程序,通过提供的restful api接口来监管、审计、收集应用的运行情况,针对微服务而言它是必不可少的一个组件。



有如下特性:

1.1 Endpoints

Spring Boot Actuator的核心部分,它用来监视应用程序及交互,spring-boot-actuator中已经内置了非常多的Endpoints(health、info、beans、httptrace、shutdown)等等,同时也允许我们自己扩展自己的端点。例如:health端点提供了应用程序的基本健康信息。



使用了actuator后,并不代表所有内置的端点都能够访问,启用了并不代表可以直接访问,还需要配置参数(management.endpoints.web.exposure.include)将其暴露出来。



内置Endpoints:



1.2 Metrics

Spring Boot Actuator通过集成Micrometer来提供一些监控指标标准,详细可参考:https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-metrics.html



1.3 Audit 

Spring Boot Actuator有一个比较灵活的审计框架,那就是Audit,可以将事件发布到AuditEventRepository。一旦Spring Security正在运行,它会默认自动发布身份验证事件。这对于认证审计非常有用,并且还可以基于身份验证失败实施锁定策略,或自定义扩展一些审计功能,你可以实现已提供的接口AbstractAuthenticationAuditListener 和AbstractAuthorizationAuditListener。



看完上面这些特性,是不是有一种马上上手尝试一下的冲动了吧。Spring Boot Actuator将会为你的服务监控和管理提供很多的便利,不必闭门造车了。



2、开发配置

2.1 导入依赖包

在pom.xml中添加spring-boot-starter-actuator的依赖。



<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

</dependency>



2.2 属性配置

在application.yml文件中配置actuator的相关配置,其中info开头的属性,就是访问info端点中显示的相关内容,值得注意的十spring boot2.x中,默认只开放了infohealth两个端点,其余的需要自己通过配置management.endpoints.web.exposure.include属性来加载(有include自然就有exclude)。如果想单独操作某个端点可以使management.endpoint.端点.enabled属性进行启用或者禁用。



info:

  head: head

  body: body

management:

  endpoints:

    web:

      exposure:

        #加载所有的端点,默认只加载了info、health

        include: '*'

  endpoint:

    health:

      show-details: always

    #可以关闭指定的端点

    shutdown:

      enabled: false



3、总结

      Spring Boot Actuator组件作为微服务中服务监控的核心,Spring Boot Admin也是基于这个Actuator开发的,所以当涉及到服务监控相关的,可以优先考虑从Actuator入手。



参考文档:

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-metrics.html

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-auditing.html





发布于: 2020 年 08 月 18 日阅读数: 105
用户头像

xcbeyond

关注

不为别的,只为技术沉淀、分享。 2019.06.20 加入

公众号:程序猿技术大咖 知识星球:技术那些事

评论

发布
暂无评论
Spring Boot Actuator微服务服务监控