Self-hosted / Kubernetes-first / AGPL-3.0

Monitoring without blind spots.

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.

Type
Self-hosted blackbox monitor
Protocols
17 monitor types
Transport
NATS JetStream
State
PostgreSQL
Deploy
Docker Compose · Helm
License
AGPL-3.0 open source
17monitor types across web, network, data, hosts, and journeys
Quorumlocation-aware state that distinguishes down from degraded
Livestatus-page updates over NATS and server-sent events
Own ityour infrastructure, telemetry, credentials, and retention policy
One operating picture

From first signal to final update.

Probara connects the parts that usually live in separate tools: check execution, distributed location health, alert routing, incident response, dependency context, and public communication.

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.

Alert on state, not noise.

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.

Status pages that stay in the loop.

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.

Context for the failure, not just the symptom.

Model service dependencies, annotate downstream alerts, explore co-firing signals, and ask the configured LLM for incident root causes.

Built for shared operations.

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.

17 monitor types

Check the protocol, not a proxy for it.

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.

Read the monitor reference

Web & API

HTTPWebSocketSynthetic APISynthetic Browser

Network

PingDNSgRPCTCPSIP

Databases & brokers

PostgreSQLMySQLRedisMongoDBRabbitMQ

Infrastructure & organization

Host agentPush heartbeatGroup roll-up
System design

Scale the work, keep one source of truth.

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

Web UI & API clients

CRUD, run-now, imports, configuration, and response workflows.

Host agents & pushes

Machine telemetry and externally initiated heartbeat results.

Private workers

Location-scoped execution with NATS-only result transport.

Probara control planeHorizontally scalable

API · Scheduler · Workers

Create state, schedule due checks, execute work, and persist results.

PostgreSQL + NATS

Durable application state, JetStream queues for check jobs and alerts, and core NATS for live updates.

Alerter · Status page

State-driven response and a separately served public experience.

Outcomes

Dashboard & analytics

Live state, trends, grouped services, history, and detailed results.

Alerts & incidents

Deduplicated lifecycle, routing, timelines, and analysis.

Public status

Cached pages, incidents, maintenance, and live SSE refresh.

01

Schedule

The scheduler selects due monitors and publishes location-aware check jobs through NATS JetStream.

02

Execute

Horizontally scalable workers run protocol, database, browser, and private-network checks, while agents and push endpoints report passive results.

03

Evaluate

Persisted results drive monitor state, quorum, alert lifecycle, dependency context, and incidents.

04

Communicate

Route notifications, publish incident updates, and refresh public status pages live.

Deployment

Your stack. Your boundaries.

Start the complete development stack with one command, run application services locally against containerized infrastructure, or install the included Helm chart in Kubernetes.

Host application data and stored credentials inside infrastructure you control.
Bring external PostgreSQL and NATS or deploy the bundled dependencies.
Scale worker replicas separately and enable the Helm worker HPA.
Add OIDC SSO, scoped API keys, secret encryption, and private locations.
probara / quick start
# 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

Own the signal. Shorten the incident.

Deploy the complete stack, connect the systems that matter, and keep the operational picture in your hands.