monitoring

  • predict_linear for a disk, not a percentage

    Eighty percent on a disk growing a percent a quarter is not a problem, and eighty percent on one that gained fifteen points overnight is — a single…

  • A read replica that was silently stale

    The replica was up, accepting connections and serving data from an hour ago. Seconds_Behind_Master reported zero, honestly, and was measuring the wrong thing.

  • journalctl -o json is a log pipeline with no agent

    The journal already stores structured records with a unit, a priority and a hostname; the text output is a rendering rather than the data. Following the journal in…

  • Sampling, because tracing every request is not affordable

    Full-fidelity tracing on a busy service is a considerable volume of data and a considerable bill, and almost all of it describes requests that were fine. Head-based sampling…

  • A self-hosted runner, and what it is allowed to reach

    The hosted runner cannot reach the private network, which is the whole problem — and a runner inside it is a machine running other people’s code.

  • An SLO is a number somebody agreed to

    Everyone wanted the site to be fast and nobody could say what fast meant. An indicator, an objective and a window — and the error budget is what…

  • A canary needs a metric to decide on, agreed in advance

    A canary release without a decision rule is a slower deploy — somebody watches a dashboard for ten minutes, sees nothing obvious and promotes it. The minimum sample…

  • The error budget is what the objective is for

    An objective of 99.5% is also a statement that 0.5% of requests may fail, and that allowance is a resource with a use. The budget turns reliability from…

  • Context propagation is the whole of distributed tracing

    Instrumenting each service produces disconnected traces. Passing the trace context between them is what makes it one trace, and it is the part that breaks. The queue hop…

  • A for clause on every rule, or it fires on noise

    A threshold evaluated instantaneously fires on every transient spike, and transient spikes are constant — which is how a channel accumulates three hundred alerts a month. The for…