2017-03-03 10 views
-1

私はかなり新しいSpringです。サービスからのカスタム情報をSpringブート管理サーバーのダッシュボードに統合しようとしています。SpringBoot Admin Serverにカスタムタブを追加する

出荷時、マイクロサービス用のSpringブート管理サーバーダッシュボードには、Details,Metricsなどのタブが含まれています。私は1つ以上のカスタムタブを追加する必要があります。私は私のサービスの1つに、thisの記事に従って作成したダミーのエンドポイント(将来はカスタムタブを提供する)を提供しています。このエンドポイントはactuator.Endpointクラスを拡張します。

サーバーとUIの両方でSpring Boot Admin' Githubを調べましたが、カスタムエンドポイントを統合する方法が見つかりませんでした。

何か助けていただければ幸いです。ありがとう

+0

"カスタムエンドポイントを統合できません"?それはどういう意味ですか?どんな種類のエラーやメッセージを受け取ったのですか? UIはどのように見えましたか? – Makoto

+0

私は正しい言葉を選ぶべきだったかもしれませんが、私の意図したことは... "しかし、カスタムエンドポイントを統合する方法を見つけることができませんでした。 –

答えて

2

現在、それに関するドキュメントはありません。それは可能です。 spring-boot-admin-server-ui-activitiモジュールを見てください。新しいエンドポイント用のタブが追加されます。 @joshisteに加えて

0

あなたのリソースが正しいディレクトリに追加されていることを確認することによって、カスタムプラグインを作成することができます。

管理プロジェクトは、次のディレクトリを探します:

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 /春-ブート管理サーバ-UIの/ etcに追加されます。正しい名前を持っている:module.jsとmodule.css

UPDATEカスタムプラグインを挿入するために余分なタブを追加することはできないようです。少なくともi.c.w. Angular、デフォルトのプラグインと似ています。これは、SBAのすべてのモジュールとJSの依存関係がビルドプロセスに縮小されているという事実に主ですが、あなたのようなJSエラー得られますので、カスタム1ではありません。

の次の行に
require isn't defined 

をカスタムmodule.js:

var angular = require('angular'); 

は、だから私は今のところ見唯一の方法は、全体SBAプロジェクトをフォークし、自分の出発点として、デフォルトのプラグインのいずれかをコピーしている(例えばアプリケーション・メトリック)

関連する問題