Skip to content

Add procstat telegraf plugins for gunicorn web services#69

Open
mvdbeek wants to merge 1 commit into
mainfrom
add-gunicorn-procstat-web
Open

Add procstat telegraf plugins for gunicorn web services#69
mvdbeek wants to merge 1 commit into
mainfrom
add-gunicorn-procstat-web

Conversation

@mvdbeek

@mvdbeek mvdbeek commented Jun 30, 2026

Copy link
Copy Markdown
Member

What

Adds per-PID procstat telegraf plugins for both gunicorn web services (:8080 / :8081) on galaxy_main_web_servers.

Why

During the 2026-06-30 memory + load surge on main1/main2, the web nodes only collected host-level memory (mem.used), so the incident could not be reconstructed per-process — we had to fall back to live smaps/ps and log forensics. The handler group already ships procstat; this brings the web nodes to parity so worker RSS / CoW growth is captured historically and the next occurrence is a Grafana lookup.

Notes

  • Keyed on the bind port (-b 0.0.0.0:8080/:8081) — the only per-service discriminator in the cmdline — which preserves the @0/@1 split (they behaved differently in the incident: @1 throttled, @0 didn't) and excludes the backup-staging gunicorn.
  • Verified on galaxy-main1: each pattern resolves to exactly its service's master + 4 workers.
  • Telegraf-only change — deploy does not recycle gunicorn.
  • Does not touch --max-requests / memory limits / swap; those mitigations are intentionally left for a separate change.

The web nodes only collected host-level memory, so the 2026-06-30
memory surge on main1/main2 could not be reconstructed per-process
(the handler group already had procstat). Add per-PID procstat for
both gunicorn services (:8080/:8081) so worker RSS/CoW growth is
captured going forward.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant