Documentation for a newer release is available. View Latest
Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

Application Health Indicators

IPF flow starter provides a spring backed health actuator, this is responsible for updating the health endpoint of the application.

The health of the app is built up from existing spring health indicators, i.e. mongo, diskspace, etc., plus the health of the connector transports.

Connector Transports

The IPF connectors emit one of TransportAvailable, TransportUnavailable, TopicUnavailable or CircuitBreakerStateChanged which are then converted into a health state by the ConnectorEventProcessor.

Health Reports

Reports the general health of the app by aggregating all health indicators.

{
   "status":"UP",
   "components":{
      "akkaClusterMembership":{
         "status":"UP"
      },
      "connectors":{
         "status":"UP",
         "details":{
            "FraudSendKAFKA":{
               "connectorName":"Fraud",
               "status":{
                  "status":"UP"
               },
               "circuitBreakerState":"CLOSED",
               "circuitBreakerClosed":true
            },
            "KafkaReceiveConnectorTransport":{
               "connectorName":"ExecutePaymentRequestReceive",
               "status":{
                  "status":"UP"
               },
               "circuitBreakerState":"CLOSED",
               "circuitBreakerClosed":true
            },
            "KafkaSendConnectorTransport":{
               "connectorName":"ExecutePaymentSend",
               "status":{
                  "status":"UP"
               },
               "circuitBreakerState":"CLOSED",
               "circuitBreakerClosed":true
            },
            "FraudReceiveConnectorTransport":{
               "connectorName":"FraudReceive",
               "status":{
                  "status":"UP"
               },
               "circuitBreakerState":"CLOSED",
               "circuitBreakerClosed":true
            }
         }
      },
      "diskSpace":{
         "status":"UP",
         "details":{
            "total":368110161920,
            "free":78524358656,
            "threshold":10485760,
            "exists":true
         }
      },
      "livenessState":{
         "status":"UP"
      },
      "mongo":{
         "status":"UP",
         "details":{
            "version":"4.4.4"
         }
      },
      "ping":{
         "status":"UP"
      },
      "readinessState":{
         "status":"UP"
      }
   },
   "groups":[
      "liveness",
      "readiness"
   ]
}

If we don’t enable health-check it will raise TransportAvailable by default.

Application Configuration

To enable spring endpoints add the following enablers to your application config.

management.endpoint.health.probes.enabled=true
management.health.livenessState.enabled=true
management.health.readinessState.enabled=true

Liveness

Reports whether the app is alive.

{
"status": "UP"
}

Readiness

Reports whether application is ready to process data.

This relies on the transports being in the spring context otherwise the readiness of those transports is not checked.

{
"status": "OUT_OF_SERVICE"
}