Skip to main content
Zookoo

Synthetic monitoring,
built for speed.

A lightweight, OpenTelemetry-native monitoring agent written in Rust. One config file. Zero overhead.

Why Zookoo?

Stop juggling Prometheus relabeling rulesjust to monitor a single endpoint.

Zookoo is a Blackbox Exporter alternative built for teams who want simplicity, performance, and full control over their observability pipeline.

Single binary, zero dependencies

Deploy anywhere in seconds. No runtime, no agent manager, no overhead.

Rust performance

Predictable resource usage with minimal CPU and memory footprint under load.

Flexible exporters

Send data to OpenTelemetry, Prometheus Remote Write, or TimescaleDB — your choice.

Open SourceFully open source. MIT licensed.View on GitHub →
Rust-powered

Rust-powered

Blazing fast, low footprint. Built for performance-critical environments.

OpenTelemetry native

OpenTelemetry native

Export metrics anywhere. Fully compliant with the OTEL standard.

Grafana-ready

Grafana-ready

Visualize in seconds. Designed to integrate seamlessly with Grafana dashboards.

Observability

Explore your metrics on your favorite platform.
Get alerted when something's wrong.

Zookoo ships metrics directly into your observability stack. Visualize latency, availability, and error rates in Grafana, and set up alerts so your team knows before your users do.

HTTP probe

Response time

● UP

Avg latency

42 ms

Uptime

99.98%

Checks / min

2

Alert rule triggered

Latency exceeded 500ms threshold on eu-west-1

Configuration

One file.
Everything configured.

  • Define probes, exporters, and discovery in one place
  • Assign custom labels and scrape intervals per target
  • Load targets dynamically from a JSON file or API
defaults {
log_level = "info"
probe_zone = "eu-west-1"
service_name = "zookoo"

probe_location {
latitude = 48.858370
longitude = 2.29448
}
}

probe "http" "google_check" {
scrape_interval = "30s"
targets = [
{
url = "https://www.google.com"
method = "GET"
expected_status_code = 200
labels = {
service = "google"
env = "prod"
}
}
]
forward_to = [exporter.otlp.default]
}

exporter "otlp" "default" {
url = "http://localhost:4317"
tls_insecure = true
}