docs Overview
uptimepage
Async Rust service that runs eight kinds of check against a configurable set of targets: HTTP, TCP, DNS, TLS certificate, domain expiry, ICMP ping, inbound cron-job heartbeats, and scripted browser flows, plus manual monitors whose state an operator sets. It backs off monitors that keep timing out, batches results, and ships them to durable storage. Targets persist in PostgreSQL; check results land in ClickHouse for high-cardinality time-series queries. Exposes a REST API for target CRUD and result queries, a server-rendered operator UI on the same port, and Prometheus metrics on a separate port.
Built on Rust 1.95 (edition 2024), Tokio, Axum, hyper-util (custom phase-timing connector + tokio-rustls), sqlx, and the official clickhouse crate. UI layer uses askama 0.16 + HTMX 2 + Tailwind 4 + ECharts 6, all served from the same binary. Designed for low-overhead checks at ~50k concurrent in-flight.
Where to start
- New here → Getting started for the ten-minute path to a monitored endpoint
- New to the project → Architecture for the big picture
- Integrating → REST API, or the MCP server for LLM clients
- Browsing the data → Web UI
- Choosing a check → Monitor types
- Getting alerted → Notifications
- Running it → Deployment and Configuration
- Operating it → Metrics & tracing and Troubleshooting
- Benchmarking → Benchmarks (per-check micro) and Load test (end-to-end)