Что такое мониторинг и наблюдаемость

Урок объясняет, что такое мониторинг, чем он отличается от наблюдаемости и зачем это разработчику.

Мониторинг — это непрерывный сбор и анализ данных о состоянии системы, чтобы вовремя замечать проблемы и понимать поведение сервиса.

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

Мониторинг против наблюдаемости

Эти слова часто путают, но между ними есть смысловая разница.

Мониторинг отвечает на вопрос «работает ли система так, как я ожидаю?». Вы заранее знаете, что измерять: загрузку CPU, число ошибок, задержку. Это про известные проблемы.

Наблюдаемость (observability) — это свойство системы, позволяющее по внешним сигналам понять её внутреннее состояние, в том числе для проблем, которых вы заранее не предвидели. Хорошая наблюдаемость даёт ответ на вопрос «почему именно сейчас всё пошло не так?», даже если такой сценарий вы раньше не видели.

Простая аналогия

Мониторинг — это лампочка «check engine» на панели машины: загорелась, значит что-то не так из заранее описанного списка. Наблюдаемость — это возможность подключить диагностический сканер и прочитать конкретные коды и параметры, чтобы понять причину.

Какие вопросы закрывает мониторинг

  • Доступен ли сервис прямо сейчас?
  • Сколько запросов он обрабатывает и с какой задержкой?
  • Какая доля запросов завершается ошибкой?
  • Хватает ли ресурсов: CPU, памяти, диска?
  • Растёт ли нагрузка и когда упрёмся в потолок?

Как работает под капотом

В основе почти любой системы мониторинга лежит один цикл: приложение или агент порождает сигналы, система мониторинга их собирает, хранит во времени, а затем визуализирует и сравнивает с порогами, чтобы поднять алерт.

[Приложение] --сигналы--> [Сборщик] --> [Хранилище]
                                            |
                                  +---------+---------+
                                  |                   |
                            [Дашборды]           [Алерты]

В этом курсе роль сборщика и хранилища берёт на себя Prometheus, а визуализацией занимается Grafana. Но сама схема универсальна и не зависит от конкретных инструментов.

Частые ошибки

  • Мониторить всё подряд. Тысяча графиков, на которые никто не смотрит, не помогают. Начинайте с метрик, отражающих опыт пользователя.
  • Считать, что «зелёные» дашборды = здоровая система. Если вы не измеряете важный сигнал, его отсутствие на графике не означает, что всё хорошо.
  • Путать алерт и график. График нужен для расследования, алерт — чтобы разбудить дежурного. Не на всё, что видно на графике, нужен алерт.

Итог

  • Мониторинг непрерывно собирает данные о состоянии системы.
  • Наблюдаемость — это свойство системы объяснять даже непредвиденные проблемы.
  • Цикл везде одинаков: породить сигнал, собрать, сохранить, показать, сравнить с порогом.
Проверьте себя
1. Чем наблюдаемость (observability) принципиально отличается от классического мониторинга?
AНаблюдаемость работает только в облаке
BНаблюдаемость помогает понять и непредвиденные проблемы, а не только заранее описанные
CМониторинг не использует метрики
DЭто полные синонимы
2. Какой шаг НЕ входит в типовой цикл системы мониторинга?
AСбор сигналов
BХранение во времени
CАвтоматическое исправление кода приложения
DСравнение с порогами для алертов