Изучаем OpenTelemetry

Metadata

Author:: Тед Янг, Остин Паркер; Year::

Item Type:: Book Publisher: Спринт Бук Pages:: 240

Abstract

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

Авторы Тед Янг и Остин Паркер, руководители, основатели и участники проекта OpenTelemetry, представляют все компоненты OpenTelemetry, а также лучшие практики наблюдаемости для многих популярных облачных сервисов, платформ и сервисов данных, таких как Kubernetes и AWS Lambda. Вы узнаете, как OpenTelemetry дает возможность сервисам и библиотекам OSS создавать собственное нативное инструментирование – впервые в отрасли.

The Book in 3 Sentences

What can I apply

Key Takeaways & Evergreens

Impressions

How the Book Changed Me

My Top 3 Quotes

Highlights

Quote

« Если когда-то задачу можно было сравнить с поиском иголки в стоге сена, то теперь она начинает напоминать поиски иголки в стоге иголок. » (Page 24)

Quote

« Когда возникает проблема, есть только два аспекта, которые можно менять: разработчики могут изменить то, что делают транзакции, а операторы могут изменить состав доступных ресурсов. И это все. » (Page 33)

Не думал об этом в таком ключе. Но звучит более чем разумно. других ручек по сути нет.

Quote

« Жесткий контекст — уникальный идентификатор уровня запро- са, который может распространяться сервисами в распределенном приложении к другим сервисам, участвующим в обработке того же запроса » (Page 46)

Quote

« Мягкий контекст формируется различными фрагментами ме- таданных, которые присоединяются каждым инструментом телеметрии к различным сервисам и инфраструктуре, обрабаты- вающим тот же запрос, — например, идентификатором клиента, » (Page 46)

Quote

« Золотые сигналы — четыре критические характеристики, которые должны сниматься для системы, как указано которые должны сниматься для системы, как указано в кни- ге Google SRE Handbook (https://oreil.ly/aw2iQ). ге Google SRE Handbook (https://oreil.ly/aw2iQ). Задержка (latency) — время, необходимое для обслуживания (latency) — время, необходимое для обслуживания запроса, трафик (traffic) — количество запросов, ошибки (errors) — (latency) — время, необходимое для обслуживания запроса, трафик (traffic) — количество запросов, ошибки (errors) — относительная доля ошибочных запросов, насыщение относительная доля ошибочных запросов, насыщение (satu- ration) — степень загрузки системных ration) — степень загрузки системных ресурсов. » (Page 65)

Quote

« Экземпляры Метрики OpenTelemetry поддерживают особую разновидность жестких контекстов — экземпляры (exemplars), позволяющие связать событие с конкретным интервалом и трассировкой. В главе 5 вы узнаете, как создавать эти метрики и использовать их в своих приложениях. » (Page 68)

Quote

« Средства долгосрочного хранения, анализа, GUI и другие фронтенд-компоненты не включены в OpenTelemetry и никогда не будут. » (Page 88)

Quote

« коннектора OpenTelemetry Collector spanmetrics. Если отфиль- тровать дашборд, оставив только сервисы » (Page 95)

Quote

« Сэмплеры отвечают за то, записывается ли интервал или игно- рируется. » (Page 115)

Quote

« Но если телеметрия экспортируется в локальный коллектор, мы рекомен- дуем присвоить scheduledDelayMillis существенно меньшее зна- чение. Это гарантирует, что в случае внезапного сбоя чение. Это гарантирует, что в случае внезапного сбоя приложения будет потерян минимальный объем телеметрических данных. » (Page 117)

Quote

« Недавно проект OpenTelemetry определил конфигурационный файл, работающий во всех языках. Этот подход рекомендуется использовать для настройки конфигурации. Конфигурационный файл обладает всеми преимуществами переменных окружения, но он намного проще проверяется » (Page 125)

Quote

« Существует один критический набор ресурсов, которые невоз- можно получить из среды: ресурсы, описывающие ваш сервис. Эти ресурсы невероятно важны, поэтому вы должны просле- дить за тем, чтобы они были определены как часть настройки OpenTelemetry. » (Page 127)

Quote

« Хотя вы можете легко загрузить контейнер Docker или заранее построенный двоичный образ Collector, в рабочих средах следует использовать Collector Builder (https://oreil.ly/UOy49). Эта служебная программа позволяет сгенерировать нестандартную сборку со встроенными получателями, экспортерами и обработчиками, которые вам нужны. » (Page 163)

Quote

« Интервальные ссылки (https://oreil.ly/JcWS4) позволя- ют создать причинно-следственную связь между ют создать причинно-следственную связь между интервалами, не связанными прямыми отношениями «родитель/потомок». » (Page 175)

Имеет смысл например при пробросе через сервис очередей так как мы не знаем сколько сообщение проведет в очереди.

Quote

« Един- ственным изменяемым параметром конфигурации должно быть уменьшение размера пакета и тайм-аут экспорта, как упоминалось ранее. » (Page 182)

Quote

« В настоящее время в проекте OpenTelemetry разрабаты- вается протокол для управления Collector через вается протокол для управления Collector через панель управления. Протокол OpAMP (Open Agent Management управления. Протокол OpAMP (Open Agent Management Protocol) Protocol) (https://github.com/open-telemetry/opamp-spec/blob/ main/speciication.md) заметно упростит развертывание main/speciication.md) заметно упростит развертывание изме- нений конфигурации и новых бинарных файлов нений конфигурации и новых бинарных файлов Collector по комплексу Collector независимо от управления по комплексу Collector независимо от управления при- ложениями. Это также позволяет Collector ложениями. Это также позволяет Collector сообщать метрики » (Page 185)

Quote

« Первым шагом должно стать удаление всего, что вам не нужно. Вы можете воспользоваться фильтрами, чтобы полностью убрать из конвейера конкретные журнальные сообщения, интервалы или метрические инструменты. » (Page 191)

следует отфильтровать health check

Quote

« выполнять это отображение на языке OTTL (OpenTelemetry Transformation Language) (https://oreil.ly/P2YZ8). Журналы могут обрабатываться в OpenTelemetry разными » (Page 199)

Quote

« Надеемся, эта книга стала для вас полезным источником знаний! Если вы захотите связаться с авторами напрямую, вы не найдете их НИГДЕ, ПОТОМУ ЧТО TWITTER УМЕР. СОВСЕМ УМЕР. Если вы встретите авторов в дикой природе, не пытайтесь к ним приближаться. Медленно отойдите и не смотрите им в глаза. » (Page 233)