Мониторинг и наблюдаемость (Prometheus / Grafana)

Prometheus, Grafana

Что это такое

Мониторинг собирает сигналы о работающей системе; наблюдаемость — это когда их достаточно и они связаны между собой, чтобы ответить на вопрос, которого вы не предвидели. Сигналы — это метрики, дешёвые числовые замеры во времени; логи, отдельные события с подробностями; и трассировки, которые прослеживают один запрос через множество сервисов. Prometheus — распространённое хранилище метрик, Grafana — распространённый способ нарисовать результат, но дисциплина шире, чем любой из этих инструментов.

Почему это важно

Без этих сигналов об отказах вы узнаёте от пользователей, а диагностируете их догадками. С ними первый вопрос после любого инцидента — что изменилось и что система делала в тот момент — получает ответ. Именно этот ответ отличает пятиминутное исправление от целого дня предположений, и он же позволяет команде улучшать систему осознанно, а не только реагировать на неё. Цена настоящая: метрики стоят места в хранилище, логи — дороже, а неуправляемое оповещение создаёт шум, который приучает людей его игнорировать.

Что в этом треке

  1. Метрики, логи и трассировка (06-cloud-devops/18-monitoring-observability-prometheus-grafana/01-metrics-logs-and-traces) — что лучше даётся каждому сигналу и как они связываются между собой.
  2. Дашборды и оповещения (06-cloud-devops/18-monitoring-observability-prometheus-grafana/02-dashboards-and-alerting) — как превратить сигналы в ответы и в оповещения, ради которых стоит будить человека.

Предварительные требования

Что читать дальше

  • Администрирование Linux (06-cloud-devops/09-linux-administration) — чтение логов на уровне хоста, которое этот трек масштабирует, поэтому читайте первым.
  • Обеспечение надёжности сайтов (06-cloud-devops/23-site-reliability-engineering) — как эти сигналы становятся явными целями надёжности.
  • Istio (06-cloud-devops/22-istio) — сетка, которая даёт метрики по каждому маршруту без инструментирования каждого сервиса.