Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring Boot Actuator /health endpoint does not show database or file system information

I cannot get database information or filesystem information to show up on the /health endpoint. I only can get:

{
  "status": "UP"
}

Details about my setup and configuration: - Spring Boot 1.3.3 - Running the WAR on JBoss EAP 6.4 - Datasource is a JNDI resource. - Oracle is the database

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

One thing i found on /configprops is this, which I'm not sure whether it is related:

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

I had tried adding "driver-class-name: oracle.jdbc.driver.OracleDriver" thinking it maybe needed more details, but that didn't change the situation.

so yeah, what gives? I made a vanilla example project which at least shows the filesystem stuff out the gate, so not sure why either don't want to show in my "real" app. Tell me your great and wise answers! :)

like image 620
jeremy simon Avatar asked Apr 05 '16 13:04

jeremy simon


2 Answers

IIUC, the aggregate health is shown under /health, at least (IIUC) for springboot2. Meaning, that even if you have everything configured just right, only one line will be shown.

UPDATE: and if this is not what you need, you have to specifically ask to see details. Check these settings:

management.endpoint.health.show-details=when-authorized
management.endpoint.health.roles=ADMIN
like image 66
Martin Mucha Avatar answered Oct 08 '22 00:10

Martin Mucha


By default Spring sets the below property to never. To be able to see full health details add the below property to your application.properties.

management.endpoint.health.show-details=always
like image 34
saikiran Avatar answered Oct 07 '22 23:10

saikiran