2016-04-05 14 views
8

Ich kann keine Datenbankinformationen oder Dateisysteminformationen auf dem/health-Endpunkt anzeigen. Ich kann nur erhalten:Spring Boot Actuator/Health-Endpunkt zeigt keine Datenbank- oder Dateisysteminformationen an

{ 
    "status": "UP" 
} 

Details zu meinem Setup und Konfiguration: - Frühling-Boot 1.3.3 - Ausführen des IST auf JBoss EAP 6.4 - Datenquelle ist eine JNDI Ressource. - Oracle die Datenbank

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 

Eine Sache, die ich auf/configprops dies gefunden ist, was ich bin nicht sicher, ob es sich bezieht:

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

ich versucht hatte, fügte hinzu: „Fahrer-Klassen- Name: oracle.jdbc.driver.OracleDriver "dachte, dass es vielleicht mehr Details benötigt, aber das änderte nichts an der Situation.

also ja, was gibt's? Ich habe ein Vanille-Beispielprojekt gemacht, das zumindest die Dateisystem-Dateien aus dem Gate zeigt, also nicht sicher, warum sie nicht in meiner "echten" App erscheinen wollen. Sag mir deine großen und weisen Antworten! :)

Antwort

0

Sie haben YAML- und Eigenschaftensyntax in Ihrer Konfigurationsdatei gemischt. Ersetzen Sie die letzte Zeile durch die folgenden, und es sollte funktionieren:

endpoints: 
    health: 
     sensitive: false 
+0

schätze ich die Antwort, aber es glauben oder nicht, Ich bin in der Lage, diesen Wert ohne Problem mithilfe dieser Eigenschaftensyntax umzuschalten. Das Ändern dieser Zeile in das YAML-Format verhält sich genauso. Keine neuen Ergebnisse auf Heide. –

+0

Haben Sie die Sicherheit aktiviert? – dunni

+0

Ich benutze den Keycloak Adapter für den Spring Boot. Ich kann alle meine Endpunkte gut erreichen. –

3

Von der spring-boot Dokumentation:

45,6 Sicherheit mit HealthIndicators

Informationen von HealthIndicators zurück in der Natur oft etwas empfindlich ist. Zum Beispiel, Sie wahrscheinlich nicht Details Ihres Datenbankservers zu der Welt veröffentlichen möchten. Aus diesem Grund ist standardmäßig nur der Integritätsstatus über eine nicht authentifizierte HTTP-Verbindung verfügbar. Wenn Sie sich für vollständige Gesundheitsinformationen freuen, die Ihnen immer zur Verfügung stehen, können Sie endpoints.health.sensitive auf false setzen. Health-Antworten werden auch zwischengespeichert , um "Denial of Service" -Angriffe zu verhindern. Verwenden Sie die Eigenschaft endpoints.health.time-to-live , wenn Sie die Standard-Cache-Periode von 1000 Millisekunden ändern möchten.

Stellen Sie sicher, dass folgende Eigenschaften festgelegt sind.

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. 
3

In den Fällen, wenn Sie Feder Sicherheit verwenden, dann standardmäßig wird die Sicherheit für Aktor-Endpunkte aktiviert ist, deaktivieren Sie es in Ihrem yml Datei -

management: 
    security: 
      enabled: false 
Verwandte Themen