9.2

Смотреть на английском

9.2 Наблюдаемость и телеметрия

Обзор и мотивация

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

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

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

См. также: глава 9.1 (инженерия надёжности сайтов и SLO), глава 9.3 (управление инцидентами) и глава 3.3 (распределённые системы).

Ключевые принципы

  • Инструментируйте для неизвестных вопросов. Проектируйте телеметрию так, чтобы можно было расследовать новые отказы, а не только предсказанные.
  • Три столпа, одна история. Метрики, журналы и трассировки дополняющие друг друга виды; их ценность умножается при корреляции, а не в изоляции.
  • Структурируйте всё. Структурированная машиночитаемая телеметрия побеждает свободный текст, читаемый только людьми.
  • Коррелируйте общими идентификаторами. Идентификаторы трассировки и запроса, распространяемые повсюду, позволяют сшить одно событие через сервисы.
  • Оповещайте о симптомах, а не причинах. Вызывайте людей по видимым пользователю проблемам; пусть панели и расследование выявляют лежащую в основе причину.
  • Каждый вызов должен быть действенным. Оповещение, не требующее человеческого действия, шум, разъедающий доверие и вызывающий усталость.
  • Высокая кардинальность это функция. Способность разрезать по пользователю, запросу, региону и версии то, что делает возможной отладку в производстве.
  • Владейте своим инструментированием. Стандартизируйтесь на открытой нейтральной к поставщику телеметрии, чтобы контролировать данные и иметь возможность сменить бэкенд.

Рекомендации

Стройте на трёх столпах и дальше

Метрики это числовые временные ряды, дешёвые для хранения и идеальные для панелей, трендов и порогов оповещений. Журналы это дискретные записи событий с метками времени, богатые деталями и существенные для судебного расследования. Трассировки следуют за одним запросом, пока он движется через сервисы, показывая задержку и зависимости по распределённому графу вызовов. Сверх этого рассмотрите события (значимые изменения состояния вроде развёртываний), профили (где код тратит процессор и память) и мониторинг реальных пользователей фактического клиентского опыта. Ни один столп не достаточен сам по себе. Цель свободно перемещаться между ними во время расследования.

Стандартизируйтесь на OpenTelemetry и структурированном журналировании

Примите OpenTelemetry как нейтральный к поставщику стандарт генерации и сбора метрик, журналов и трассировок. Он отделяет инструментирование от бэкенда анализа, так что вы можете сменить поставщика, не переинструментируя сотни сервисов. Это свойство критично для долгоживущих корпоративных и государственных систем. Испускайте журналы как структурированные записи (например JSON) с согласованными именами полей для метки времени, серьёзности, сервиса и идентификаторов. Распространяйте идентификатор трассировки или корреляции от границы через каждый нижестоящий вызов и включайте его в каждую строку журнала и пример метрики, так что три столпа связываются автоматически.

Проектируйте оповещения для действенности и малого шума

Ваша философия оповещений решает, устойчивы ли дежурства. Оповещайте главным образом о симптомах, которые чувствуют пользователи, выраженных как скорость сгорания SLO (цели уровня обслуживания). Вызывайте, когда вы сжигаете бюджет ошибок (допустимое отклонение от этой цели) достаточно быстро, чтобы его нарушить, используя оповещения по скорости сгорания с несколькими окнами для баланса быстрого обнаружения и ложных тревог. Оставляйте вызовы для проблем, требующих немедленного человеческого действия, а всё остальное направляйте в заявки или на панели. Беспощадно вычищайте оповещения, срабатывающие без необходимости действия, потому что усталость от оповещений ведущая причина пропущенных реальных инцидентов и выгорания дежурных. Каждое оповещение должно ссылаться на ранбук.

Моделируйте здоровье панелями и мониторингом SLO

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

Включите отладку в производстве высокой кардинальностью

Самые трудные производственные проблемы бьют по узкому срезу: один клиент, один регион, одна версия API, один тип устройства. Чтобы расследовать их, нужна телеметрия с высокой кардинальностью, способность группировать и фильтровать по полям со многими различными значениями вроде идентификатора пользователя или запроса. Широкие, богато атрибутированные события, несущие много измерений на запись, позволяют задавать произвольные вопросы постфактум. Сохраняйте достаточно кардинальности и точности выборки, чтобы изолировать выбросы, и предпочитайте трассировки, связанные примерами, чтобы всплеск метрики вёл прямо к репрезентативным медленным запросам.

