Observability#

Как понять, что происходит в проде: метрики, структурные логи, трейсинг, OpenTelemetry, Prometheus, Grafana и SLO.

Оглавление#

Статьи идут в порядке чтения: от базы к деталям. Всего 7 статей.

  • Метрики: RED, USE, Golden Signals — Метрики — это числа во времени: сколько было запросов, сколько ошибок, сколько занял ответ.
  • Структурированное логирование (slog) — Структурный лог — это не строка текста, а набор полей: вместо "user 42 failed to pay" пишется {"msg":"payment failed","user_id":42}.
  • Distributed Tracing — Трейсинг показывает путь одного конкретного запроса через все сервисы — в виде дерева с временами.
  • OpenTelemetry — OpenTelemetry — общий стандарт сбора телеметрии, придуманный ради того, чтобы код приложения не знал, куда именно уедут его метрики, логи и трейсы.
  • Prometheus — Prometheus работает наоборот тому, что кажется естественным: не сервис отправляет метрики, а Prometheus сам регулярно ходит по сервисам и забирает их с…
  • Grafana — Grafana — это витрина: сама она ничего не хранит, а рисует данные из других систем — Prometheus, Loki, Tempo, ClickHouse.
  • SLI / SLO / SLA — Три буквенных сокращения, которые постоянно путают: SLI — то, что измеряем, SLO — цель, которую себе поставили, SLA — обещание клиенту, за нарушение которого…