Запуск мониторинга Kubernetes/OpenShift

Материал из Dynatrace

Есть разные способы активировать Dynatrace в Kubernetes. Каждый способ имеет свои преимущества. Мы рекомендуем эти стратегии развертывания с точки зрения полноты функций и отсутствия ограничений.

Вы можете перейти с устаревшего оператора ЕдиныйАгент на новый оператор Dynatrace, который управляет жизненным циклом нескольких компонентов Dynatrace, таких как ЕдиныйАгент, маршрутизация и монитор API Kubernetes. Инструкции по миграции см. в разделе Миграция с оператора ЕдиныйАгент на оператор Dynatrace в Kubernetes/OpenShift с помощью kubectl/oc .

Классическое инжектирование полного стека

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

Руководство по установке см. в разделе Настройка мониторинга Kubernetes .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .

Возможности и ограничения

Возможности:

  • Бесшовная интеграция с хостом (узлом Kubernetes). Инструментированные модули сохраняют свои таксономические отношения с хостами и метриками хостов. Агенты хоста дополняют модули кода обнаружением OOM, мониторингом дисков и хранилищ, мониторингом сети и т. д.
  • Всесторонность. Этот комплексный подход включает в себя мониторинг кластера Kubernetes, распределенную трассировку, изоляцию домена сбоя и глубокое понимание на уровне кода с использованием единой конфигурации развертывания для ваших кластеров.

Ограничения: существует зависимость запуска между контейнером, в котором развернут ЕдиныйАгент, и контейнерами приложений, которые должны быть инструментированы (например, контейнерами, в которых включен глубокий мониторинг процессов). Контейнер ЕдиногоАгента должен быть запущен, а oneagenthelperпроцесс должен быть запущен до запуска контейнера приложения, чтобы приложение могло быть правильно инструментировано.

Развернутые ресурсы

Dynatrace Operator управляет классической инъекцией полного стека после развертывания следующих ресурсов.

  • ЕдиныйАгент , развернутый как DaemonSet, собирает метрики хоста с узлов Kubernetes. Он также обнаруживает новые контейнеры и внедряет модули кода ЕдиныйАгент в модули приложений.
  • Dynatrace АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.
  • Сервер веб-перехватчиков Dynatrace проверяет правильность определений Dynakube.

Kub1.png

Примечание. Для классического внедрения полного стека требуется доступ на запись из модуля ЕдиныйАгент к файловой системе узла Kubernetes для обнаружения и внедрения во вновь развернутые контейнеры.

Облачное внедрение полного стека

Руководство по установке см. в разделе Настройка мониторинга Kubernetes .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .

Возможности и ограничения

Возможности:

  • Предлагает аналогичную функциональность, как классическое внедрение полного стека (см. ограничения ниже).
  • Использует изменяющиеся веб-перехватчики для внедрения модулей кода в модули приложений.

Ограничения:

  • Файлы диагностики ("архивы поддержки") для модулей приложений пока не поддерживаются.
  • Правила мониторинга контейнеров пока не поддерживаются (параметр селектора меток Dynakube предоставляет аналогичную функциональность).
  • Сетевые зоны пока не поддерживаются.
  • Трассировка дополнительных модулей Istio и входных шлюзов, а также любых других экземпляров прокси-сервера Envoy не поддерживается.

Развернутые ресурсы

Dynatrace Operator управляет облачной инъекцией полного стека после развертывания следующих развернутых ресурсов.

  • ЕдиныйАгент , развернутый как DaemonSet, собирает метрики хоста с узлов Kubernetes.
  • Сервер веб-перехватчиков Dynatrace изменяет определения модулей, чтобы включить модули кода Dynatrace для наблюдения за приложениями.
  • Драйвер Dynatrace CSI, развернутый как DaemonSet, предоставляет доступное для записи хранилище томов для ЕдиныйАгент и двоичных файлов ЕдиныйАгент для модулей.
  • Dynatrace АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.

Kub2.png

Мониторинг хоста

Руководство по установке см. в разделе Настройка мониторинга Kubernetes .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .

Возможности и ограничения

Возможности: собирает метрики узлов и обрабатывает данные.

Ограничения. Диагностические файлы («архивы поддержки») для модулей приложений еще не поддерживаются для файловых систем, доступных только для чтения.

Развернутые ресурсы