Управляйте ценой, хранением и выборкой

Объём телеметрии растёт вместе с системой и может превратиться в крупный расход. Задайте политики хранения по классам данных: держите данные высокого разрешения недолго, а агрегаты дольше. Применяйте разумную выборку к трассировкам с уклоном в сохранение ошибок и медленных запросов, чтобы держать интересный хвост, не платя за каждый рутинный успех. Регулярно рецензируйте расходы на телеметрию, потому что неуправляемая цена наблюдаемости может соперничать с наблюдаемой инфраструктурой.

Компромиссы: плюсы и минусы

РешениеПлюсыМинусы
События с высокой кардинальностьюМощная отладка, спрашивай что угодноВыше цена хранения и запросов
Агрессивная выборкаНиже цена, меньше шумаМожет пропускать редкие события
Оповещение по симптомамМеньше, действеннее вызововНужны хорошие SLO для хорошей работы
Стандарт OpenTelemetryНейтрален к поставщику, переносимУсилия миграции, зреющие инструменты
Долгое хранение журналовЛучше судебное расследование и аудитЦена хранения, экспозиция приватности

Решения по наблюдаемости сводятся к напряжению между точностью и ценой. Захват всего при полном разрешении даёт идеальный взгляд назад, но в масштабе непомерно дорог. Режьте агрессивно, и вы экономите деньги, но можете выбросить единственную запись, которая объяснила бы сбой. Выборка и ярусы хранения то, как зрелые команды идут по этой линии, сохраняя ошибки и выбросы и прореживая рутинные данные. Компромисс оповещений между чувствительностью и шумом: слишком много оповещений вызывают усталость и пропущенные инциденты, слишком мало позволяют проблемам гноиться. Оповещение по симптомам, управляемое SLO, разрешает многое из этого, но только если у вас есть осмысленные SLO.

