Skip to content

Monitoring & health

A collector you can't see is a collector you can't trust. This page covers how to know your fleet is healthy and get told when it isn't — the difference between running a deployment and hoping.

Where you do this: Two surfaces.

  • In the dashboard (kilasec.com/app/) — Collectors (fleet state), Dashboard tab (first-run checklist, pending approvals), Settings → Notifications (alert channels). Requires the tenant_admin role.
  • From your external uptime monitor — probe https://kilasec.com/api/healthz. Configured wherever your uptime tool lives (Better Uptime, Pingdom, cron+curl), not in the Kilasec dashboard.

Where to look

Dashboard → Collectors shows each collector's live state — online/offline, time since last heartbeat, version, and IP — refreshing every 10 seconds. Until traffic is flowing, Dashboard → Dashboard shows a first-run checklist so you can tell "not set up yet" from "broken".

Liveness: how "online" is decided

Every collector heartbeats to the cloud roughly every 10 seconds (its uplink cycle). A collector counts as online if its last heartbeat was within 60 seconds. Two timestamps are tracked:

  • last seen — updated on every heartbeat; "is it alive?"
  • last event — updated only when real traffic flows through it; "is it actually inspecting anything?"

A collector can be online but idle (alive, no AI traffic yet) or online and busy. The board surfaces both so you can tell a quiet network from a broken one.

Offline alerting

Dashboard → Settings → Notifications. When a collector that was heartbeating goes dark for more than 5 minutes, Kilasec fires an alert (once per offline episode; it re-arms after the collector comes back). Configure the channel here — a Slack-compatible webhook and/or email — and use Send test to confirm it reaches you.

The health endpoint

From your external uptime monitor. GET https://kilasec.com/api/healthz is a real probe suitable for external uptime tools:

json
{ "ok": true, "service": "agentfw-cloud", "db": "ok", "collectors": 3, "collectors_online": 2 }

It probes the database and returns HTTP 503 when degraded (e.g. the DB is unreachable), so a monitor actually trips instead of getting a hardcoded ok. Point your uptime checker (Better Uptime, Pingdom, a simple cron + curl) at that URL and alert on non-200.

A monitoring baseline for a beta

  1. Dashboard → Settings → Notifications: configure an alert channel (webhook or email) so offline events reach you.
  2. External uptime tool: add a check on https://kilasec.com/api/healthz.
  3. Dashboard → Collectors: glance on your normal cadence; sort offline-first.
  4. Dashboard → Dashboard: watch the approval backlog — a growing pending approval count means requests are being held and nobody's resolving them.

When a collector shows offline

See Collector is offline for the triage steps — reachability, the container, the uplink, and the host.

Documentation for kilasec — the AI Agent Firewall.