Qooqes Telemetry

Lightweight telemetry for small fleets

Qooqes Telemetry collects host-level metrics — CPU, memory, disk, network — from a small agent and makes them queryable over a REST API. Built for fleets in the 5-200 host range, where running a full observability stack is more setup than the workload justifies.

Single static binary

No runtime dependencies. Builds for amd64 and arm64, runs under systemd, sits under 20MB resident memory at steady state.

One persistent connection

The agent opens a single HTTPS connection to the ingest endpoint and keeps it open, pushing a batch of metrics every 30 seconds instead of reconnecting per request.

Threshold-based incidents

Set a threshold per metric and the API opens an incident when it's crossed, closing it automatically once the value recovers.

How it fits together

Who this fits

Built for the gap between "a couple of cron scripts and a Slack webhook" and "a full Prometheus + Grafana + Alertmanager stack for six servers". Typical setup:

Not included, on purpose: distributed tracing, log aggregation, and custom dashboard building. The metric set is intentionally small (cpu, memory, disk, network) so the agent stays a single static binary instead of growing a plugin system.

Agent config

# /etc/telemetry-agent/agent.yml
api:
  endpoint: https://qooqes.online/api/v1
  token: ${AGENT_TOKEN}
host:
  id: web-03
  tags: [prod, eu-west]
collect:
  interval: 30s
  metrics: [cpu, memory, disk, network]

Naming things

host_id and tags are whatever the operator puts in the agent config — there's no separate registration step. The first ingest batch for a new host_id creates the host record; there's no hard limit on host count, but the free tier of attention this project gets means fleets much past a few hundred hosts should probably look at something with a support contract behind it instead.

Transport

Every agent connection is HTTPS — no plaintext fallback, no separate unencrypted metrics port. Because the agent holds one connection open and reuses it for every ingest batch instead of reconnecting every 30 seconds, the TLS handshake cost is paid once per agent restart rather than once per batch.

Full install steps are in the quickstart. Endpoint reference is in the API docs. Current uptime is on the status page.