Cncp Failure Collector

repo: ~/Projects/cncp-failure-collector · 15 commits · 0 in last 24h, 0 in last 7d ·

Search the build

15 commits indexed

  1. 0d7a271 2026-05-30 Apply benign-noise filter in scanLinuxLogs so nginx TLS-probe noise (bad key share) stops creating ledger rows
  2. bba7324 2026-05-29 fix(collector): bump execSync maxBuffer to prevent pm2 jlist ENOBUFS death
  3. b843af5 2026-05-18 docs: fix misleading comment + variable name (no journalctl; signal not controller)
  4. 81d499d 2026-05-18 chore: add dist/build/.next to .gitignore
  5. 411ed67 2026-05-11 fix(collector): skip phantom pm2 restarts
  6. b3aa723 2026-05-11 feat(collector): also filter nginx TLS handshake bot noise
  7. e295195 2026-05-11 feat(collector): per-process benign-noise filter for known transient sources
  8. 064993f 2026-05-11 tick 9: cross-platform — also runs on Kamatera, host-tagged failures
  9. 2573de7 2026-05-11 shopify cached-page price canary + nightly launchd at 4:17 AM PT; posts source=shopify-cache rows to /api/failures (throttled fetches)
  10. 78ad17a 2026-05-11 tick 7: prune classifier rate-limit Map of entries older than 24h
  11. 4292cad 2026-05-11 tick 6: README pass — covers ticks 2-5b features (classifier, queue, chat, idea-bar, env vars, endpoints)
  12. 8a79514 2026-05-11 tick 4: fire-and-forget classify on new rows (5min per-process rate limit, env-var disable, server single-flight)
  13. c57181c 2026-05-11 tick 3: launchd plist-driven .err.log tailing (97 com.steve.* jobs watched, refresh every 10min, 200 cap, 100MB skip)
  14. 495181c 2026-05-11 tick 2: heartbeat log every 10 quiet cycles, skip self in pm2 scan
  15. f20012e 2026-05-11 initial scaffold — pm2 + launchd failure collector for CNCP (tick 1: data only, no classifier)

Authors

Agents used

  • none detected

Skills used

  • /cncp-failure-collector2
  • /failures2

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

bba7324 · 2026-05-29 · fix(collector): bump execSync maxBuffer to prevent pm2 jlist ENOBUFS death
The mac2 collector died 2026-05-15 11:37 in a 'pm2 jlist failed: spawnSync
/bin/sh ENOBUFS' spiral — pm2 jlist output exceeded execSync's 1MB default
maxBuffer on a busy box, so readPm2() threw every cycle and the process
exited (never resurrected, froze the CNCP mac2 failure ledger for 14 days).
Set maxBuffer 64MB on pm2 jlist and 16MB on the log-tail call.
064993f · 2026-05-11 · tick 9: cross-platform — also runs on Kamatera, host-tagged failures
Changes:
- COLLECTOR_HOST env var added (default os.hostname()); all POSTs include host field
- IS_LINUX flag added; buildLaunchdWatchlist() bails on Linux
- scanLinuxLogs() new — tails LINUX_LOG_PATHS (nginx error log + syslog by default),
  posts only on meaningful lines (error|fatal|crit|emerg|alert|panic|segfault)
- install-kamatera.sh — idempotent installer for the Kamatera box (CNCP_URL
  points at Mac2 over Tailscale 100.65.187.120; CNCP-reachable preflight)
- ecosystem.config.js: COLLECTOR_HOST='mac2'
- README untouched

Verified end-to-end 2026-05-11:
  Mac2     pm2/cncp-failure-collector host=mac2     → http://127.0.0.1:3333
  Kamatera pm2/cncp-failure-collector host=kamatera → http://100.65.187.120:3333 (tailnet)
Both visible in CNCP /api/failures with distinct host tags; dedup keyed on host
+ source + processName so cross-machine same-name failures don't collide.

File tree

7 files tracked. Click any to browse the source at HEAD.

Other build journals

← Cncp Domains  ·  all 4 projects  ·  Cncp Failures Mockups →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 0ms