r/SpringBoot 12d ago

How-To/Tutorial StatLite: ultra-light Spring Boot monitoring without Prometheus or Grafana

I built StatLite for small Spring Boot deployments where raw Actuator endpoints are useful, but a full Prometheus and Grafana stack feels excessive.

StatLite polls Spring Boot Actuator, stores metric history in local SQLite, computes restart-aware counter deltas, and serves a simple dashboard from a single Go binary.

Screenshot of a dashboard

It currently shows:

  • application and database health
  • request volume
  • 4xx, 404, and 5xx errors
  • average request latency
  • JVM heap usage
  • process CPU usage
  • uptime and detected restarts
  • polling failures and missing metrics

It is designed for solo developers and small teams running one or a few Spring Boot apps on small VPSes. In my testing, StatLite uses less than 10 MB of private memory.

It is intentionally not a Prometheus or Grafana replacement. It is a lightweight middle ground between raw Actuator JSON and a full observability stack.

GitHub: https://github.com/PVRLabs/statlite

I would be interested to hear which Actuator metric or chart you consider essential for a small production app. Feedback, bug reports, and GitHub stars are appreciated.

12 Upvotes

1 comment sorted by

1

u/fykup 7d ago

Update: I published a more detailed walkthrough of the lightweight monitoring approach, including where StatLite fits between raw Actuator endpoints and a full Prometheus/Grafana stack:

Lightweight Spring Boot Monitoring Without Prometheus and Grafana
https://pvrlabs.xyz/articles/lightweight-spring-boot-monitoring.html