Dynatrace Operator управляет мониторингом хоста после развертывания следующих развернутых ресурсов:

  • Сервер веб-перехватчиков Dynatrace только проверяет DynaKube и проверяет его правильность, не изменяя определения модулей.
  • Драйвер Dynatrace CSI обеспечивает доступное для записи объемное хранилище для ЕдиныйАгент.
  • Dynatrace АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.

Kub3.png

Мониторинг только приложений: автоматический ввод

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

Руководство по установке см. в разделе Автоматическая инъекция только для приложений .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .

Возможности и ограничения

Возможности:

  • Он разработан для Kubernetes. Dynatrace внедряет данные в модули с помощью контроллера допуска Kubernetes, который внедряет модуль кода Dynatrace в контейнеры приложений.
  • Гибкость. Вы получаете детальный контроль над инструментированными модулями с помощью пространств имен и аннотаций. Вы можете легко направлять метрики pod в разные среды Dynatrace в одном кластере Kubernetes.

Ограничения. При развертывании в режиме только для приложений ЕдиныйАгент отслеживает память, диск, ЦП и сетевые процессы только внутри контейнера. Показатели хоста не отслеживаются. Топология ограничена модулями и контейнерами.

Развернутые ресурсы

Dynatrace Operator управляет автоматическим инжектированием только для приложений после развертывания следующих ресурсов.

  • Сервер веб-перехватчиков Dynatrace изменяет определения модулей, чтобы включить модули кода Dynatrace для наблюдения за приложениями.
  • Dynatrace АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.

Kub4.png

Мониторинг только приложений: внедрение модуля во время выполнения

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

Руководство по установке см . в разделе Внедрение пода во время выполнения .

Возможности

  • Это родной Kubernetes. Модули кода Dynatrace внедряются в модули с помощью контейнеров инициализации Kubernetes.
  • Гибкость. Различные образы контейнеров могут содержать отдельные конфигурации для разных сред Dynatrace.

Kub5.png

Мониторинг только приложений: внедрение контейнера во время сборки

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

Руководство по установке см. в разделе Внедрение контейнера во время сборки .

Возможности

  • Он имеет инъекцию статического контейнера. Модули кода Dynatrace встраиваются в образы контейнеров по мере их создания.
  • Он гибкий. Различные образы контейнеров могут содержать отдельные конфигурации для разных сред Dynatrace. Вы можете использовать эти образы на любой контейнерной платформе или PaaS в дополнение к Kubernetes.

Kub6.png

Классическое ручное инжектирование полного стека

Вы можете использовать классическую стратегию ручного внедрения полного стека для ручного развертывания ЕдиныйАгент DaemonSet и Kubernetes API без оператора Dynatrace.

Требования к хранению

В следующей таблице показаны требования к хранилищу для типов развертывания Dynatrace Operator.

Тип развертывания Без драйвера CSI С драйвером CSI1 С драйвером CSI и изображением кодовых модулей
classicFullStack ~1,3 ГБ для конфигурации/бинарных файлов ЕдиногоАгента2 (непосредственно на узле) неприменимо неприменимо
hostMonitoring ~1,3 ГБ для конфигурации/бинарных файлов ЕдиныйАгент2 (непосредственно на узле) ~1,3 ГБ для конфигурации/бинарных файлов ЕдиныйАгент2 (на узле, управляемом драйвером CSI) неприменимо
applicationMonitoring ~650 МБ на отслеживаемый модуль3 (во временном хранилище, непосредственно на модуле) - ~650 МБ на одного арендатора и работающей версии ЕдиногоАгента4

- ~0,2 МБ (и логи во время выполнения) на внедренный модуль

- ~650 МБ на работающий версии ЕдиногоАгента4

- ~0,2 МБ (и журналы во время выполнения) на внедренный модуль

cloudNativeFullStack неприменимо (требуется драйвер CSI) Комбинация из следующего:

- hostMonitoringс драйвером CSI - applicationMonitoringс драйвером CSI

Комбинация из следующего:

- hostMonitoringс драйвером CSI - applicationMonitoringс драйвером CSI и образом модулей кода

1 Используется для поддержки файловой системы только для чтения (по умолчанию для мониторинга узлов и облачных развертываний с полным стеком).

2 Новые версии ЕдиногоАгента перезаписывают старые версии ЕдиногоАгента.

3 Если модуль уничтожен, ЕдиныйАгент автоматически удаляется.

4 Сборщик мусора удаляет старые версии ЕдиногоАгента, которые больше не используются, в течение 60 минут.