Термин · Глоссарий B2B-ПО

Observability (Observability)

Observability (наблюдаемость) – способность понять внутреннее состояние системы по её внешним выходным данным. В IT строится на трёх столпах: метриках, логах и трассировках. Позволяет не просто обнаруживать, но и объяснять причины нештатных ситуаций.

Буква «O» В категориях: 3 Платформ: 6+

Введение

Observability (наблюдаемость) – концепция из теории управления, адаптированная для распределённых IT-систем. В оригинальном смысле (Рудольф Кальман, 1960): система наблюдаема, если её внутреннее состояние можно восстановить по наблюдаемым выходам. В применении к программным системам: observability – это способность понять, что происходит внутри системы, только наблюдая за её внешними сигналами, без предварительного знания о том, что именно может сломаться.

Это ключевое отличие от мониторинга: мониторинг отвечает на вопрос «работает ли система?» (известные метрики, пороги, алерты). Observability отвечает на вопрос «почему система ведёт себя именно так?» – позволяя исследовать неизвестные заранее проблемы в сложных распределённых системах.

История и контекст

Концепция observability в контексте программного обеспечения была популяризирована компанией Honeycomb (Charity Majors, Caitie McCaffrey) около 2016-2017 годов. Книга «Observability Engineering» (2022, O'Reilly) стала основополагающим ресурсом в области.

До observability инженеры использовали традиционный мониторинг: набор дашбордов и алертов. В монолитных приложениях это работало хорошо. С переходом к микросервисам и Kubernetes сложность систем возросла настолько, что предсказать заранее все возможные сбои стало невозможным – и возникла потребность в observability.

В 2021 году CNCF опубликовал Observability Landscape – карту инструментов observability, насчитывающую десятки решений. OpenTelemetry стал стандартом инструментирования.

Три столпа Observability

Традиционно observability строится на трёх типах данных (Three Pillars of Observability):

  • Метрики (Metrics): числовые измерения, агрегированные во времени. Показывают что происходит: CPU 90%, error rate 0.5%, p99 latency 300ms. Инструменты: Prometheus, Graphite, InfluxDB. Эффективны для алертинга, дешевы в хранении.
  • Логи (Logs): временные записи событий с контекстом. Показывают что именно произошло: конкретные ошибки, трассировки стека, идентификаторы запросов. Инструменты: ELK Stack, Loki, Graylog. Дороги в хранении, но информативны.
  • Трассировки (Traces): цепочка связанных операций через несколько сервисов. Показывают как запрос прошёл через систему: какой сервис добавил задержку, где возникла ошибка. Инструменты: Jaeger, Zipkin, Grafana Tempo, AWS X-Ray. Необходимы для микросервисов.

Современная трактовка добавляет четвёртый столп – профилирование (Continuous Profiling): детальный анализ использования CPU/памяти на уровне функций кода (Pyroscope, Grafana Continuous Profiling).

Observability vs. Monitoring

Фундаментальное различие:

  • Мониторинг: заранее знаете, что измерять. Ставите пороги и алерты. Подходит для известных классов сбоев. Работает реактивно.
  • Observability: не знаете заранее, что сломается. Система собирает богатые данные, позволяя задавать произвольные вопросы при инциденте. Работает как диагностический инструмент.

На практике оба подхода дополняют друг друга: мониторинг обнаруживает проблему (алерт), observability помогает понять причину (RCA – Root Cause Analysis).

Где применяется

  • SRE-практики: observability – основа работы SRE-инженера. SLI/SLO/Error Budget строятся на данных, собранных через observability-инструменты.
  • Incident Response: при инциденте distributed traces позволяют быстро найти сбойный сервис.
  • Performance Engineering: выявление узких мест в производительности через traces и profiling.
  • FinOps: связь стоимости ресурсов с конкретными операциями через метаданные трассировок.
  • Compliance и аудит: полная история обработки запроса через distributed traces как audit log.

Связь с другими понятиями

  • OpenTelemetry – стандарт инструментирования для observability, объединяющий сбор traces, metrics, logs.
  • Prometheus – de-facto стандарт сбора метрик, первый столп observability.
  • Log Aggregation – второй столп observability: централизованный сбор и анализ логов.
  • SRE – Site Reliability Engineering строит SLO и error budget на основе observability-данных.
  • Grafana – платформа для визуализации всех трёх сигналов observability через единый UI.
  • Service Mesh – автоматически генерирует базовую observability (golden signals) для всех сервисов.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «Observability».

Платформы класса «Observability»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

Ключ-АСТРОМ

Ключ-АСТРОМ

ИТ-инфраструктура
Ключ-АСТРОМ — российская платформа мониторинга производительности приложений (APM) полного стека. Система объе...
Цена по запросу
★ 4.7
Подробнее →
ИН

ИндексЛог

Observability (Логи/Метрики/Трейсы)
ИндексЛог — система аналитики и визуализации лог-данных для мониторинга и анализа журналов событий информацион...
Цена по запросу
Подробнее →
GM

GMonit

ИТ-инфраструктура
GMonit — российский программный продукт из реестра отечественного ПО, включённый в топ-аналитику по своей кате...
Цена по запросу
Подробнее →
Field Connect

Field Connect

ИТ-инфраструктура
Программное обеспечение для удалённого управления и мониторинга сельскохозяйственного оборудования: дождевальн...
Цена по запросу
★ 4.7
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «Observability».

Где применяется

Отрасли, в которых «Observability» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про Observability

Чем observability отличается от мониторинга?

Мониторинг отвечает на вопрос 'сломалось ли что-то?' (известные пороги). Observability – на вопрос 'почему это сломалось?' (произвольные вопросы к данным). Мониторинг реактивен, observability – диагностична.

Что такое 'три столпа observability'?

Метрики (численные агрегаты – CPU, latency, error rate), логи (временные записи событий) и трассировки (распределённые цепочки операций между сервисами). Вместе они дают полную картину состояния системы.

Нужны ли все три столпа или можно обойтись одним?

Для production-систем рекомендуются все три: метрики для алертинга (дёшевы), логи для деталей ошибок, трассировки для поиска причин в микросервисах. Для небольших систем можно начать с метрик и логов.

Что такое 'cardinality' в контексте observability?

Количество уникальных комбинаций меток (labels) в метриках. Высокая cardinality (например, метка user_id) может привести к взрывному росту данных и падению производительности Prometheus.

Как observability помогает при инцидентах?

Distributed traces показывают полный путь запроса через систему – можно быстро найти сервис с высокой задержкой или ошибками. Из трейса можно перейти к логам конкретного запроса и метрикам в тот момент времени.

Что такое OpenTelemetry и зачем он нужен?

OpenTelemetry – vendor-нейтральный стандарт инструментирования (CNCF), объединяющий сбор traces, metrics, logs через единый API/SDK. Устраняет vendor lock-in: один раз проинструментировали – можно слать данные в любой бэкенд.