springboot admin在consul中的应用

众所周知springboot admin是springboot服务的监控框架,有关的文章也不少,但是大多集中在springboot应用及和springcloud eureka的结合上,今天重点介绍springboot admin在consul微服务中的应用。

springboot admin可以非常方便注册到consul并直接获取注册到consul中的全部微服务,从而获取这些微服务的actuator,以此来对这些微服务的状态进行监控,下面就相关的配置方法逐步介绍:

基于admin的springboot starter编写admin server

  1. 引入依赖包
    
        
            de.codecentric
            spring-boot-admin-starter-server
            ${spring-boot-admin.version}
        
    

备注:该工程作为consul微服务的子模块,依赖consul框架,因此一些consul的springboot starter在其parent工程里边。

  1. 在主类里边注解admin server
package com.crazyice.accumulation.admin;

import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableAdminServer
@EnableDiscoveryClient
public class Application {

    public static void main(String[] args) {
        SpringApplication.run( Application.class, args );
    }

}
  1. 在consul配置中心配置,也可以将以下配置加入到application.yml中
##################
# 以下配置到consul #
##################
spring:
 boot:
  admin:
   discovery:
    ignored-services: consul,aliyun-*,baidu-*,juhe-api,syswinrpc-flink
   ui:
    title: 微服务监控
    brand: 微服务监控
#监控监控
management:
  health:
    redis:
      enabled: false
    consul:
      enabled: true
    binders:
      enabled: false
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
  1. 配置通知邮箱
    springboot admin server可以非常方便的将第三方邮箱集成进去,再通过邮件将监控的重要状态变化通知到运维人员邮箱中,配置到application.yml中即可生效(这里以QQ邮箱为例)。
spring:
  application:
    name: @project.artifactId@
  profiles:
    active: dev
  #邮箱配置
  mail:
    host: smtp.qq.com
    protocol: smtp
    username: [email protected]
    default-encoding: UTF-8
    #QQ邮箱的授权码
    password: jahsdjahsjfhjsfs
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
        debug: false

打包成docker镜像并运行

该服务运行后也是以微服务注册到consul中,也一并纳入到监控行列之中。


springboot admin注册到consul

监控效果

admin监控效果图

配置被监控springboot微服务

因为admin监控是基于actuator的,所以只需要按照监控指标要求配置每个微服务即可,也就是在consul的配置中心配置就可以生效。


被监控微服务配置

特别注意

因为consul server和client节点也被注册到consul中,admin缺失情况下也会监控这些节点服务的状况,但是consul本身没有实现actuator,所以要把这些节点的监控忽略掉,否则admin启动后出异常。

admin server属性配置说明

配置说明

示范工程参考下文《consul微服务治理中心采坑》

你可能感兴趣的:(springboot admin在consul中的应用)