StatLite provides lightweight, self-hosted application monitoring for apps running on VPSs and small servers. One Go binary polls multiple applications, stores metrics locally in SQLite, and provides built-in historical charts, without requiring Prometheus or Grafana.
🌐 Website · 👀 Interactive demo
Main application dashboard for the Spring target.
StatLite supports Spring Boot, Quarkus, and Micronaut integrations, and other applications through a small, fixed JSON metrics endpoint. It collects traffic, latency, CPU, memory, optional application health, and optional host metrics. Metrics and history stay on your server, without continuously sending application metrics to a third-party monitoring SaaS.
StatLite is built for resource-constrained servers. Low memory, CPU, disk, and operational overhead are treated as product constraints.
Learn how to set up lightweight Spring Boot monitoring without Prometheus and Grafana.
StatLite focuses on predefined application and host metrics with built-in charts. See monitoring options for capabilities, limitations, and tradeoffs.
Install the latest release on macOS or Linux:
curl -fsSL https://raw.githubusercontent.com/PVRLabs/statlite/main/install.sh | shFollow any PATH instructions printed by the installer.
Or install with Homebrew:
brew install pvrlabs/tap/statliteFor Windows, see the Windows guide.
See Installation for supported platforms, custom install locations, source builds, and server-wide Linux setup.
On macOS or Linux, curl and Homebrew install only the binary. First save the
self-monitoring configuration
as statlite.yaml in your current directory, then run:
statliteOpen http://127.0.0.1:9090. This configuration monitors StatLite itself; allow a few polling intervals for history to appear.
Run StatLite using the official Docker image (linux/amd64 and linux/arm64):
docker run --rm \
-p 127.0.0.1:9090:9090 \
docker.io/pvrlabs/statlite:latestOpen http://127.0.0.1:9090. This monitors StatLite itself; history is discarded when the container is removed.
See the Docker guide for monitoring applications, persistent storage, and networking.
If StatLite is already running, press Ctrl+C before continuing.
With the native executable, inspect a running Spring Boot application with Actuator health and metrics exposed (see the Spring Boot quickstart):
statlite inspect 'http://localhost:8080' --create-config ./spring.yaml
statlite --config ./spring.yamlOpen http://127.0.0.1:9090. Send some requests to your application and allow a few polling intervals to see traffic, latency, and JVM memory.
For other frameworks, existing configurations, and manual setup, see Configuration and Supported integrations.
Important
StatLite has no built-in dashboard or API authentication. Review the server and access guidance before exposing it remotely.
For applications behind Caddy, configure native Caddy HTTP monitoring with an exact metrics URL and host. It observes HTTP traffic without application instrumentation.
StatLite collects application health, traffic, latency, CPU, and memory metrics, depending on the integration.
- Spring Boot: Actuator health, request metrics, JVM heap, process CPU, and optional host metrics. Supports Micrometer Prometheus and Actuator JSON.
- Quarkus: Request, latency, CPU, JVM heap, and process metrics through Micrometer Prometheus/OpenMetrics. Optional SmallRye Health.
- Micronaut: Request, latency, CPU, JVM heap, and process metrics through Micrometer Prometheus. Optional management health.
- StatLite Metrics v1: A small JSON endpoint
for applications in any language. Integration guides cover
FastAPI, Express, Django, Go
net/http, and Gin.
StatLite and its integration helpers send no telemetry to external collection services. StatLite polls your configured endpoints, and metrics remain under your control.
See Supported integrations for details.
- Installation
- Windows guide
- Configuration
- Supported integrations
- Application integration guides
- External API v1
- Documentation index
MIT