Вопросы для обсуждения с командой

  1. Каков ваш план переноса унаследованных сервисов на OpenTelemetry и как избежать оплаты двух стеков инструментирования во время перехода? Нейтральное к поставщику инструментирование то свойство, что позволяет сменить бэкенд без переинструментирования сотен сервисов, и оно важнее всего для долгоживущих корпоративных и государственных систем, переживающих любой отдельный контракт поставщика. Миграция то место, где добрые намерения застревают: наполовину инструментированные хозяйства оставляют пробелы как раз там, где запрос переходит от нового сервиса к старому, ломая сквозную трассировку. Принесите на обсуждение опись: какие сервисы испускают данные проприетарного агента, какие OpenTelemetry и где контекст трассировки теряется на границе. Решите последовательность, следующую реальным путям запросов, а не оргструктуре, и заложите бюджет на окно, когда вы ведёте оба сборщика. Ответ определяет, владеете ли вы своей телеметрией на самом деле или остаётесь привязанными к агентам одного поставщика.

  2. Когда вы в последний раз проверяли каждое оповещение на действенность и сколько вызовов в прошлом месяце не потребовали человеческого действия? Усталость от оповещений ведущая причина пропущенных реальных инцидентов и выгорания дежурных, поэтому вызов, не требующий действия, не безвредный шум, а активное разъедание реагирования, от которого вы зависите. Принесите расписки: вытащите вызовы прошлого месяца, отметьте каждый как отработанный или проигнорированный и подсчитайте, сколько соответствовало ранбуку. Для большой команды, охватывающей много сервисов, шумные оповещения одной команды десенсибилизируют общее дежурство для всех. Задайте стандарт, что каждый вызов ссылается на ранбук и привязан к скорости сгорания SLO, затем беспощадно удалите остальное. Результат этого аудита должен прямо сократить объём вызовов и показать, у каких сервисов нет осмысленного SLO за оповещениями.

  3. Какова ваша стратегия выборки трассировок и насколько вы уверены, что она сохраняет ошибки и медленный хвост? Объём телеметрии растёт вместе с системой, а неуправляемая цена наблюдаемости может соперничать с наблюдаемой инфраструктурой, поэтому вы будете делать выборку, и вопрос в том, делаете ли вы её разумно. Срезание кардинальности или слепая выборка убирают как раз те записи, что нужны для отладки узких проблем, бьющих по одному клиенту, одному региону или одной версии API. Принесите ваши текущие ярусы хранения и правила выборки: смещаетесь ли вы в сторону сохранения ошибок и медленных запросов, используя трассировки, связанные примерами, так что всплеск метрики ведёт к репрезентативному медленному запросу? Для проверяемых и связанных приватностью систем согласуйте хранение с правилами минимизации данных, чтобы не копить персональные данные ради отладки. Ответ определяет, где вы тратите бюджет телеметрии и будет ли ваш следующий трудный сбой объясним или загадочен.

  4. Какие из ваших SLO настоящие обязательства пользовательских маршрутов, а какие метрики-заместители, в которые никто вне владеющей команды не верит? Оповещение по симптомам работает, только когда симптомы соответствуют тому, что пользователи действительно чувствуют, поэтому оповещение, привязанное к порогу процессора или выдуманной цели доступности, вызывает людей по проблемам, которые могут не иметь значения, молча пропуская те, что имеют. Для большой организации SLO также контракт, позволяющий независимым командам делить ротацию дежурств, не пересматривая серьёзность при каждом инциденте. Принесите нынешний каталог SLO, пользовательский маршрут, который должна защищать каждая цель, и нарушения прошлого квартала с отметкой, жаловались ли клиенты на самом деле. В корпоративной и государственной среде привяжите самые видимые SLO к опубликованным обязательствам по производительности, которым подчинён сервис, так что тот же сигнал скорости сгорания, вызывающий инженера, также свидетельство, которое вы показываете регулятору или надзорному органу. Обсуждение должно вывести метрики-заместители и оставить короткий список целей, которые неинженер признал бы обещаниями пользователям.

  5. Кто владеет управлением данными телеметрии и можете ли вы доказать, что персональные данные вычищены до попадания в бэкенд наблюдаемости? События с высокой кардинальностью и долгое хранение журналов как раз те функции, что делают отладку возможной, и как раз те, что превращают хранилище наблюдаемости в неуправляемую копию персональных данных ваших пользователей. Конкурирующее тяготение реально: инженеры хотят более богатых атрибутов и более долгого хранения, а приватность и юристы минимизации данных и коротких сроков жизни. Принесите карту потоков данных, показывающую, какие поля несут персональные или чувствительные данные, где в конвейере происходит вычищение или токенизация и каковы ваши ярусы хранения по классам данных. Для регулируемых и государственных систем назовите подотчётного владельца, соотнесите хранение с законным основанием и правилами минимизации данных, по которым вы работаете, и будьте готовы показать аудитору, что доступ к самой телеметрии журналируется и контролируется. Ответ решает, является ли ваша платформа наблюдаемости активом или постоянным нарушением, ждущим обнаружения.

  6. Когда инцидент пересекает сервисы нескольких команд, позволяет ли ваша телеметрия одному ответственному проследить запрос от конца до конца или след обрывается на каждой границе владения? Всё обещание коррелируемой телеметрии с распространяемыми идентификаторами в том, что один инженер может рассуждать о системе, которой никто не владеет целиком, и это обещание рушится именно на границе, где теряется контекст трассировки или где две команды используют несовместимые идентификаторы и инструменты. Взвесьте тягу к автономии команд в выборе инструментов наблюдаемости против общей цены раздробленного хозяйства, где каждая передача тупик во время сбоя. Принесите хронику недавнего межкомандного инцидента и отметьте, где ответственный потерял нить, плюс опись того, какие сервисы распространяют общий идентификатор корреляции, а какие нет. Для большой корпорации или государственной платформы, собранной из многих поставщиков и долгоживущих систем, решите, сколько вы предписываете централизованно, общий стандарт контекста трассировки и общую схему идентификаторов, против того, что оставляете командам, потому что компоненты, которые вы перезакупаете десятилетиями, всё равно должны взаимодействовать на одном запросе. Ответ говорит, будет ли ваш следующий межкомандный инцидент скоординированным расследованием или раундом взаимных обвинений.

Взгляд по секторам

Стартап. С горсткой сервисов и без лишних рук инструментируйте OpenTelemetry с первого дня и отгружайте структурированные журналы JSON, несущие один идентификатор запроса от конца до конца. Это малое вложение превращает «приложение медленное» в трассировку, которую можно прочитать, и оставляет вас свободными перейти с бесплатного яруса на платный бэкенд позже без переинструментирования. Пропустите сложные панели и механизмы SLO, пока у вас нет пользователей, чей опыт можно действительно измерить.

