Observability

Observability — это способность понять, что происходит внутри системы, глядя на её внешние проявления. Привычка видеть причинно‑следственные связи раньше, чем они превратятся в симптомы. Это та часть инженерной практики, которая превращает «у нас что‑то сломалось» в «мы знаем, что именно и почему». Мы делаем собственные проекты, и нам важно замечать проблемы раньше пользователей. В идеале — в тот момент, когда это ещё просто отклонение метрики, до того как оно станет инцидентом с ночными созвонами.

Сигналы
Контекст
Дисциплина

Что мы считаем хорошей наблюдаемостью

Хорошая наблюдаемость отвечает на вопрос «почему и где именно». Она подсвечивает путь пользователя, показывает деградацию, обнаруживает регресс после выката, даёт возможность спокойно откатиться. Она молчит по пустякам и говорит громко, когда это действительно нужно. Плохая наблюдаемость — это десять алертов, на которые никто не смотрит, дашборд с тридцатью графиками, в котором невозможно ничего найти, логи в плоском текстовом виде, по которым нельзя фильтровать. Хорошая — это три метрики, которые реально описывают здоровье системы, и структурированные логи, в которых поиск занимает секунды. Мы любим подход «три столпа» — метрики, логи, трейсы. Метрики отвечают на «что происходит в среднем», логи — на «что случилось в конкретный момент», трейсы — на «как запрос прошёл через систему». Каждый столп полезен сам по себе. Магия начинается, когда они связаны между собой: из алерта по метрике переходишь в логи, из логов — в трейс, из трейса — в код.

Приватный frontend‑мониторинг

Отдельная любовь — приватный frontend‑мониторинг. Вы видите реальные ошибки и производительность в браузере, данные остаются внутри вашей инфраструктуры. Без передачи в сторонние сервисы, без лишней зависимости, без того, чтобы ваши пользователи становились трафиком для чьей‑то рекламной модели. Мы собираем стек на базе Grafana Faro, OpenTelemetry и собственного бэкенда для приёма событий. Такое решение дороже, чем подключить SaaS за пять минут. Через год у вас есть инфраструктура, которая работает без внешней зависимости, без лимитов по событиям, с предсказуемой стоимостью владения.

Единая картина

Когда backend и frontend сигналы живут вместе, вы перестаёте «сметчить» данные вручную и начинаете видеть систему целиком.

Алерты как инженерная практика

Настроить алерт — просто. Настроить его так, чтобы он срабатывал только когда реально нужно — сложно. Мы исповедуем правило: алерт, который сработал и ничего не потребовал сделать, — это плохой алерт. Возможно, порог поставлен мимо. Возможно, метрика выбрана неудачно. Возможно, проблема уже решена автоматически, и человек получает уведомление впустую. Поэтому у нас каждый алерт проходит через фильтр: что именно нарушено, почему это важно, какое действие ожидается, куда смотреть. Если на эти вопросы есть чёткие ответы — алерт остаётся. Такие алерты срабатывают редко и всегда по делу.

Как это проявляется в наших проектах

Мы собираем сигналы так, чтобы они помогали принимать решения: какие эксперименты проводить, что оптимизировать, где узкое место, сколько стоит ошибка. Там, где нужно — добавляем быстрые способы разметки событий и экспериментов, чтобы заменить веру на знание. В продуктах с пользовательским трафиком у нас по умолчанию стоит панель с Core Web Vitals, разбивкой по странам и устройствам, отдельный взгляд на «хвост» распределения — потому что средние значения почти всегда врут. В бэкенд‑сервисах — трейсинг через всю цепочку, без которого невозможно понять, почему конкретный запрос шёл семь секунд. Если вы хотите перейти от «кажется, стало хуже» к «вот метрика, вот причина, вот момент регресса» — это как раз наш стиль.

Статус

Компетенция активна и развивается вместе с нашими проектами — потому что без наблюдаемости любая сложная система быстро превращается в блуждание. Мы готовы брать проекты с нуля (поставить стек, настроить алерты, научить команду) и задачи по разбору существующего зоопарка дашбордов: что оставить, что убрать, что заменить.

Далее
Поиск по священному писанию

Поиск по священному писанию

Православный инструмент для поиска и изучения текстов священного писания. Быстрый поиск, сравнение переводов, толкования и режим для детей.