web-dev-qa-db-ja.com

アクチュエーターですべてのエンドポイントを有効にする方法(Spring Boot 2.0.0 RC1)

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=*
34
Witold Kaczurba

Spring Boot 2.0.0.RC1では、アクチュエータエンドポイントを1)有効にし、2)公開する必要があります。

デフォルトでは、shutdownを除くすべてのエンドポイントが有効になり、healthinfoのみが公開されます。

あなたの場合、以下が機能するはずです:

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: "*"
68
Brian Clozel

Spring Boot 2では、アクチュエータのセキュリティが変更されたことを追加します(1.Xでは、アクチュエータのセキュリティは、ユーザー構成と混在するときに問題を引き起こすことが多い別の構成になっています)。 Spring Boot 2.Xの場合、アクチュエータに個別のセキュリティ設定はありません。 Springのドキュメントによると:

セキュリティのため、/ healthおよび/ info以外のすべてのアクチュエータはデフォルトで無効になっています。 management.endpoints.web.exposeフラグを使用して、アクチュエーターを有効にすることができます。 Spring Securityがクラスパス上にあり、他のWebSecurityConfigurerAdapterが存在しない場合、アクチュエータはSpring Boot自動設定によって保護されます。カスタムのWebSecurityConfigurerAdapterを定義すると、Spring Bootの自動構成が取り消され、アクチュエーターアクセスルールを完全に制御できるようになります。

1
Przemek Nowak