概要
Spring Boot Monitoringのコアは、Spring-Boot-Starter-Actuatorの依存関係です。依存関係を追加した後、Spring Bootは、JVMモニタリング、クラスの読み込み、健康監視など、デフォルトでいくつかの一般的な監視を構成します。
Dockerコンテナの視覚的監視、つまり、CPUの使用、メモリ使用、ネットワークステータス、ディスクスペース、その他の情報など、コンテナの動作を監視することについて説明しました。スプリングブートをマイクロサービスユニットのインスタンス化テクノロジーとして選択する場合、私たちが直面しなければならない避けられない問題の1つは、ヘルス、操作指標、ログ情報、スレッドステータスなど、アプリケーションの健康状態データをリアルタイムで監視する方法です。この記事では、問題を調査し、実験プロセスを記録します。
始めましょう:アクチュエータプラグイン
Actuatorプラグインは、Springbootがネイティブに提供するサービスです。エンドポイントルートを公開することにより、アプリケーションに多くのエンドポイント情報を出力するために使用できます。実践的な戦いをしてください!
pom.xmlに依存関係を追加:
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-actuator </artifactid> </dependency>
Spring Bootアプリケーションを開始した後、ブラウザにエンドポイント情報を入力するだけで、アプリケーションのステータス情報を取得できます。
一般的なエンドポイントは次のようにリストされています。詳細に試すことができます。
もちろん、現時点では /健康と /情報のエンドポイントのみを使用でき、許可の問題により他のエンドポイントにアクセスできません。指定されたエンドポイントにアクセスする場合は、YML構成に関連する構成アイテムを追加できます。たとえば、 /Metricsエンドポイントを構成する必要がある場合:
エンドポイント:メトリック:センシティブ:false
この時点で、ブラウザは /メトリックエンドポイントにアクセスし、以下に示すような情報を取得できます。
{"mem":71529、 "mem.free":15073、 "processors":4、 "instance.uptime":6376、 "uptime":9447、 "systemload.aberage":-1.0、 "heap.committed":48024、 "heap.init":16384、 "30684、" 30684、 "30684、" 30684 「nonheap.committed」:23840、 "nonheap.init":160、 "nonheap.used":23506、 "nonheap":0、 "threads.peak":25、 "threads.daemon":23、 "totalStarted":28、 "swreetss:25、" classes ":6129、" 6129 「gc.copy.count ":74、" gc.copy.time ":173、" gc.marksweepcompact.count ":3、" gc.marksweepcompact.time ":88、" httpsessions.max ":-1、" httpsessions.active:0}もちろん、すべてのエンドポイント権限を有効にすることもできます。次のように構成するだけです。
エンドポイント:敏感:false
Actuatorプラグインによって提供される監視機能は結局制限されており、UIは比較的単純であるため、より成熟したツールが必要です。
スプリングブート管理監視システム
SBAは、アクチュエータインターフェイスのUI美化とパッケージングの監視ツールであるアクチュエータに基づいてさらに進化しています。実験しましょう。
まず、Spring Boot Admin Server Projectをサーバーとして作成します
次の依存関係をpom.xmlに追加します。
<Dependency> GroupId> de.CodeCentric </groupId> <artifactid> spring-boot-admin-server </artifactid> <バージョン> 1.5.7 </version> </dependency> <sependency> <shentency> <groupid> <バージョン> 1.5.7 </version> </dependency>
次に、アプリケーションメインクラスに注釈を追加して、スプリングブート管理者を有効にします
@enableadMinserver@SpringBootApplicationPublic Class SpringBtadMinserverApplication {public static void main(string [] args){springApplication.run(springbtadminserverapplication.class、args); }}プログラムを開始し、ローカルホストを開きます:8081ブラウザでSpring Boot Admin Mainページを表示します。
スプリングブート管理ホームページ
この時点で、アプリケーション列は空で、アプリケーションが監視されるのを待っています
監視するスプリングブートアプリを作成します
pom.xmlに次の依存関係を追加します
<Dependency> <GroupId> de.CodeCentric </groupId> <ArtifActid> spring-boot-admin-starter-client </artifactid> <バージョン> 1.5.7 </version> </dependency>
次に、YML構成に次の構成を追加し、アプリケーションを管理サーバーに登録します。
春:ブート:管理者:url:http:// localhost:8081クライアント:名前:admintest
クライアントアプリケーションが開始されるとすぐに、管理サービスはすぐにメッセージをプッシュし、Asmintestがオンラインであることを伝えました。
オンラインでメッセージをプッシュするアプリ
この時点で、メインの管理インターフェイスにアクセスして、クライアントアプリケーションが実際に登録されていることを確認して確認します。
クライアントアプリケーションが登録されています
詳細を表示します
詳細情報
メトリックを表示します
メトリック情報
環境を表示します
環境情報
JMXを表示します
JMX情報
スレッドを表示します
スレッド情報
トレースと詳細を表示します
トレース情報
トップジャーナルをクリックすると、監視されているアプリケーションのイベントの変更が表示されます。
アプリケーションイベントの変更情報
図では、アプリケーションが登録のステータスからジャンプしていることを明確に見ることができます→不明→UP。
これにより、SBAのアクチュエータプラグインが提供するすべてのエンドポイント情報を試します。
参照
http://codecentric.github.io/spring-boot-admin/1.5.7/
要約します
上記は、この記事のコンテンツ全体です。この記事の内容には、すべての人の研究や仕事に特定の参照値があることを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。