1.5.10からSpring Boot 2.0.0 RC1に移動しましたが、最新バージョンではアクチュエーターに固執しています。すべてのアクチュエータエンドポイントの公開と有効化を有効にするにはどうすればよいですか?
公開されるエンドポイントは次のとおりです。
{
"_links": {
"self": {
"href": "http://127.0.0.1:8080/actuator",
"templated": false
},
"health": {
"href": "http://127.0.0.1:8080/actuator/health",
"templated": false
},
"info": {
"href": "http://127.0.0.1:8080/actuator/info",
"templated": false
}
}
}
これは私のapplication.properties
ファイルです。何か案は?
#The three first ones seem to be obsolete
endpoints.configprops.enabled=true
endpoints.beans.enabled=true
endpoints.shutdown.enabled=true
management.endpoints.enabled-by-default=true
management.endpoints.sensitive=false
management.endpoints.enabled=true
management.endpoint.configprops.enabled=true
management.endpoint.beans.enabled=true
management.endpoint.shutdown.enabled=true
management.endpoints.web.exposure.include=*
Spring Boot 2.0.0.RC1では、アクチュエータエンドポイントを1)有効にし、2)公開する必要があります。
デフォルトでは、shutdown
を除くすべてのエンドポイントが有効になり、health
とinfo
のみが公開されます。
あなたの場合、以下が機能するはずです:
management.endpoints.web.expose=*
# if you'd like to expose shutdown:
# management.endpoint.shutdown.enabled=true
これは、Spring Boot 2.0.0.RC2の時点で変更されていることに注意してください。
management.endpoints.web.exposure.include=*
# if you'd like to expose shutdown:
# management.endpoint.shutdown.enabled=true
疑いの余地がありますが、 専用の移行ガイド は常に最新の変更に対応しています。
編集
コピーアンドペーストを簡単にするために、「yaml」バージョンを以下に示します-Spring Boot 2.0.0.RC2以降:
management:
endpoints:
web:
exposure:
include: "*"
前:
management:
endpoints:
web:
expose: "*"
Spring Boot 2では、アクチュエータのセキュリティが変更されたことを追加します(1.Xでは、アクチュエータのセキュリティは、ユーザー構成と混在するときに問題を引き起こすことが多い別の構成になっています)。 Spring Boot 2.Xの場合、アクチュエータに個別のセキュリティ設定はありません。 Springのドキュメントによると:
セキュリティのため、/ healthおよび/ info以外のすべてのアクチュエータはデフォルトで無効になっています。 management.endpoints.web.exposeフラグを使用して、アクチュエーターを有効にすることができます。 Spring Securityがクラスパス上にあり、他のWebSecurityConfigurerAdapterが存在しない場合、アクチュエータはSpring Boot自動設定によって保護されます。カスタムのWebSecurityConfigurerAdapterを定義すると、Spring Bootの自動構成が取り消され、アクチュエーターアクセスルールを完全に制御できるようになります。