スプリングブーツアクチュエーター
スプリングブーツアクチュエーター Spring Boot Framework のサブプロジェクトです。これには、Spring Boot アプリケーションの監視と管理に役立つ追加機能が多数含まれています。これには、アクチュエーターのエンドポイント (リソースが存在する場所) が含まれます。使用できます HTTP そして JMX Spring Boot アプリケーションを管理および監視するためのエンドポイント。アプリケーションで本番環境に対応した機能を取得したい場合は、S を使用する必要があります。 pring ブーツアクチュエーター。
スプリングブーツアクチュエーターの特徴
がある 三つ Spring Boot アクチュエーターの主な特徴:
終点: アクチュエーター エンドポイントを使用すると、アプリケーションを監視し、操作することができます。 Spring Boot は、多数の組み込みエンドポイントを提供します。独自のエンドポイントを作成することもできます。各エンドポイントを個別に有効または無効にできます。ほとんどのアプリケーションが選択するのは、 HTTP 、エンドポイントの ID とプレフィックス /アクチュエーター、 URL にマッピングされます。
たとえば、 /健康 エンドポイントは、アプリケーションの基本的な正常性情報を提供します。アクチュエータはデフォルトで次のようにマッピングします。 /アクチュエーター/健康 。
メトリクス: Spring Boot Actuator は、 マイクロメーター 。マイクロメーターは Spring Boot に統合されています。これは、Spring からのアプリケーション メトリクスの配信を強化するインストルメンテーション ライブラリです。ベンダー中立のインターフェイスを提供します。 タイマー、ゲージ、カウンター、配布概要、 そして 長いタスクタイマー 次元データモデルを使用します。
監査: Spring Boot は、イベントを 監査イベントリポジトリ。 spring-security が実行中の場合、認証イベントが自動的に発行されます。
Spring Boot アクチュエータを有効にする
依存関係を注入することでアクチュエーターを有効にできます スプリングブートスターターアクチュエーター pom.xml ファイル内。
org.springframework.boot spring-boot-starter-actuator 2.2.2.RELEASE
Spring Boot アクチュエーター エンドポイント
アクチュエーター エンドポイントを使用すると、Spring Boot アプリケーションを監視し、操作することができます。 Spring Boot には多数の組み込みエンドポイントが含まれており、Spring Boot アプリケーションにカスタム エンドポイントを追加することもできます。
Javaのデフォルトパラメータ
次の表では、広く使用されているエンドポイントについて説明します。
ID | 使用法 | デフォルト |
---|---|---|
アクチュエータ | ハイパーメディアベースの ディスカバリーページ 他のエンドポイントの場合。 Spring HATEOAS がクラスパス上にある必要があります。 | 真実 |
監査イベント | 現在のアプリケーションの監査イベント情報を公開します。 | 真実 |
自動構成 | これは、すべての自動構成候補と、それらが「適用された」または「適用されなかった」理由を示す自動構成レポートを表示するために使用されます。 | 真実 |
豆 | これは、アプリケーション内のすべての Spring Bean の完全なリストを表示するために使用されます。 | 真実 |
構成プロップ | すべての @ConfigurationProperties の照合リストを表示するために使用されます。 | 真実 |
ごみ | スレッド ダンプを実行するために使用されます。 | 真実 |
環境 | Spring の ConfigurableEnvironment からプロパティを公開するために使用されます。 | 真実 |
フライウェイ | これは、適用された Flyway データベース移行を表示するために使用されます。 | 真実 |
健康 | アプリケーションの正常性情報を表示するために使用されます。 | 間違い |
情報 | 任意のアプリケーション情報を表示するために使用されます。 | 間違い |
ロガー | これは、アプリケーション内のロガーの構成を表示および変更するために使用されます。 | 真実 |
リキベース | これは、適用された Liquibase データベース移行を表示するために使用されます。 | 真実 |
メトリクス | 現在のアプリケーションのメトリクス情報を表示するために使用されます。 | 真実 |
マッピング | すべての @RequestMapping パスの照合リストを表示するために使用されます。 | 真実 |
シャットダウン | これは、アプリケーションを正常にシャットダウンできるようにするために使用されます。 | 真実 |
痕跡 | トレース情報を表示するために使用されます。 | 真実 |
Spring MVC の場合、次の追加のエンドポイントが使用されます。
ID | 説明 | デフォルト |
---|---|---|
ドキュメント | これは、アクチュエーターのエンドポイントのリクエストとレスポンスの例を含むドキュメントを表示するために使用されます。 | 間違い |
ヒープダンプ | GZip 圧縮された hprof ヒープ ダンプ ファイルを返すために使用されます。 | 真実 |
ジョロキア | これは、HTTP 経由で JMX Bean を公開するために使用されます (Jolokia がクラスパス上にある場合)。 | 真実 |
ログファイル | ログファイルの内容を返すために使用されます。 | 真実 |
プロメテウス | これは、プロメテウス サーバーによって収集できる形式でメトリクスを公開するために使用されます。これには、micrometer-registry-prometheus への依存関係が必要です。 | 真実 |
Spring Boot アクチュエータのプロパティ
Spring Boot は、すべてのアクチュエーター エンドポイントのセキュリティを有効にします。それは使用しています フォームベースの 提供する認証 ユーザーID ユーザーとして、ランダムに生成された パスワード 。 Basicauth セキュリティをエンドポイントにカスタマイズすることで、アクチュエータで制限されたエンドポイントにアクセスすることもできます。この構成をオーバーライドする必要があるのは、 管理.セキュリティ.ロール 財産。例えば:
management.security.enabled=true management.security.roles=ADMIN security.basic.enabled=true security.user.name=admin security.user.passowrd=admin
スプリングブーツアクチュエータの例
例を通してアクチュエータの概念を理解しましょう。
ステップ1: Spring Initializr を開く https://start.spring.io/ そして、 メイビン プロジェクト。
ステップ2: を提供します。 グループ 名前。私たちが提供したのは、 com.javatpoint。
ステップ 3: を提供します。 アーティファクト 同上。私たちが提供したのは、 スプリングブートアクチュエータの例。
CSS境界線
ステップ 4: 次の依存関係を追加します。 Spring Web、Spring Boot スターター アクチュエーター、 そして Spring Data Rest HAL ブラウザ 。
ステップ5: クリックしてください 生成する ボタン。 「生成」ボタンをクリックすると、プロジェクトに関連するすべての仕様がラップされます。 瓶 ファイルを作成し、ローカル システムにダウンロードします。
ステップ6: Jar ファイルを抽出し、STS ワークスペースに貼り付けます。
ステップ 7: プロジェクトフォルダーをインポートします。
ファイル -> インポート -> 既存の Maven プロジェクト -> 参照 -> フォルダー spring-boot-actuator-example を選択 -> 完了
インポートには時間がかかります。プロジェクトをインポートすると、パッケージ エクスプローラー セクションにプロジェクト ディレクトリが表示されます。
ステップ8: コントローラークラスを作成します。 DemoRestController という名前のコントローラー クラスを作成しました。
DemoRestController.java
package com.javatpoint; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoRestController { @GetMapping('/hello') public String hello() { return 'Hello User!'; } }
ステップ9: を開きます アプリケーションのプロパティ ファイルに次のステートメントを追加して、アクチュエータのセキュリティ機能を無効にします。
アプリケーションのプロパティ
jリスト
management.security.enabled=false
ステップ 10: を実行します。 SpringBootActuatorExampleApplication.java ファイル。
ステップ 11: ブラウザを開いて、URL http://localhost:8080/actuator を呼び出します。次のページが返されます。
{'_links':{'self':{'href':'http://localhost:8080/actuator','templated':false},'health':{'href':'http://localhost:8080/actuator/health','templated':false},'health-path':{'href':'http://localhost:8080/actuator/health/{*path}','templated':true},'info':{'href':'http://localhost:8080/actuator/info','templated':false}}}
アプリケーションはデフォルトでポート 8080 で実行されます。アクチュエーターが起動すると、HTTP 経由で公開されているすべてのエンドポイントのリストが表示されます。
を呼び出してみましょう 健康 URL http://localhost:8080/actuator/health を呼び出してエンドポイントを設定します。ステータスを表します 上 。これは、アプリケーションが正常で、中断されることなく実行されていることを意味します。
同様に、Spring Boot アプリケーションの監視と管理に役立つ他のエンドポイントを呼び出すことができます。
プロジェクトをダウンロード