• SpringBoot第二十四篇:应用监控之Admin


    作者:追梦1819
    原文:https://www.cnblogs.com/yanfei1819/p/11457867.html
    版权声明:本文为博主原创文章,转载请附上博文链接!


    ## 引言

      前一章(SpringBoot第二十二篇:应用监控之Actuator)介绍了 SpringBoot 应用使用 Actuctor 进行监控。文章最后也提出了一个问题,是否可以将监控结果更好的展示个运维同学?

      本章解答这个问题。

      Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源项目。分为 admin-server 与 admin-client 两个组件,admin-server通过采集 actuator 端点数据,显示在 spring-boot-admin-ui 上,已知的端点几乎都有进行采集,通过 spring-boot-admin 可以动态切换日志级别、导出日志、导出 heapdump、监控各项指标 等。

      Spring Boot Admin 在对单一应用服务监控的同时也提供了集群监控方案,支持通过eurekaconsulzookeeper等注册中心的方式实现多服务监控与管理。


    SpringBoot Admin的使用


    创建 admin-server

    首先,引入 maven 依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-server</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server-ui</artifactId>
    </dependency>
    

    为了便于区分,定义端口号为 8081:

    server.port=8081
    

    在启动类上加注解 @EnableAdminServer .

    即:

    package com.yanfei1819.adminserver;
    
    import de.codecentric.boot.admin.server.config.EnableAdminServer;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @EnableAdminServer
    public class AdminServerApplication {
        public static void main(String[] args) {
            SpringApplication.run(AdminServerApplication.class, args);
        }
    }
    

    我们先来感受一下 SpringBoot Admin 的界面:

    页面中没有内容,下面创建要监控的客户端。


    创建 admin-client

    引入 maven 依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-client</artifactId>
    </dependency>
    

    设置其端口号为 8082:

    server.port=8082
    spring.boot.admin.client.url=http://localhost:8081
    # 激活所有的端点的web方式请求。如果不激活,将看不到详细的监控信息。
    management.endpoints.web.exposure.include=*
    

    先启动 admin-server,再启动 admin-client。

    以下是相关的一些界面:

    监控的首页:

    Applications:

    执行日志:

    详细信息:


    在以上的界面中,几乎囊括了所有的监控信息。读者感兴趣可以逐个详细了解。此处因篇幅所限,不作展开处理。

    如果是需要监控多个客户端的信息,只需要在客户端配置文件 application.properties 中配置:

    spring.boot.admin.client.url=http://localhost:8081
    # 激活所有的端点的web方式请求。如果不激活,将看不到详细的监控信息。
    management.endpoints.web.exposure.include=*
    

    本章源码写了两个客户端,文中为简化只演示了一个。


    总结

      上述文章只是介绍了 SpringBoot Admin 的相关应用,在实际项目中,可以做安全认证,权限设置,甚至消息通知等。

      到目前为止,本系列已经写了二十四篇。一路使用的下来的感受是,用比理解简单。最重要的是理解,理解思想,原理(当然,本系列由于针对的是 SpringBoot 入门的学习者,在原理方面未作深入的详解。后续将另开一个系列,专攻原理解析),方能使用起来得心应手,碰到问题而不是只会复制、粘贴、问度娘。

      说一句题外话。这一篇与上一篇的时间相距较长。主要是作者在这段时间大概学习了一下分布式、高并发和 MySQL 这三块的知识点。后面有时间也想将这些分享给大家。

      最后,欢迎大佬拍砖。


    ps:本系列的源码地址


    ![](https://img2018.cnblogs.com/blog/1183871/201909/1183871-20190904111525706-1403904811.png)
  • 相关阅读:
    未解决的
    nodejs 7 和 8 的比较
    openresty Nginx
    Vim快捷键分类
    wireshark 包过滤
    RSA 公私钥 互换问题
    vim命令
    Windows 小端存储
    python 字符转换
    ssl证书验证
  • 原文地址:https://www.cnblogs.com/yanfei1819/p/11457867.html
Copyright © 2020-2023  润新知