A lightweight, self-hosted metrics dashboard with a small memory and operational footprint, designed for applications running on VPSs and small servers. A single Go binary monitors Spring Boot applications through Actuator JSON or Micrometer Prometheus metrics, Quarkus applications through Micrometer metrics, and other applications that expose a small, fixed JSON metrics endpoint, without requiring Prometheus or Grafana. It stores focused health, traffic, latency, CPU, memory, and optional host metrics in SQLite.
Website: pvrlabs.xyz/statlite · Interactive demo
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.
docker run --rm \
-p 127.0.0.1:9090:9090 \
ghcr.io/pvrlabs/statlite:latestOpen http://127.0.0.1:9090. StatLite monitors itself by default, so the dashboard starts with live data.
See the Docker guide for persistent storage, container networking, local builds, and access guidance.
StatLite is intentionally focused and is not a replacement for Prometheus and Grafana.
Install the latest release on macOS or Linux:
curl -fsSL https://raw.githubusercontent.com/PVRLabs/statlite/main/install.sh | shOr install with Homebrew:
brew install pvrlabs/tap/statliteSee Installation for supported platforms, custom install locations, source builds, and server-wide Linux setup.
To monitor a Spring Boot application, create a minimal statlite.yaml:
server:
listen: "127.0.0.1:9090"
storage:
sqlite_path: "./statlite.sqlite"
polling:
interval: "30s"
targets:
- name: "app"
type: "spring"
url: "http://localhost:8080/actuator"For a new setup, save the configuration as statlite.yaml. If you already
have a configuration, copy only the target entry into its targets list. Then
run:
statliteAlternatively, inspect a running application's base URL to generate the configuration:
statlite inspect 'http://localhost:8080'For other supported frameworks, select the type explicitly when needed:
statlite inspect --type quarkus 'http://localhost:9000'Inspection checks conventional supported endpoints and is bounded and read-only. For untyped discovery, start with a base HTTP or HTTPS URL without a query string or fragment.
See Configuration for exact endpoint forms, discovery
limits, authentication limitations, all settings, and manual target
configuration. See examples/ for complete configurations.
Important
StatLite has no built-in dashboard or API authentication. Review the server and access guidance before exposing it remotely.
- Spring Boot: Collects health through Actuator and automatically selects a compatible Micrometer Prometheus endpoint or Actuator JSON for request, JVM, process, and optional host metrics.
- Quarkus Micrometer: Collects bounded request, latency, CPU, heap, process, and restart concepts from an exact Prometheus/OpenMetrics endpoint. SmallRye Health is an optional capability when the application publishes it.
- StatLite Metrics v1: A small, fixed JSON endpoint that applications in any language or framework can implement.
- StatLite self-monitoring: StatLite can report its own health, traffic, process, and host metrics.
Use a statlite-self target for host metrics where StatLite runs. Spring
targets can optionally collect host CPU and disk metrics for a remote
application's environment.
- Installation
- Docker
- Configuration
- Deprecations and compatibility
- Supported integrations
- Monitoring on resource-constrained servers
- StatLite Metrics v1
- systemd deployment
- Product and architecture
- Storage and schema direction
- Spring Boot guide
- Examples
MIT
