spring Boot 微服务监控(Spring boot admin )

 

随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,当然快速搭建微服务springBoot是个不错的选择,当然springBoot优势不仅仅在于快速开发,spring-boot-starter-actuator 它提供了监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的会话数量、当前应用的并发数、服务资源、延迟以及其他度量信息,精简配置,运用javaconfig不用再去添加“一坨”xml配置。简明而强大的springBoot具有很大的应用价值。开源的SBA监控工具从此诞生(示例版本V1.5.x)。

 

SpringBootAdmin较其他监控工具对比。

优势:

开源、低侵入式、配置简单等等。

缺点:

权限控制粒度问题(各个模块没有权限区分)

 

     SBA 充当server其他Boot应用作为client,sever收集client数据信息(client 前往server进行注册),我们便可以通server后台看到各个client信息。在除了引用相应的依赖外我们需要配置以下信息,来完成我们整体服务

  • Server

        a. 端配置添加 @EnableAdminServer 注解开启监控;
        b. 配置admin登入账号,当然不想写死认证信息还支持OAuth2认证;
        c. 配置turbine需要指定配置turbine 来聚合client  hystrix的监控中服务器发送事件流数据;
        d. 配置邮件通知;
        。。。

  • Client

        a.配置注册server端地址,触发自动配置、指明Server注册地址。手动配置地址/配置Eureka server发现服务,同时需要配置注册认证用户和认证密码;
       b. 配置JMX-bean管理;
       c. Loglevel 管理 在logback.xml文件中加入
      

 <include resource="org/springframework/boot/logging/logback/base.xml"/>
       <jmxConfigurator/>

 
    当然这是默认配置,我们需要定义格式,文本输出 等等。

 

 

<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
  <jmxConfigurator/> 

 
  直接添加即可。
      d.配置hystrix;

 

      。。。

  • 基础信息

     当我们服务运行某个模块出现问题会出现up->down或者非过滤(spring.boot.admin.notify.mail.ignore-changes 默认过滤"UNKNOWN:UP")状态,并且配置邮件也会告警。


  • Logging日志级别修改(目前仅适用于Logback



 

  • Environment配置

支持Spring Cloud的postable,env和refresh-endpoint。我们可以集中配置我们程序中的配置,可以运用我们admin后台来修改配置类解决线上一些突发情况。


  • 在线Heapdump

我们可通过SBA后台下载dump文件利用HeapAnalyzer来生成直观的信息


  •  Trace日志追踪和hystrix ui



 

  •  Journal

健康状态记录日志,工具会告诉我们是哪一模块出现问题

 此外还有统计接口信息接口响应信息、JMX beans管理、Threads会话和线程管理,邮件告警等等,注解式服务,对现有项目耦合性很低,穿插在服务之间,为服务提供服务,及时发现问题,并高效的解决问题。

 

猜你喜欢

转载自soberchina.iteye.com/blog/2377538