Skip to content

Latest commit

 

History

History
126 lines (126 loc) · 6.38 KB

SpringBoot整合Admin监控服务.md

File metadata and controls

126 lines (126 loc) · 6.38 KB
SpringBootAdmin(SBA)是一款基于Actuator开发的开源软件:https://github.com/codecentric/spring-boot-admin,
    以图形化界面的方式展示Spring Boot应用的配置信息、Beans信息、环境属性、线程信息、JVM状况等;
官方文档: http://codecentric.github.io/spring-boot-admin/2.1.4
[1]搭建SBA服务端:
    搭建一个SBA服务端(Server),其他被监控的SpringBoot应用作为客户端(Client),
        客户端通过HTTP的方式将自己注册到服务端,以供服务端进行监控服务
    (1)创建一个Spring Boot项目作为Server端,并为之引入SBA Server依赖:
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server</artifactId>
            <version>2.1.4</version>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui</artifactId>
            <version>2.1.4</version>
        </dependency>
    (2)开启Admin监控: 在Server端的入口类上添加注解@EnableAdminServer来启用Admin监控功能
        @SpringBootApplication
        @EnableAdminServer
        public class SpringBootAdminServerApplication {
            public static void main(String[] args) {
                SpringApplication.run(SpringBootAdminServerApplication.class, args);
            }
        }
    (3)在yml中对Server端进行相关配置:
        server:
            servlet:
                context-path: /admin-server    #访问Server监控界面的接口
            port: 8080                         #Server端启动端口
    (4)启动项目,测试Server端: http://localhost:8080/admin-server
        (SpringBootAdmin的Server监控界面正常显示,则SBA服务端搭建成功(此时监控列表为空))
[2]搭建SBA客户端:
    (1)创建一个Spring Boot项目作为Client端,并为之引入SBA Client依赖:
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.1.4</version>
        </dependency>
    (2)在yml中对Client端进行相关配置:
        server:
            port: 8081                        #Client端启动端口
        management:
            endpoint:
                shutdown:
                    enabled: true             #允许使用http请求关闭应用
                health:
                    show-details: always      #显示health详情
            endpoints:
                web:
                    exposure:
                        include: '*'          #暴露所有接口
        spring:
            boot:
                admin:
                    client:
                        instance:
                            service-base-url: http://localhost:8081/  #当前Client端IP
                        url: http://localhost:8080/admin-server       #服务端监控地址
    (3)添加Client端的一些基本信息到监控中的yml配置:
        info:
            app:
                name: "@project.name@"
                description: "@project.description@"
                version: "@project.version@"
                spring-boot-version: "@project.parent.version@"
    (4)Client端启动后自动注册到Server端的监控中,可在Server端监控界面查看Client端的情况
[3]为SBA服务端添加邮件预警: (默认情况下对于client应用启动或者停止的时候会触发预警)
    (1)SBA服务端引入邮件依赖:
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
    (2)在SBA服务端的yml中配置邮件预警:
        spring:
            mail:
                host: smtp.qq.com           #发送邮件服务器
                username: xxxxxx@qq.com     #QQ邮箱
                #授权码参考:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
                password: xxxxxx            #客户端授权码
                protocol: smtp              #发送邮件协议
                default-encoding: utf-8     #编码格式
                properties:
                    mail:
                        smtp:
                            auth: true        #开启认证
                            port: 465         #端口号465(开启SSL时)或587(不开启SSL时)
                            ssl:
                                enable: true      #开启SSL(使用587端口时无法连接QQ邮件服务器)
                            starttls:
                                enable: true      #需要TLS认证 保证发送邮件安全验证
                                required: true
            boot:
                admin:
                    notify:
                        mail:
                            from: xxxxxx@qq.com   #发送提醒邮件的邮箱
                            to: xxxxxx@163.com    #接受提醒邮件的邮箱
[3]SBA Server配置:
    (1)spring.boot.admin.context-path: Admin Server 保留的静态访问和API的前缀
    (2)spring.boot.admin.monitor.period: 更新应用信息的频率,单位毫秒
    (3)spring.boot.admin.monitor.status-lifetime: 被监控的应用信息的过期时间,单位毫秒
[4]SBA Client配置:
    (1)spring.boot.admin.client.enabled: 默认开启
    (2)spring.boot.admin.url: admin server 的地址列表,此设置会触发自动配置,必须
    (3)spring.boot.admin.api-path: 注册到admin server端点的 Http-path
    (4)spring.boot.admin.username:
    (5)spring.boot.admin.password:
    (6)spring.boot.admin.period: 重试注册的间隔时间
    (7)spring.boot.admin.auto-registration: 应用启动后自动执行周期性的注册任务
    (8)spring.boot.admin.auto-deregistration: 当应用关闭时,自动取消注册
    (9)spring.boot.admin.client.health-url:
    (10)spring.boot.admin.client.management-url:
    (11)spring.boot.admin.client.service-url:
    (12)spring.boot.admin.client.name: 注册时的名字
    (13)spring.boot.admin.client.prefer-ip: 
[5]邮件配置:
    (1)spring.boot.admin.notify.mail.enabled: 默认启用
    (2)spring.boot.admin.notify.mail.ignore-changes: 需要忽略的状态改变通知,逗号分隔
    (3)spring.boot.admin.notify.mail.to: 接收通知的邮箱地址,逗号分隔
    (4)spring.boot.admin.notify.mail.cc: 抄送
    (5)spring.boot.admin.notify.mail.from: 发送人
    (6)spring.boot.admin.notify.mail.subject: 主题
    (7)spring.boot.admin.notify.mail.text: 内容