Documentation for a newer release is available. View Latest

Indicadores de salud de la aplicación

IPF flo starter proporciona un health actuator respaldado por Spring; este se encarga de actualizar el endpoint de salud de la aplicación.

La salud de la app se construye a partir de indicadores de salud de Spring existentes, es decir, mongo, diskspace, etc., más la salud de los connector transports.

Connector Transports

Los conectores IPF emiten uno de TransportAvailable, TransportUnavailable, TopicUnavailable o CircuitBreakerStateChanged, que luego se convierten en un estado de salud por el ConnectorEventProcessor.

Informes de salud

Informa la salud general de la app agregando todos los indicadores de salud.

{
   "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"
   ]
}

Si no habilitamos health-check se emitirá TransportAvailable por defecto.

Configuración de la aplicación

Para habilitar los endpoints de Spring añade los siguientes habilitadores a tu configuración de aplicación.

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

Liveness

Informa si la app está viva.

{
"status": "UP"
}

Readiness

Informa si la aplicación está lista para procesar datos.

Esto depende de que los transports estén en el contexto de Spring; de lo contrario no se comprobará la disponibilidad de esos transports.

{
"status": "OUT_OF_SERVICE"
}