dozzle_n8n_logging/README.md

54 lines
2.5 KiB
Markdown
Raw Normal View History

# dozzle_n8n_logging
n8n-driven Docker log alerting for the Coolify host at `twala.rahamafresh.com`. Critical errors fan out to **ntfy** (self-hosted) and **WhatsApp** (via Evolution API); lower-severity events go to ntfy only.
Dozzle stays as the human-facing log viewer. This project does **not** integrate with Dozzle — it reads Docker logs independently via a small read-only proxy.
## Layout
```
log-proxy/ FastAPI app, only thing with docker.sock access. /services + /logs/<group> + /healthz.
coolify/ Coolify Docker Compose file for log-proxy.
ntfy/ Deploy notes for self-hosted ntfy.
n8n/ Exported workflow JSON (poll-<group>.json + notify.json).
```
## Architecture
```
Docker Engine log-proxy (RO sock) n8n queue-mode
socket ────► HTTP /logs/<group> ────► poll → match → threshold → notify
┌───────────────────┴───────────────────┐
▼ ▼
ntfy.rahamafresh.com Evolution API (WhatsApp)
```
Service groups are auto-derived from each container's `COOLIFY_RESOURCE_UUID`. The allow-list (and friendly names) live in `log-proxy/groups.yml`.
Severity defaults:
| Severity | Threshold | Cooldown | Channels |
| --- | --- | --- | --- |
| critical | 1 match (immediate) | 30 min | ntfy + WhatsApp |
| error | 10 / 5 min | 15 min | ntfy |
| warn | 50 / 15 min | 30 min | ntfy (low prio) |
See `260517_docker_n8n_logging.md` for the full design rationale.
## Adding a new service group
1. Append a line to `log-proxy/groups.yml`: `<coolify-uuid>: <friendly-name>`
2. Restart the `log-proxy` Coolify service
3. In n8n: duplicate `poll-tracksolid` workflow, retarget its `group` Variable, tune severity patterns/thresholds, activate
## Operating
- Tune thresholds: edit the `severity` Variables block at the top of each `poll-<group>` workflow.
- Silence during maintenance: deactivate the workflow in n8n (or set a global `silenced=true` flag in the Notify workflow's Variables).
- Rotate ntfy publisher credential: update the credential in n8n; restart workflows.
## Status
Bootstrap (2026-05-17): log-proxy code complete; n8n workflows, ntfy deploy, and Coolify deploy still pending.