Малый бизнес. У вас нет специалиста по наблюдаемости и бюджет ограничен, поэтому опирайтесь на управляемый бэкенд, где инструментирование, хранение и панели поставляются в комплекте, а не собирайте собственный стек. Решение «покупать или строить» здесь почти всегда в пользу покупки; ваше дефицитное внимание лучше потратить на два-три оповещения золотых сигналов, говорящих, что сервис упал, чем на эксплуатацию конвейера телеметрии. Задайте жёсткий предел хранения, чтобы цена телеметрии не обогнала тихо наблюдаемую инфраструктуру.

Крупная организация. Работа это управление по многим командам: общий стандарт OpenTelemetry, общая схема идентификаторов корреляции и курируемые панели SLO, так что один ответственный может проследить запрос через десятки сервисов. Управляйте телеметрией как центром затрат с ярусами хранения и политикой выборки, стандартизируйте оповещения на скорости сгорания SLO, чтобы общее дежурство оставалось устойчивым, и вычищайте шумные оповещения централизованно, чтобы усталость одной команды не десенсибилизировала всех. Воспринимайте слой инструментирования как нейтральную к поставщику инфраструктуру, переживающую любой отдельный контракт бэкенда.

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

Примеры

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

Крупная организация. Большая платформа электронной коммерции инструментирует каждый сервис OpenTelemetry, распространяя идентификатор трассировки из браузера клиента через оформление заказа, оплату, склад и доставку. Когда конверсия падает, дежурный инженер начинает с оповещения по скорости сгорания SLO, открывает золотые сигналы панели оформления заказа, замечает повышенную задержку в одном регионе и следует по примерной трассировке к медленному вызову базы данных в одном сервисе. Атрибуты высокой кардинальности показывают, что проблема ограничена одной категорией товаров, что направляет целевое исправление за минуты, а не часы.

Государственный сектор. Национальная служба здравоохранения ведёт платформу медицинских записей по строгим правилам аудита и приватности. Структурированные журналы фиксируют, кто к какой записи обращался и когда, питая и мониторинг безопасности, и отчётность соответствия, тогда как поля, идентифицирующие личность, вычищаются или токенизируются в телеметрии. Публичные панели SLO показывают доступность и задержку записи на приём для граждан. Стандартизируясь на открытом инструментировании, ведомство избегает проприетарной привязки в системе, которой предстоит работать десятилетиями и перезакупаться разными поставщиками на протяжении жизни.

Бизнес-обоснование: мотивы, ROI и TCO

Главная отдача от наблюдаемости драматическое сокращение времени обнаружения и разрешения инцидентов. Для сервиса, где простой дорог, сокращение среднего времени разрешения с часов до минут окупает инструменты многократно за один крупный инцидент. Наблюдаемость также экономит инженерное время, которое иначе тратилось бы на догадки, воспроизведение ошибок и споры, чья команда виновата, и сокращает цикл обратной связи, позволяющий командам отгружать с уверенностью. Ценность для безопасности и соответствия тоже реальна: та же телеметрия поддерживает обнаружение вторжений и свидетельства аудита.

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

Антипаттерны и ловушки

  • Оповещать обо всём. Вызовы по каждой аномалии приучают ответственных игнорировать оповещения, так что реальные инциденты проскальзывают.
  • Вызовы по причинам. Оповещение о внутренних причинах, а не пользовательских симптомах, заливает дежурство шумом и пропускает новые отказы.
  • Неструктурированные журналы. Журналы в виде свободного текста, которые нельзя запрашивать или коррелировать, вынуждают к медленному ручному grep во время инцидентов.
  • Три изолированных столпа. Метрики, журналы и трассировки в несвязанных инструментах без общих идентификаторов мешают проследить событие от конца до конца.
  • Разрастание панелей. Сотни не курируемых панелей означают, что никто не знает, какая показывает, здорова ли система.
  • Коллапс кардинальности. Срезание полей с высокой кардинальностью ради экономии убирает именно те данные, что нужны для отладки узких проблем.
  • Привязка к поставщику. Проприетарные агенты повсюду делают смену бэкенда непомерно дорогой и держат ваши данные в заложниках.

Модель зрелости

