在 Spring Boot Admin Server 上添加自定义选项卡

Add a custom tab on SpringBoot Admin Server

我是 Spring 的新手。我正在尝试将来自服务的自定义信息集成到 Spring Boot Admin 服务器仪表板中。

开箱即用,微服务的 Spring 引导管理服务器仪表板包含 DetailsMetrics..等选项卡。我需要添加一个或多个自定义选项卡。我的一项服务服务于我通过关注 this 文章创建的虚拟端点(将来会服务于自定义选项卡)。此端点扩展 actuator.Endpoint class.

我已经在服务器和 UI 上调查了 Spring Boot Admin' Github,但无法找到集成自定义端点的方法。

感谢任何形式的帮助。谢谢

目前没有这方面的文档。但这是可能的。查看 spring-boot-admin-server-ui-activiti 模块。它为新端点添加了一个选项卡。

除了@joshiste:

您可以通过确保将资源添加到正确的目录来创建自定义插件。

管理项目查找以下目录:

registry.addResourceHandler(adminServerProperties.getContextPath() + "/**")
            .addResourceLocations("classpath:/META-INF/spring-boot-admin-server-ui/")
            .resourceChain(true)
            .addResolver(new PreferMinifiedFilteringResourceResolver(".min"));

    registry.addResourceHandler(adminServerProperties.getContextPath() + "/all-modules.css")
            .resourceChain(true)
            .addResolver(new ResourcePatternResolvingResourceResolver(resourcePatternResolver,
                    "classpath*:/META-INF/spring-boot-admin-server-ui/*/module.css"))
            .addResolver(new ConcatenatingResourceResolver("\n".getBytes()));

    registry.addResourceHandler(adminServerProperties.getContextPath() + "/all-modules.js")
            .resourceChain(true)
            .addResolver(new ResourcePatternResolvingResourceResolver(resourcePatternResolver,
                    "classpath*:/META-INF/spring-boot-admin-server-ui/*/module.js"))
            .addResolver(new PreferMinifiedFilteringResourceResolver(".min"))
            .addResolver(new ConcatenatingResourceResolver(";\n".getBytes()));

因此请确保您的 js / css 资源已添加到 /META-INF/spring-boot-admin-server-ui/etc。并具有正确的名称:module.js 和 module.css

UPDATE 看起来,不可能添加额外的选项卡来将您的自定义插件注入其中。至少不是i.c.w。 Angular,喜欢默认插件。这主要是因为 SBA 的所有模块和 js 依赖项在构建过程中都被缩小了,但自定义的不是,所以你会得到 JS 错误,如:

require isn't defined

在自定义 module.js 的下一行:

var angular = require('angular');

所以我目前看到的唯一方法是分叉整个 SBA 项目并复制一个默认插件作为您自己的起点(例如 applications-metrics)