Search code examples
javaspringspring-mvcspring-bootavailability

Monitoring Spring boot applications : gather service/node availability data for offline reporting


I would like to gather and store data on the availability of the service or node. The day after I could summarize the figures, like { day-1: service = 98.5%; day-2 = 99%}.

I could get the data by calling a simple rest (ping) service (e.g. via Actuator or what). Then I would need to write a custom scheduled application calling the Actuator/ping services.

Is there a simple solution for collecting/storing the availability data? Via Spring Batch?

UPDATE 31-05: I read about Spring Boot Admin. Is this the right solution? See also this introduction.

The data could be extracted and formatted in a CSV, JasperReporting, etc.


Solution

  • I hope that I can help you. I think that what you need is a way of monitoring your applications in a persistent way. You can build your own solution creating a Ping resource and scheduling a client to collect availability information from time to time. But, to no re-invent the wheel, a really suggest you use some professional tool.

    I recommend that you use a Dashboard tool like Grafana to create these reports, and I suggest you try Prometheus to capture monitoring pieces of information.

    I have listed some links below.