55. pepsi-status¶
Summarise the health of the mail pipeline.
55.1. Role¶
pepsi-status is the operator’s read-only health overview of the pipeline. It
connects through the shared [pepsi-postgres] section, has no configuration of
its own, and never modifies a row or issues a notification, so it is safe to run
over SSH against a live deployment. Started as root it continues as the
pepsi service account before connecting, so no sudo -u pepsi is needed.
Reference: pepsi-status(1).
55.2. Features¶
Queue — the
pepsi.ingressbacklog broken down bystageandstatus, with the age of the oldest message in each bucket.Stuck messages — the individual
failed/timeoutmessages, oldest first, with the structured next-hop failure reason fromstate.bounce(remote MTA, SMTP code, enhanced status, reply text); capped by--limit.Delivery & failures — cumulative
dispatch_stats/stage_statscounters: total messages processed, per-stage message counts, average processing time, worker timeouts and crashes.Outbound TLS — recent
tls_sessionoutcomes grouped by policy domain and result type (non-successful results marked), plus MX addresses the resolver cache has flagged as failing to connect.
--json emits the whole report as one JSON object for monitoring systems.
55.3. A note on “recent successes”¶
A successfully delivered message is deleted from the queue, so there is no per-message delivery log. The delivery figures are therefore the cumulative counters accumulated since the schema was created — lifetime totals, not a rolling time window. Only the queue snapshot and the TLS section (which is keyed by report-day) reflect genuinely recent activity.
55.4. See also¶
pepsi-queue, pepsi-tlsrpt, pepsi-dispatch, Architecture, pepsi-status(1), pepsi.conf(5).