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:
- 5 to 200 hosts, mixed bare metal and VMs.
- A small team that checks the dashboard a few times a day rather than staffing an on-call rotation.
- 30-second metric granularity is enough — this isn't a sub-second APM tool.
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.