Run this quarterly, and additionally after any incident where series growth threatened the platform. The quarterly slot is what catches the slow leak; the post-incident run is what stops the same label arriving again under a different name.
The review has three parts and they are not interchangeable. The first is measurement: what the platform is holding right now and how fast that is changing. The second is attribution: whose series those are. The third is control: whether the gates that are supposed to stop the next explosion are present, closed, and tested. A review that only does the first part produces a number nobody can act on.
Where the numbers come from
Almost everything here is one Prometheus query or one call to the TSDB status endpoint. The two that matter most are the ranked distinct-value count per label, which names the offending label directly, and the per-job series count, which names the team. Substitute your own Prometheus, Loki and collector addresses and the path to your budget file; the addresses below are the shapes used throughout this course, not an estate that exists.
Where a command needs history — the family list from last quarter, the previous budget figures — it reads a file this review is expected to have written. If that file does not exist yet, writing it is the first finding.
What the review produces
A diff against the budget file and the scrape configuration, plus a short list of labels with an owner and a date against each. The most suspicious possible outcome is a review that changed nothing while the head series count grew.
Access this needs
Read access to the Prometheus HTTP API, the Loki metrics and runtime-config endpoints, the Alertmanager API, the collector configuration, and the repository holding the budget file and the scrape configs. Nothing on this list writes. The remediation it produces — a relabel rule, a raised tenant override, a deleted metric — is a separate reviewed change, not something to apply during the review.
Sign-off
- Reviewer: ________________ Date: ___________
- Platform owner: ___________ Date: ___________
- Largest consuming team: ____ Date: ___________