See the same service from every network that matters.
Deploy NATS-only workers in private locations, assign monitors, set a failure quorum, and use the inter-location mesh to expose broken paths between sites.
Self-hosted / Kubernetes-first / AGPL-3.0
Watch endpoints, protocols, databases, hosts, and scripted browser journeys from public or private networks—then carry confirmed failures through configurable alerts, incidents, and status-page updates.
Probara connects the parts that usually live in separate tools: check execution, distributed location health, alert routing, incident response, dependency context, and public communication.
Deploy NATS-only workers in private locations, assign monitors, set a failure quorum, and use the inter-location mesh to expose broken paths between sites.
Tune consecutive-failure and latency-anomaly sensitivity, route per monitor or by workspace defaults, and mute named maintenance or quick snoozes. Deliver through email, Slack, Discord, Teams, or signed HTTPS webhooks—with delays, reminders, and optional incidents.
Group services into sections, publish incident updates, theme the built-in page, or own the entire Go template with draft preview, versioned publish and revert, and a reusable template library.
Model service dependencies, annotate downstream alerts, explore co-firing signals, and ask the configured LLM for incident root causes.
Separate tenants, control writes with roles and scoped API keys, connect OIDC, retain an audit trail, and configure encryption for stored monitor and channel secrets.
Verify availability at the layer users and systems actually consume—from HTTP body, header, JSON, latency, and TLS-expiry assertions to extracted multi-step API variables, scripted browser journeys, database authentication, AMQP, ICMP, DNS records, host telemetry, and dead-man heartbeats.
Stateless Go services divide responsibilities cleanly. PostgreSQL holds the application model; NATS JetStream carries durable work and events; workers grow independently with check volume.
Inputs
CRUD, run-now, imports, configuration, and response workflows.
Machine telemetry and externally initiated heartbeat results.
Location-scoped execution with NATS-only result transport.
Create state, schedule due checks, execute work, and persist results.
Durable application state, JetStream queues for check jobs and alerts, and core NATS for live updates.
State-driven response and a separately served public experience.
Outcomes
Live state, trends, grouped services, history, and detailed results.
Deduplicated lifecycle, routing, timelines, and analysis.
Cached pages, incidents, maintenance, and live SSE refresh.
The scheduler selects due monitors and publishes location-aware check jobs through NATS JetStream.
Horizontally scalable workers run protocol, database, browser, and private-network checks, while agents and push endpoints report passive results.
Persisted results drive monitor state, quorum, alert lifecycle, dependency context, and incidents.
Route notifications, publish incident updates, and refresh public status pages live.
Start the complete development stack with one command, run application services locally against containerized infrastructure, or install the included Helm chart in Kubernetes.
# Clone and prepare configuration git clone https://github.com/yassinebenameur/probara.git cd probara cp .env.example .env # Set ADMIN_JWT_SECRET (32+ random characters) and PUBLIC_BASE_URL in .env # Local Go services + Docker infrastructure make start-all-local # Or Docker-backed application services make start-all # Verify the main Go module make test make lint
Deploy the complete stack, connect the systems that matter, and keep the operational picture in your hands.