springboot管理及び監視の端点
5215 ワード
最初のページに戻ります
目次
前言
エンドポイントのオープン
端点の暴露ルール
前言
springbootの管理モニタには以下の依存性を追加する必要があります。
エンドポイントのオープン
actuatはspringboot生産準備のための監視機能です。これはデフォルトでは、springプログラムの実行中のいくつかのエンドポイント状態をオンして取得することができます。
デフォルトではどのようなエンドポイント状態が得られますか?以下のとおりです
端点
説明
開くかどうか
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
はい、
ありません
はい、
webプログラムには以下の点も追加されています。
はい、
はい、
はい、
はい、
ここのエンドポイントはshutdown以外はデフォルトでオープンしました。それなら、urlを通じてアクセスしてエンドポイント情報を得ることができます。
たとえば、中のhealthエンドポイントは、あなたが訪問することができます。http://localhost:8080/actuator/healthプログラム全体が健康かどうかを知ることができます。
たとえば、中の
これらの端点はweb訪問時のurlは直接に/actuat/後ろに端点の名前をつければいいです。直接アクセスhttp://localhost:8080/actuatorどのようなエンドポイントがwebで利用できるかを確認します。
私たちは上の例を詳しく調べてみます。http://localhost:8080/actuatorで、その赤いマークの端点については、health端点とinfo端点しか使えないようです。はい、確かにそうです。だから、mappingsを訪問する時404です。なぜですか?
これらの端点は開いていますが、内部には確かに敏感な情報が含まれていますので、デフォルトはwebでは公開されていません。
端点の暴露ルール
端の露出方向は二つあります。一つはJMX(MBean方向、これは言いません。)で、もう一つはwebを通じてです。ルールは以下の通りです
端点
JMX
WEB
No.
No.
No.
No.
No.
No.
No.
はい
No.
No.
はい
No.
No.
No.
No.
No.
No.
No.
No.
No.
No.
No.
No.
ウェブで見られるのは
でも大丈夫です。私達はappication.propertiesで暴露ルールを設定できます。
だから、私たちはもう一度ブラウザで見たら、発見しました。http://localhost:8080/actuator/mappingsはい、見ることができます。healthも見ることができますが、infoは確認できません。
このように設定することもできます。
このようにウェブでエンドポイントを検索すると、サーバーの状況を簡単に知ることができます。
目次
前言
エンドポイントのオープン
端点の暴露ルール
前言
springbootの管理モニタには以下の依存性を追加する必要があります。
org.springframework.boot
spring-boot-starter-actuator
2.1.4.RELEASE
この時もしSprigbootを起動したら、訪問:http://localhost:8080/actuator応答があるのは以下の通りです。{
"_links": {
"self": {
"href": "http://localhost:8080/actuator",
"templated": false
},
"health": {
"href": "http://localhost:8080/actuator/health",
"templated": false
},
"health-component": {
"href": "http://localhost:8080/actuator/health/{component}",
"templated": true
},
"health-component-instance": {
"href": "http://localhost:8080/actuator/health/{component}/{instance}",
"templated": true
},
"info": {
"href": "http://localhost:8080/actuator/info",
"templated": false
}
}
}
これを見て、みんながぼんやりしていることを信じて、焦らないでください。続いて教程に従って歩いて、あなたを連れてこれが一体何ですか?どういうことですか?何ができますかエンドポイントのオープン
actuatはspringboot生産準備のための監視機能です。これはデフォルトでは、springプログラムの実行中のいくつかのエンドポイント状態をオンして取得することができます。
デフォルトではどのようなエンドポイント状態が得られますか?以下のとおりです
端点
説明
開くかどうか
auditevents
現在のアプリケーションの審査イベント情報を公開します。はい、
beans
アプリケーション内のすべてのSpring beanの完全なリストが表示されます。はい、
caches
利用可能なキャッシュを暴露します。はい、
conditions
設定と自動構成クラスで評価された条件と、それらの整合または不一致の原因を表示します。はい、
configprops
すべての整理リスト@ConfigurationProperties
が表示されます。はい、
env
Springが露出している属性ConfigurableEnvironment
。はい、
flyway
適用された任意のFlywayデータベースの遷移を表示します。はい、
health
アプリケーション健康情報を表示します。はい、
httptrace
HTTPトレース情報(デフォルトでは最後の100個のHTTP要求−応答交換)が表示されます。はい、
info
任意のアプリケーション情報を表示します。はい、
integrationgraph
Spring Integrationを表示します。はい、
loggers
アプリケーションにおけるレコーダの構成を表示および変更します。はい、
liquibase
適用された任意のLiquibaseデータベースの遷移を表示します。はい、
metrics
現在のアプリケーションの指標情報が表示されます。はい、
mappings
全@RequestMapping
パスの整理リストが表示されます。はい、
scheduledtasks
アプリケーションに計画されたタスクが表示されます。はい、
sessions
Spring Sessionでサポートされているセッションストアからユーザセッションの検索と削除を許可します。レスポンス式WebアプリケーションへのSpring Sessionのサポートは利用できません。はい、
shutdown
アプリケーションを正常に閉じます。ありません
threaddump
スレッドダンプを実行します。はい、
webプログラムには以下の点も追加されています。
heapdump
hprof
スタックのダンプファイルを返します。はい、
jolokia
JMX beanはHTTPで公開されています。はい、
logfile
ログファイルの内容を返します。設定されている場合はlogging.file
またはlogging.path
属性です。HTTPの使用に対応 Range
ヘッダーは、部分ログファイルの内容を検索する。はい、
prometheus
プロメザスサーバでキャプチャできる形式で指標を公開します。はい、
ここのエンドポイントはshutdown以外はデフォルトでオープンしました。それなら、urlを通じてアクセスしてエンドポイント情報を得ることができます。
たとえば、中のhealthエンドポイントは、あなたが訪問することができます。http://localhost:8080/actuator/healthプログラム全体が健康かどうかを知ることができます。
たとえば、中の
mappings
エンドポイントは、訪問できます。http://localhost:8080/actuator/mappings mappings
は、ウェブプログラム全体のRequest Mappingを知ることができる。(でも、それは不可能です。404を絶対に見て、次を見てください。)これらの端点はweb訪問時のurlは直接に/actuat/後ろに端点の名前をつければいいです。直接アクセスhttp://localhost:8080/actuatorどのようなエンドポイントがwebで利用できるかを確認します。
私たちは上の例を詳しく調べてみます。http://localhost:8080/actuatorで、その赤いマークの端点については、health端点とinfo端点しか使えないようです。はい、確かにそうです。だから、mappingsを訪問する時404です。なぜですか?
これらの端点は開いていますが、内部には確かに敏感な情報が含まれていますので、デフォルトはwebでは公開されていません。
端点の暴露ルール
端の露出方向は二つあります。一つはJMX(MBean方向、これは言いません。)で、もう一つはwebを通じてです。ルールは以下の通りです
端点
JMX
WEB
auditevents
はいNo.
beans
はいNo.
caches
はいNo.
conditions
はいNo.
configprops
はいNo.
env
はいNo.
flyway
はいNo.
health
はいはい
heapdump
N/ANo.
httptrace
はいNo.
info
はいはい
integrationgraph
はいNo.
jolokia
N/ANo.
logfile
N/ANo.
loggers
はいNo.
liquibase
はいNo.
metrics
はいNo.
mappings
はいNo.
prometheus
N/ANo.
scheduledtasks
はいNo.
sessions
はいNo.
shutdown
はいNo.
threaddump
はいNo.
ウェブで見られるのは
health info . 。
だけです。でも大丈夫です。私達はappication.propertiesで暴露ルールを設定できます。
management.endpoints.web.exposure.include=health,mappings
以上のように、healthとmappingsを公開しましたが、infoがありません。だから、私たちはもう一度ブラウザで見たら、発見しました。http://localhost:8080/actuator/mappingsはい、見ることができます。healthも見ることができますが、infoは確認できません。
このように設定することもできます。
management.endpoints.web.exposure.include = *
management.endpoints.web.exposure.exclude = env,beans
すべてを公開しますが、envとbeansは公開しません。このようにウェブでエンドポイントを検索すると、サーバーの状況を簡単に知ることができます。