Spring-Actuatorは、アプリケーション監視用のスプリングブートの統合モジュールです。サーバーの監視をサポートし、アプリケーションにロードされたアプリケーションの構成、環境変数、自動構成レポートなどをより直感的に取得できるようにします。
スプリングアクチュエータを使用します
1. Maven依存関係を紹介します
<! - 監視および管理モジュール - > <依存関係> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-actuator </artifactid> </dependency>
依存関係を導入した後、プロジェクトを開始します。
必要なURLは、プロジェクトの開始時に印刷されます
2018-03-26 23:19:00.169 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[/env/ {name:.*}]、metods = java.lang.object org.springframework.boot.actuate.endpoint.mvc.environmentmvendpoint.value(java.lang.string)
2018-03-26 23:19:00.169 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/env ||/env.json]、methods = java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.170 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[/trace ||/trace.json]、metods= java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.170 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/dump ||/dump.json]、metods = java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.171 Info 6148 --- [Main] Osbaemvc.EndpointhandLermapping:マッピング "{[/auditevents ||/auditevents.json]、methods= [get]、produces= [application/vnd.spring-boot.vsutator.vnd.vnd. public org.springframework.http.responseentity <?
2018-03-26 23:19:00.171 INFO 6148 --- [MAIN] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[/MAPPINGS ||/MMAPPINGS.JSON]、metods= java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.172 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/autoconfig ||/autoconfig.json] Application/json]} "Public Java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.173 INFO 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/metrics/ {name:.*}]、metods= java.lang.object org.springframework.boot.actuate.endpoint.mvc.metricsmvendpoint.value(java.lang.string)
2018-03-26 23:19:00.173 INFO 6148 --- [MAIN] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/Metrics ||/metrics.json]、metods= java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.173 INFO 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[ /pause || /pause.json]、methods= [post]}" public java.lang.object org.springframework.cloud.endpoint.genericpostablemvendpoint.invoke()
2018-03-26 23:19:00.174 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/service-registry/instance-status]、methods = [post]}" org.springframework.cloud.client.serviceregistry.endpoint.serviceregistrististryendpoint.setstatus(java.lang.string)
2018-03-26 23:19:00.174 Info 6148 --- [Main] OSBAEMVC.ENDPOINSANDLERMAPPING:マッピング "{[/service-registry/instance-status]、methods = [get]}" org.springframework.cloud.client.serviceregistry.endpoint.serviceregistristineendpoint.getStatus()
2018-03-26 23:19:00.175 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[/loggers/ {name:.*}]、metods= java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvendpoint.get(java.lang.string)
2018-03-26 23:19:00.175 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[/LOGGERS/ {name:.*}]、metods = [post]、consumes =、application/vnd.spring-boot.VOOT.VOOT.VOOT.VOOT.VOOT.VOT.VOT.VOT.VOT.VOT.VOT.VOT.VOT.BOOT.VOOT.VOOT.VOOT.VOOT.BOOT.BOOT.VOT.VOT.VOOT.VOT.VOOT.VOT.BOOT.VOT.VOOT.VOT.BOOT.ACTUATR Application/json]、生成= [Application/vnd.spring-boot.actuator.v1+json ||。 java.lang.string>)
2018-03-26 23:19:00.175 INFO 6148 --- [MAIN] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[/LOGGERS || /LOGGERS.JSON]、METHODS= java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.176 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/heapdump ||/heapdump.json]、methods =、produces =、produces = application/octet-stream]} org.springframework.actuate.endpoint.mvc.heapdumpmvendpoint.invoke(boolean、javax.servlet.http.httpservletrequest、javax.servlet.servlet.http.httpservletresponse)hova.io.io.io.io.io.ioexceptive、javax.servletecception、javaxcept.servletecception
2018-03-26 23:19:00.176 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[ /refresh || /refresh.json]、methods = [post]}" org.springframework.cloud.endpoint.genericpostablemvendpoint.invoke()
2018-03-26 23:19:00.177 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[ /Resume || /resume.json]、methods = [post]}" public java.lang.object org.springframework.cloud.endpoint.genericpostablemvendpoint.invoke()
2018-03-26 23:19:00.178 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/configprops ||/configprops.json]、methods =、produces = [application/ public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.178 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/archaius ||/archaius.json]、metods= java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.179 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/Health ||/health.json]、methods = java.lang.object org.springframework.boot.actuate.endpoint.mvc.healthmvendpoint.invoke(javax.servlet.http.httpservletrequest、java.security.principal)
2018-03-26 23:19:00.179 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/env]、Methods = [post]}" org.springframework.cloud.context.environment.environmentmanagermvendpoint.value(java.util.map <java.lang.string、java.lang.string>))
2018-03-26 23:19:00.179 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/env/reset]、methods = [post]}" org.springframework.cloud.context.environment.environmentmanagermvendpoint.reset()
2018-03-26 23:19:00.179 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/feature ||/features.json]、methods= java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.180 Info 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[ /RESTART || /RESTART.JSON]、METHODS= [POST]}" org.springframework.cloud.context.restart.restartmvendpoint.invoke()
2018-03-26 23:19:00.181 INFO 6148 --- [Main] OSBAEMVC.ENDPOINTHANDLERMAPPING:マッピング "{[/entity ||/entity.json]、methods = java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.181 INFO 6148 --- [MAIN] OSBAEMVC.ENDPOINTHANDLERMAPPING:MAPPED "{[/INFO || /INFO.JSON]、metods = java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.193 INFO 6148 --- [Main] SWSMAREQUESTMAPPINGHANDLERMAPPING:MAPPED "{[/error]}" "on to public java.util.map <java.lang.string、java.lang.object> org.springframework.boot.actuate.endpoint.mvc.managementerrorendpoint.invoke()
2。YML構成ファイルの構成
(1)ポート番号を構成し、特定の機能モジュールを有効にしない
#developポート番号、そうでない場合、それはサーバーサーバーと同じです。ポート管理:ポート:4321#コンテンツを表示する必要のない関数を削除します。
上記の構成は、構成されたポートがHTTPポート4321であり、 /健康機能が無効であることを示しています。
(2)マッピングパスを変更します
#構成エンドポイントのマッピングIDのパスを実行する:beans:id:entity
上記の構成は、 /豆を /豆に豆を作成するためのパスを変更することを意味します /エンティティ
(3)アクチュエータのセキュリティ構成を構成します
春のセキュリティが必要です
依存関係を紹介します
<! - 登録センターのアクセスアカウント認証 - > <依存関係> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-security </artifactid> </dependency>
アカウントパスワードを構成します:
セキュリティ:基本:#representsアカウントパスワード認証を有効にする有効化:true #configureアカウントとパスワードユーザー:名前:ルートパスワード:123
アカウントパスワードを構成した後、http://127.0.0.1:4321を介してアクセスし、構成されたアカウントとパスワードを入力できます。ブラウザが一度閉じられないときに有効です。
(4)JSON形式で表示メッセージを表示します
JSONフォーマットディスプレイには、読みやすさと美学が向上しています
#Acyuatorによって表示されたパケットをJSONフォーマットスプリング:ジャクソン:シリアル化:インデント出力:true
上記の構成をApplication.ymlファイルに追加します
3。起動クラスの構成
@springbootapplication@enableeurekaserver //このラインアノテーションは、サービスの登録コンポーネントを表します。この注釈は、eurekapublicクラスeurekaserverapplication {public static void main(string [] args){springapplication.run(eurekaserverapplication.class、args)にのみ適用できます。 }}構成なしで実行します
4.いくつかの主要な構成モジュール
| HTTP要求方法 | パス | 説明する |
| 得る | /autoconfig | アプリケーションの自動構成情報を取得するために使用されます |
| 得る | /豆 | アプリケーションコンテキストによって作成されたすべての豆を取得するために使用されます |
| 得る | /configProps | アプリケーションで構成された属性情報レポートを取得します |
| 得る | /env | アプリケーションの利用可能なすべての環境変数属性レポートを取得するために使用されます |
| 得る | /マッピング | すべてのSpringMVCを取得するためのコントローラーマッピング関係レポート |
| 得る | /情報 | アプリケーションのカスタマイズ情報を取得するために使用されます |
(1) /autoconfig
この構成には2つのマスターノードがあります。
positivematches:条件マッチングを成功させるために、自動構成情報を返します
negativematches:条件の一致が失敗したという構成情報を返します
(2) /豆
この構成ファイルは、次のノードを含むApplicationContextアプリケーションコンテキストによってロードされたBeanオブジェクトを表示するために使用されます。
「コンテキスト」:「ブートストラップ」、「親」:null、 "bean":[{"bean": "propertySourceBootStrapConfiguration"、 "Airases":[]、 "Scope": "Singleton"、 "Type": "org.springframework.cloud.bootstrap.config.propertysourcebootconfiguration $$ enthancerbyspringcglib $ 82fdf928"、 "resource": "null"、 "依存関係":[]}]Beansは、アプリケーションコンテキストにロードされたクラスのコレクションで、次のタグが含まれています。
1)、豆:アプリケーションコンテキストによって作成された豆の名前
2)範囲:作成された豆の範囲
シングルトン:シングルトンは、スプリングのデフォルトスコープです
プロトタイプ:各リクエストは新しいインスタンスを生成します。これは新しい操作に相当します
リクエスト:各HTTP要求は新しいインスタンスを生成し、現在のBeanは同じhttprequestでのみ有効です
セッション:同じhttpsesssionで有効です
3)、タイプ:コンテキスト管理に使用される豆の種類
クラスの完全な資格のあるクラス名
4)リソース:クラスファイルへの特定のパス
5)依存関係:依存関係の豆の名前、つまり豆の関連する豆の名前
(3) /configProps:アプリケーションで構成されている属性情報レポートを取得します
以下に2つの子ノードがあります
プレフィックス:属性のプレフィックスを構成します
プロパティ:各プロパティの名前と値を表します
(4) /envは、環境変数、JVM属性、アプリケーション構成情報、コマンドラインのパラメーターなど、アプリケーションコンテキストの環境変数属性レポートを取得するために使用されます。
1)server.portsは、アプリケーションによって構成されたポート番号を表します
2)SystemPropertiesアプリケーションのJVMおよびその他の情報を取得します
(5) /マッピングSpringMVCコントローラーマッピングレポート、
{"{[/error]}":{"bean": "requestmappinghandlermapping"、 "method": "public org.springframework.http.responseentity <java.util.map <java.lang.string、java.lang.object >> org.springframework.boot.autoconfigure.web.basicerrorcontroller.error(javax.servlet.http.httpservletrequest) "}}}1) /エラーは、SpringMVCのマッピングパスを表します
2) /Beanは、プロセッサマッパーマッピングに使用されるクラスを表します
3) /メソッドは、マッピングクラスのメソッドを表します
(6)情報は、application.ymlで構成されたカスタム構成情報を取得するために使用されます
5。メトリックの構成
メトリックによって提供されるレポートコンテンツは動的に変更され、いくつかのスナップショット情報を提供します。メモリ使用量、HTTP要求カウント、外部リソースインジケーター統計など。
(1) /メトリックは、現在適用されているさまざまな重要なメトリックを返します。次の内容があります
1)システム情報:プロセッサ---プロセッサの数
instance.uptime ------実行時間
SystemLoad.Average--システムの負荷平均など。
2)、男性。*:システムメモリの概要情報
3)、ヒープ。*:ヒープメモリの使用
4)、非HEAP。*:非HEAPメモリ使用
5)スレッド。*:スレッドの使用
6)クラス*:クラスの読み込みとアンロード状況
7)、GC。*:ゴミコレクターの詳細
8)、httpsesssion。*:Tomcatなどのコンテナの絵画状況
9)、Magage。*:遅延時間などのマッピング値を返します。
10)、conter。*:カウンターとして使用され、増加と減少量が記録されます
(2) /健康:さまざまな健康指標
メモリに関するいくつかの情報を以下に示します。
"diskspace":{"status": "up"、 "total":21475880960、 "free":8916258816、 "threshold":10485760}(3) /ダンプ:プログラム内のスレッド情報を公開するために使用されます
スレッド名 - 露出したスレッド名
threadid-露出したスレッドIDなど。
(4) /トレース:基本的なHTTP情報を追跡するために使用されます
6.操作制御クラスの構成
(1) /shutdowmは、アプリケーションのリモート操作を閉じるために使用されます - POSTリクエストのため
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。