Spring Boot アクチュエータのエンドポイントとは何ですか
私たちは日常生活の中で、さまざまなアプリケーションを使用することがよくあります。これらのアプリケーションには、モバイル アプリケーション、コンピュータ ソフトウェア、または Web 上で使用するさまざまなサービスが含まれます。しかし、これらのアプリケーションがどのように動作するか疑問に思ったことはありますか?どのようにして安定した状態を維持できるのでしょうか?問題が発生した場合、問題の原因をどのように調べればよいでしょうか?
これは、Spring Boot Actuator の Endpoint が解決する問題です。 Spring Boot Actuator は、アプリケーションを監視および管理する簡単な方法を提供する Spring Boot のサブプロジェクトです。 EndpointはActuatorが提供するインターフェースであり、このインターフェースを通じてアプリケーションの健全性状態、アプリケーションのパフォーマンスデータ、アプリケーションのログ情報など、アプリケーションに関する様々な情報を取得することができます。
Spring Boot アクチュエーターの共通エンドポイント
Spring Boot Actuator は多くのエンドポイントを提供します。一般的なエンドポイントのいくつかを見てみましょう。
/健康
Spring Boot Actuator/health
エンドポイントは、アプリケーションの正常性情報を提供する非常に重要な機能です。このエンドポイントは、ディスク領域、データベース接続、メッセージ キューなどのステータスを含む、アプリケーションのさまざまな正常性メトリックを表示できます。デフォルトでは、機密情報の漏洩を防ぐために、 status
情報のみが表示されます。ただし、 プロパティmanagement.endpoint.health.show-details
を構成することで、詳細な健康情報を表示できます。
/health
エンドポイントの戻り情報は、status
フィールドと details
フィールドを含む JSON オブジェクトです。 status
フィールドは、アプリケーションの全体的な正常性ステータスを表します。可能な値は、 UP
(正常)、DOWN
(異常) です。 、 (異常)、 a> フィールドには、各健康指標に関する詳細情報が含まれます。 (不明なステータス) など。 OUT_OF_SERVICE
(サービス利用不可)、UNKNOWN
details
エンドポイント/health
を通じて、アプリケーションの健全性ステータスをすぐに把握できます。これは、アプリケーションの監視と保守に非常に役立ちます。同時に、このエンドポイントは外部システム (ロード バランサーやコンテナ オーケストレーション システムなど) によって使用され、アプリケーションの正常性をチェックして、トラフィックをアプリケーションにルーティングするかどうかを決定することもできます。
/メトリクス
/metrics エンドポイントは、アプリケーションのパフォーマンス データを提供します。このエンドポイントを通じて、リクエストの応答時間、メモリ使用量、CPU 使用率など、アプリケーションのさまざまなパフォーマンス指標を知ることができます。このデータは、アプリケーションのパフォーマンスを最適化し、アプリケーションの安定性を向上させるために非常に重要です。
/ロガー
/loggers エンドポイントは、アプリケーション ログ情報を提供します。このエンドポイントを通じて、アプリケーションのログを表示し、アプリケーションの動作中に問題を見つけることができます。たとえば、/loggers を使用すると、アプリケーションにエラーがあるかどうか、アプリケーションのどの部分に問題があるのか、問題の原因は何かなどを確認できます。
/情報
Spring Boot Actuator の/info
エンドポイントは、アプリケーション情報を取得するために使用されるエンドポイントです。このエンドポイントはデフォルトで有効になっており、バージョン番号、Git コミット情報、ビルド情報など、さまざまなアプリケーションに関するメタ情報を提供できます。この情報は構成ファイルを通じてカスタマイズできます。
デフォルトでは、/info
エンドポイントには情報が表示されない場合があります。ただし、 spring-boot-starter-actuator
などの特定のプラグインをビルド構成に追加すると、 /info
エンドポイントに追加情報を表示できます。たとえば、Maven または Gradle ビルド ファイルで spring-boot-starter-actuator
が有効になっている場合、 /info
エンドポイントにはアプリケーションのバージョン番号、説明などの情報が表示されます。アプリケーション、Git ブランチ、コミット ID など。
また、application.properties
または application.yml
ファイルに info.*
属性を追加することで カスタマイズすることもできます。 /info
エンドポイント。たとえば、 info.app.name
プロパティと info.app.version
プロパティを追加して、アプリケーションの名前とバージョンを表示できます。
一般に、Spring Boot アクチュエータの/info
エンドポイントは、アプリケーションのメタ情報を取得して表示する簡単かつ効果的な方法を提供します。これは、Spring Boot アプリケーションの監視と管理に役立ちます。 。 非常に便利。
/豆
/beans エンドポイントは、アプリケーションの Spring Beans 情報を提供します。このエンドポイントを通じて、アプリケーション内のすべての Spring Bean だけでなく、これらの Bean のプロパティ、メソッド、依存関係などを知ることができます。この情報は、アプリケーションの内部構造を理解し、アプリケーションの構造を最適化するのに非常に役立ちます。
/ヒープダンプ
/heapdump エンドポイントは、アプリケーションのヒープ メモリ情報を提供します。このエンドポイントを通じて、アプリケーションのヒープ メモリの使用状況を知り、アプリケーションのメモリ リークの問題を見つけることができます。たとえば、/heapdump を使用すると、アプリケーションのヒープ メモリ使用量を確認し、アプリケーションのメモリ リークを見つけて、アプリケーションのメモリ使用量を最適化できます。
/スレッドダンプ
/threaddump エンドポイントは、アプリケーションのスレッド情報を提供します。このエンドポイントを通じて、アプリケーションのスレッドのステータスを知り、アプリケーションのスレッドの問題を見つけることができます。たとえば、/threaddump を使用すると、アプリケーションのスレッドのステータスを確認し、アプリケーションのスレッド ブロックの問題を見つけて、アプリケーションのスレッド使用量を最適化できます。
要約する
Spring Boot Actuator のエンドポイントは、アプリケーションを監視および管理する簡単な方法を提供します。これらのエンドポイントを通じて、アプリケーションに関するさまざまな情報を取得し、アプリケーションの問題を特定し、アプリケーションのパフォーマンスと安定性を最適化できます。開発者であっても、運用保守担当者であっても、Spring Boot Actuator の Endpoint を学習して使用することは、作業に大いに役立ちます。