2

我对春天很陌生。我正在尝试将来自服务的自定义信息集成到 Spring Boot Admin 服务器仪表板中。

开箱即用,微服务的 Spring Boot 管理服务器仪表板包含用于DetailsMetrics.. 等的选项卡。我需要添加一个或多个自定义选项卡。我有一个服务提供一个虚拟端点(将来会为自定义选项卡提供服务),这是我按照本文创建。这个端点扩展了actuator.Endpoint类。

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

任何形式的帮助表示赞赏。谢谢

4

2 回答 2

3

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

于 2017-03-05T08:03:27.353 回答
0

除了@joshiste:

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

admin 项目查找以下目录:

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

更新看起来,不可能添加一个额外的选项卡来注入你的自定义插件。至少不是icw Angular,就像默认插件一样。这主要是因为 SBA 的所有模块和 js 依赖项在构建过程中都被缩小了,但自定义的没有,所以你会得到 JS 错误,例如:

require isn't defined

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

var angular = require('angular');

所以我现在看到的唯一方法是分叉整个 SBA 项目并复制一个默认插件作为你自己的起点(例如应用程序指标)

于 2017-06-29T10:05:34.703 回答