13

/health エンドポイントに表示されるデータベース情報またはファイルシステム情報を取得できません。私は得ることができます:

{
  "status": "UP"
}

私のセットアップと設定に関する詳細: - Spring Boot 1.3.3 - JBoss EAP 6.4 で WAR を実行 - データソースは JNDI リソースです。- Oracle はデータベースです

spring:
  datasource:
    # Must match the datasource name in JBoss standalone.xml
    jndi-name: java:jboss/beautiful-ds
    driver-class-name: oracle.jdbc.driver.OracleDriver
  jpa:
    properties:
      # escapes reserved words used as column names (if any)
      globally_quoted_identifiers: true
    show-sql: true
    hibernate:
        naming_strategy: org.hibernate.cfg.EJB3NamingStrategy

server:
  servlet-path: /*

management:
  health:
    diskspace:
      enabled: true
    db:
      enabled: true
endpoints.health.sensitive: false

/configprops で見つけたのはこれです。これが関連しているかどうかはわかりません。

  "spring.datasource.CONFIGURATION_PROPERTIES": {
    "prefix": "spring.datasource",
    "properties": {
      "error": "Cannot serialize 'spring.datasource'"
    }

「driver-class-name: oracle.jdbc.driver.OracleDriver」を追加しようとしましたが、もっと詳細が必要かもしれないと思っていましたが、状況は変わりませんでした。

ええ、何が得られますか?私は、少なくともファイルシステムのものを門の外に表示するバニラのサンプルプロジェクトを作成したので、「実際の」アプリに表示したくない理由がわかりません。あなたの偉大で賢明な答えを教えてください!:)

4

5 に答える 5

11

デフォルトでは、Spring は以下のプロパティを に設定しますnever。完全な健康状態の詳細を確認できるようにするには、以下のプロパティを に追加しますapplication.properties

management.endpoint.health.show-details=always
于 2018-03-17T13:54:06.647 に答える
5

Spring セキュリティを使用している場合、アクチュエータ エンドポイントに対してデフォルトでセキュリティが有効になっている場合は、yml ファイルで無効にします -

management:
    security:
           enabled: false
于 2016-09-22T08:00:15.430 に答える
5

spring-bootドキュメントから:

45.6 HealthIndicators によるセキュリティ

多くの場合、HealthIndicators によって返される情報は、ある程度機密性が高いものです。たとえば、データベース サーバーの詳細を世界に公開したくないでしょう。このため、デフォルトでは、認証されていない HTTP 接続を介してヘルス ステータスのみが公開されます。完全なヘルス情報が常に公開されることに満足している場合は、endpoints.health.sensitive を false に設定できます。「サービス拒否」攻撃を防ぐために、ヘルス応答もキャッシュされます。1000 ミリ秒のデフォルトのキャッシュ期間を変更する場合は、endpoints.health.time-to-live プロパティを使用します。

次のプロパティが設定されていることを確認してください。

endpoints.health.sensitive=true # Mark if the endpoint exposes sensitive information.
management.health.db.enabled=true # Enable database health check.
management.health.defaults.enabled=true # Enable default health indicators.
management.health.diskspace.enabled=true # Enable disk space health check.
于 2016-04-05T15:28:22.937 に答える