Collector is offline
The connection pill in the top bar says "Collector offline" in red. Here's the order to check things.
1 — is the collector running?
SSH to the collector host:
systemctl status kilasec-collectorHealthy:
● kilasec-collector.service - kilasec collector
Loaded: loaded (/etc/systemd/system/kilasec-collector.service)
Active: active (running) since ...If inactive / failed:
sudo systemctl restart kilasec-collector
sudo journalctl -u kilasec-collector -n 100 --no-pagerThe journal will tell you why the last start failed. Common causes:
- Docker image gone (was deleted from
/var/lib/docker/). Pull again:bashsudo docker pull ghcr.io/blox-24/kilasec-collector:latest /etc/kilasec/collector.envcorrupted / missing.- Port
8080or9443taken by another process.
2 — can the collector reach the cloud?
From the collector host:
curl -fI https://kilasec.com/api/healthzHealthy:
HTTP/2 200If you get a connection refused / timeout, the host can't reach kilasec.com. Check egress firewall, DNS, etc.
If you get HTTP/2 401, that's actually fine for /healthz — it means cloud is reachable but auth is required (only /healthz allows anon). The real test is:
curl -fI -H "Authorization: Bearer $(sudo cat /etc/kilasec/collector.env | grep AGENTFW_CLOUD_TOKEN | cut -d= -f2)" \
https://kilasec.com/api/healthzA 200 here means the credential is valid.
3 — is the collector's token revoked?
If you suspect the token was revoked (e.g. by another admin or by the cloud due to being stillborn — see a033398 and follow-up commits):
curl -H "Authorization: Bearer $TOKEN" \
https://kilasec.com/api/v1/collectors/<collector-id>/statusIf the response includes "status": "revoked", you'll need to re-enroll:
# Get a fresh enrollment code from your admin / the UI:
curl -X POST -H "Authorization: Bearer $TENANT_TOKEN" \
https://kilasec.com/api/v1/collectors/codes
# Then re-run the installer with the new code:
curl -fsSL https://kilasec.com/install | sh -s -- --enroll <new-code>4 — UI shows green but no rows arriving
That's a different situation — the cloud-side SSE is alive, but no decisions are coming in.
- Check the collector's local audit log:bashIf rows are landing here but not in the cloud, the cloud uplink is broken — check
sudo tail -f /var/lib/kilasec/audit.log.jsonljournalctl -u kilasec-collectorfor upload errors. - If rows aren't landing in the local audit either, then no agents are routing through the proxy. Verify with
curl --proxy http://<collector-ip>:8080 https://api.openai.com.
5 — collector is online but the pill stays "Connecting…"
That's the SSE connection in the SPA itself, not the collector. Hard-refresh the browser (Cmd-Shift-R) — sometimes a stale tab gets stuck in connecting after an internet hiccup.
→ Related: Install a collector, Architecture.