Release: Wombat

Wombat is the current DocsHub architecture.

Read the Roadmap

staxmonitor documentation

Choose a version

Version 0.1.x

StaxMonitor Deployment and Alert Routing #

StaxMonitor’s console is a self-hosted control plane. It receives signed agent reports, stores the latest snapshot per host, renders a multi-host view, and routes triggered alerts.

Architecture #

Agent (per host) ──HTTPS/signed POST──▶ Console (self-hosted) ──▶ alerts: webhook / Slack / email

Signed transport #

When a --secret is set on both the console and the agent, the agent computes an HMAC-SHA256 signature of each report and sends it in the x-stax-signature header. The console rejects reports whose signature does not verify, so a host cannot impersonate another without the secret.

If you run without a secret, the console accepts unsigned payloads — only use this on trusted, isolated networks.

Routing configuration #

The console reads a --routing JSON file that maps channel names to targets:

{
  "webhook": { "url": "https://hooks.example.com/alerts" },
  "slack": { "url": "https://hooks.slack.com/services/T000/B000/XXXX" },
  "email": { "to": "[email protected]", "relayUrl": "https://relay.example.com/send" }
}

Agent alert rules #

Rules live in the agent config. Each rule names a dotted metric path, an operator (gt, gte, lt, lte), a threshold, and the channels to notify:

{
  "rules": [
    { "name": "High CPU", "metric": "cpu.usage", "op": "gt", "threshold": 90, "channels": ["slack"] },
    { "name": "Low disk", "metric": "disks.0.percent", "op": "gt", "threshold": 90, "channels": ["webhook"] },
    { "name": "Service down", "metric": "services.0.up", "op": "lt", "threshold": 1, "channels": ["email"] }
  ]
}

disks.0.percent refers to the first configured disk; services.0.up is 1 when the process is detected, 0 when not.

Multi-host view #

GET / renders a table of all agents, their CPU/memory, and last report time. The API exposes GET /api/hosts (list) and GET /api/host?id=<agentId> (single snapshot) for dashboards and automation.

Air-gapped deployment #