ニュース
Spring Bootユーザーなら知っておきたい「Spring Boot Actuator」 本番環境での運用時にどう役立つ?:Spring Boot Actuatorの活用例とは
「Spring Boot Actuator」はSpringのスタータープロジェクトの一つで、ビルド自動化システム「Grade」のビルドやプロジェクト管理ツール「Maven」のPOMファイルに追加して利用できる。全てのSpring Bootユーザーに推奨したい機能だ。
Spring Boot Actuatorは、メトリクスをリアルタイムに収集分析するエンジンであり、アプリケーション実行時の状態を記録する。開発者は、HTTP経由で公開される多数のActuatorエンドポイントを通じて、アプリケーションの構成やパフォーマンスに関するさまざまな情報を収集できる。
Spring Boot Actuatorのエンドポイント
Spring Boot Actuatorのエンドポイントには次のようなものがある。
- Env:サーバ上でのハードウェアとソフトウェア両方の構成方法に関する情報を提供する
- Health:Spring Bootアプリケーションの準備状況や稼働状況を報告する
- Loggers:アクティブなロギングサービスとその構成済みロギングレベルを報告する
- Configprops:@ConfigurationPropertiesアノテーションで装飾されているオブジェクトを全て表示する
- Conditions:Springによって自動構成するのに必要なチェックに合格したコンポーネントを示す
- Threaddump:アクティブなスレッドとそのブロックステータスを全て示す
- Heapdump:ヒープダンプ分析ツール(「Hprof」など)で読み取ることができるファイルを作成する
- Stop:有効にして公開すると、アプリケーションを終了するために使用できる(デフォルトで無効になっている数少ないエンドポイントの一つ)
Spring Boot Actuatorの全てのエンドポイントの中で最もよく使用されるのが、Metricsだ。Metricsは、実行中のシステムに関する幅広い情報を収集している。以下にその例を示す。
- ガベージコレクションに割り当てられているメモリ
- Java仮想マシン(JVM)メモリの使用量
- アイドル状態のJDBC接続
- ロードされているJavaクラスとアンロードされたJavaクラス
- CPUの使用時間
- 「Tomcat」のアクティブなセッション
- 「Spring Data」のアクティブな接続
Spring Boot Actuatorの活用例
Spring Boot Actuatorのエンドポイントでは、収集されたデータがJSON形式で配信される。データをブラウザで読み取るのは面倒になるとしても、JSON形式により、Webアプリケーションへの統合が非常に容易になる。
そのため、開発チームにアプリケーションの状態を共有するためのダッシュボードを構築する際に、Spring Boot Actuatorを活用できる。主にReactベース、JavaScriptベース、Spring MVCベースのダッシュボードが構築されることが多い。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Spring BootアプリをDockerコンテナ化する方法
Spring BootアプリケーションをDockerコンテナ化すると、テストからデプロイメントまで、ソフトウェア開発ライフサイクルの多くの側面を大幅に簡素化できる。 - Spring BootアプリをAWSにデプロイするには?
TechTargetは「Spring BootアプリをAWSにデプロイする方法」を解説する記事を公開した。クラウドネイティブなアプリケーション開発フレームワークSpring Bootで構築したアプリケーションをECSやFargateを使ってデプロイする手順を紹介する。 - Spring BootとSpring MVCの違い 両者の特徴と使い分けのポイントとは
TechTargetは「Spring BootとSpring MVCの違い」を解説する記事を公開した。Spring Bootは事前構成済みのSpringアプリケーションの作成を可能にするソフトウェア開発アクセラレータであるのに対し、Spring MVCはSpringベースのプロジェクトの選択肢の一つにすぎない。