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