Monitors Setup Handoff¶
[Claude Code], 2026-04-14
Status: COMPLETE ✓¶
Cron Jobs Installed¶
*/5 * * * * scripts/monitors/security-check.sh (every 5 min)
*/10 * * * * scripts/monitors/infra-check.sh (every 10 min)
*/15 * * * * scripts/monitors/business-check.sh (every 15 min)
justinwieb crontab. Errors log to logs/cron-errors.log.
Monitor Results (test run 2026-04-14 01:09)¶
| Monitor | Status | Notes |
|---|---|---|
| infra-check.sh | ✓ Working | media-server RAM at 87% (real warning, within spec) |
| security-check.sh | ✓ Working | Clean after port filter fix |
| business-check.sh | ✓ Working | Sites up, Drive inbox quiet |
Bugs Fixed During Setup¶
- infra-check.sh,
$HAS_CRITICAL && PRIORITY="critical"fails withset -ewhen false → changed toif $HAS_CRITICAL; then ... fi - infra-check.sh,
curl -w "%{http_code}" ... || echo "000"doubled the code (curl prints "000" before exiting 1) → changed to; truesuffix - infra-check.sh: AdGuard URL was
http://192.168.86.75:3000/(port not exposed to LAN) → fixed tohttp://192.168.86.75/(port 80, returns 302) - security-check.sh: Same
$HAS_HIGH && PRIORITY="high"boolean bug → fixed - security-check.sh,
grep -ci ... || echo "0"doubled count (grep prints "0" before exiting 1) → fixed togrep -ci ... || true+ default - security-check.sh: Port filter only checked process names; many known ports (22, 80, 111, 139, 445, 8085, 8006, Tailscale IPs) had no process name visible → expanded
KNOWN_PORTS_FILTERto include expected UDev ports
ntfy.sh Setup¶
- Topic:
forge-jw-x7k4(non-obvious, no signup required) - Config:
FORGE_NTFY_TOPIC=forge-jw-x7k4inforge/.env - notify.sh updated to
source forge/.envbefore reading env vars - Subscribe: open ntfy app → add topic
forge-jw-x7k4onntfy.sh - Test result:
[notify] Sent via ntfy✓
Channel Status¶
| Channel | Status |
|---|---|
| Local file | ✓ Active (always writes to notifications/latest.md) |
| ntfy.sh | ✓ Active (topic: forge-jw-x7k4) |
| n8n webhook | Not configured (FORGE_N8N_WEBHOOK not set) |
| Discord | Not configured |
| Slack | Not configured |
Real Alerts From Test Run¶
- media-server RAM at 87%, genuine, over 85% threshold. Created a task. Watch for trend.
tasks/pending/ Health¶
Clean, only 3 pre-existing tasks (daily-email-briefing, n8n-webhook-setup, plex-health-check), none from monitors.