Run this before a Prometheus becomes something an on-call rotation depends on, and again after any change to retention, the alerting path, the listener or the service account. Those four are where a change looks like tuning and behaves like an outage.
The items run from configuration through storage, then the delivery path, then the HTTP surface, and end with the two questions that only make sense from outside: who watches this server, and what happens when it is the thing that failed.
Ask the process, not the file
Almost every item here reads the running server rather than the configuration on disk, because those two disagree more often than anyone expects. A reload that failed leaves the previous configuration serving and logs the failure once. A flag changed in the unit file does nothing until a restart, because reload does not re-read flags. The status endpoints are where the process states what it actually loaded, and that answer is the one that matters.
Substitute your own hostnames, paths and job names throughout — the ones below are the shapes this course uses, not an estate that exists.
The two failure modes worth internalising
The first is a full disk. Retention deletes whole blocks and only when a block lies entirely outside the limit, and the size limit budgets compacted blocks alone — the write-ahead log, the head and compaction scratch all sit outside it. When the volume fills, ingestion stalls, and compaction, which is the mechanism that would free space, needs scratch space it no longer has. The recovery path is deadlocked and the server cannot page anybody about it.
The second is a delivery path that has never been executed. Rules can fire correctly into an Alertmanager that was never discovered, or through a relabel rule that drops them, or to a single instance that is down. Each produces no alerts, and no alerts is what a healthy night looks like. That asymmetry is why the watchdog item is a hard requirement rather than a nicety.
Sign-off
- Reviewer: ________________ Date: ___________
- Platform owner: ___________ Date: ___________
- On-call representative: ____ Date: ___________