Уровень 1, Начальный. Наблюдаемость стихийна и реактивна. Базовые проверки доступности и неструктурированные журналы живут на отдельных машинах, отладка означает вход на серверы для grep, а общей телеметрии нет. Оповещения шумны, основаны на причинах и нередко игнорируются, так что реальные инциденты всплывают через жалобы пользователей, а не сигналы.

Уровень 2, Развитие. Появляются базовые практики, различающиеся по командам. Некоторые сервисы отправляют метрики и журналы в центральное место, существуют несколько панелей и оповещений по порогам, но журналы лишь полуструктурированы, а трассировок нет или они частичны. Корреляция между сервисами ручная, и сможет ли инженер проследить запрос от конца до конца, зависит от того, какие команды оказались вовлечены.

Уровень 3, Стандартизация. Инструментирование документировано и принуждается по организации. OpenTelemetry по сервисам с распространяемым идентификатором трассировки или корреляции, структурированное журналирование с согласованными именами полей, распределённая трассировка, курируемые панели золотых сигналов и оповещение по симптомам на основе SLO стандарт, которому следует каждая команда. Каждый вызов ссылается на ранбук и привязан к SLO, а дежурство устойчиво, а не источник выгорания.

Уровень 4, Управление. Само хозяйство наблюдаемости измеряется и контролируется относительно базовых значений. Вы отслеживаете покрытие инструментированием и долю распространения контекста трассировки по сервисам, долю вызовов отработанных против проигнорированных, среднее время обнаружения и разрешения, достижение SLO и сгорание бюджета ошибок и цену телеметрии на сервис относительно бюджета. Пробелы и шум оповещений снижаются данными к явным целям, точность выборки проверяется, чтобы записи ошибок и медленного хвоста выживали, а решения «пускать или нет» по покрытию и хранению принимаются по свидетельствам, а не мнению.

Уровень 5, Оркестрация. Наблюдаемость непрерывно улучшается и интегрирована по организации. Телеметрия с высокой кардинальностью, богатая событиями, позволяет стихийное расследование любого среза, оповещение управляется скоростью сгорания SLO с минимальным шумом, а выборка и хранение адаптируются к меняющейся цене и риску. Телеметрия рутинно питает планирование мощности, обнаружение угроз и продуктовые решения, а платформа сама перенастраивает свои сигналы, бюджеты и покрытие по мере сдвигов системы, картины угроз и регуляторных обязательств.

Идеи для обсуждения

  • Где правильный баланс между точностью телеметрии и ценой для ваших самых критичных сервисов?
  • Как вы решаете, что заслуживает вызова, что заявки, а что только записи на панели?
  • Какова ваша стратегия распространения идентификаторов корреляции между командами, не делящими кодовую базу или цикл выпуска?
  • Как сохранить мощность отладки с высокой кардинальностью, соблюдая требования приватности и минимизации данных?
  • Следует ли инструменты наблюдаемости предписывать централизованно или выбирать по командам и каковы последствия того и другого?
  • Как вы продемонстрировали бы аудиторам, что ваша телеметрия полна и защищена от подделки?

Главные выводы

  • Мониторинг обнаруживает известные проблемы; наблюдаемость позволяет расследовать неизвестные, не отгружая нового кода.
  • Метрики, журналы и трассировки ценнее всего при корреляции через общие идентификаторы, а не в изоляции.
  • Стандартизируйтесь на OpenTelemetry и структурированном журналировании, чтобы оставаться нейтральными к поставщику и переносимыми на долгие сроки жизни систем.
  • Оповещайте о видимых пользователю симптомах через скорость сгорания SLO, делайте каждый вызов действенным и вычищайте шум беспощадно.
  • Курируйте панели вокруг ясной модели здоровья вроде золотых сигналов, а не показывайте каждую метрику.
  • Телеметрия с высокой кардинальностью, богатая событиями, то, что делает возможной отладку узких производственных проблем.

Источники и дополнительное чтение

  • Charity Majors, Liz Fong-Jones, George Miranda, Observability Engineering: Achieving Production Excellence
  • Cindy Sridharan, Distributed Systems Observability
  • Betsy Beyer et al., Site Reliability Engineering (chapters on monitoring and alerting)
  • Brendan Gregg, Systems Performance: Enterprise and the Cloud
  • OpenTelemetry project, specification and documentation (Cloud Native Computing Foundation)
  • Google, The Four Golden Signals (Site Reliability Engineering, monitoring chapter)