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

Материал из Документация Ключ-АСТРОМ
Версия от 17:45, 24 ноября 2025; IKuznetsov (обсуждение | вклад) (Новая страница: «<code>cloudNativeFullStack</code> <code>applicationMonitoring</code> <code>metadataEnrichment</code> В рамках мониторинга кластера ''...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

cloudNativeFullStack

applicationMonitoring

metadataEnrichment

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

По умолчанию Ключ-АСТРОМ Operator внедряется во все пространства имен, за исключением:
  • Пространства имен с префиксом kube- или openshift-.
  • Пространство имен, в котором был установлен Ключ-АСТРОМ Operator.

Мы настоятельно рекомендуем использовать поля namespaceSelector (см. ниже), чтобы сохранять полный контроль над тем, что вводится.

Мониторинг определенных пространств имен

Чтобы настроить Ключ-АСТРОМ Operator для внедрения ЕдиногоАгента только в определенные пространства имен или применения обогащения метаданных, задайте параметр namespaceSelector в пользовательском ресурсе DynaKube.

Описанные здесь аннотации и namespaceSelector влияют только на внедрение, выполняемое веб-перехватчиком Ключ-АСТРОМ Operator. Они не влияют на возможности мониторинга Kubernetes API через АктивныйШлюз или на мониторинг на уровне хоста через ЕдиныйАгент.

Для получения дополнительной информации см. Параметры DynaKube для Ключ-АСТРОМ Operator (поля .spec.metadataEnrichment, .spec.oneAgent.cloudNativeFullStack и .spec.oneAgent.applicationMonitoring).

1. Обозначьте свои пространства имен.

Kubernetes OpenShift
kubectl label namespace <my_namespace> dt-monitoring=true oc label namespace <my_namespace> dt-monitoring=true

2. Измените DynaKube, добавив namespaceSelector, чтобы указать метку для мониторинга.

Обогащение метаданных Облачный полнофункциональный мониторинг Мониторинг приложений
spec:

  metadataEnrichment:

    namespaceSelector:

      matchLabels:

        dt-monitoring: "true"

spec:

  oneAgent:

    cloudNativeFullStack:

      namespaceSelector:

        matchLabels:

          dt-monitoring: "true"

spec:

  oneAgent:

    applicationMonitoring:

      namespaceSelector:

        matchLabels:

          dt-monitoring: "true"

Более подробную информацию о настройке меток для выборочного мониторинга см. в разделе Метки и селекторы.

Чтобы добавить исключения для определенных модулей в выбранных пространствах имен, вы можете аннотировать соответствующие модули (ниже).

Исключение определенных пространств имен

Чтобы исключить определенные пространства имен из мониторинга, измените пользовательский ресурс DynaKube следующим образом.

  • key определяет ключ метки. Начиная с Kubernetes версии 1.22, к пространствам имен добавляется метка по умолчанию kubernetes.io/metadata.name.
  • values определить значение метки.

Пример с меткой Kubernetes по умолчанию

Если вы запустите kubectl describe namespace astromkey, вы увидите:

metadata:

  name: astromkey

  labels:

    kubernetes.io/metadata.name=astromkey

Допустимым примером селектора для исключения astromkey будет:

...

namespaceSelector:

  matchExpressions:

  - key: kubernetes.io/metadata.name

    operator: NotIn

    values:

    - astromkey

Веб-перехватчик внедрит каждое пространство имен, которое соответствует всем namespaceselector.

Более подробную информацию см. в разделе Ресурсы, поддерживающие требования на основе наборов.

Исключение определенных модуле в отслеживаемых пространствах имен

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

...

metadata:

  annotations:

    ...

    oneagent.astromkey.com/inject: "false"

В число доступных аннотаций для детального управления входят:

  • astromkey.com/inject: отключает все внедрения при установке значения false. Однако установка значения true не даст никакого эффекта; аннотацию можно использовать только для исключения модулей из внедрений.
  • metadata-enrichment.astromkey.com/inject: Предотвращает добавление файла обогащения метрики, когда false.
  • oneagent.astromkey.com/inject: Отключает модификации ЕдиногоАгента, если установлено значение false.

Исключение определенных контейнеров из контролируемых контейнеров

Ключ-АСТРОМ Operator версии 1.0.0+

Чтобы исключить определенные образы контейнеров в отслеживаемых пространствах имен, соответствующим образом аннотируйте модули или DynaKube (это может быть полезно, например, для исключения контейнеров side car).

...

metadata:

  annotations:

    ...

    container.inject.astromkey.com/<container-name>: "false"

Эту аннотацию можно применять на уровне DynaKube (влияя на все модули) или на уровне отдельного модуля (влияя только на указанный модуль).

Мониторинг только определенных модулей

Ключ-АСТРОМ Operator версии 0.8.0+

Ключ-АСТРОМ Operator можно настроить на мониторинг пространств имен без внедрения в какие-либо модули, поэтому вы можете выбирать, какие модули отслеживать.

1. Отключите функцию автоматического внедрения для развертывания DynaKube в вашем кластере.

apiVersion: astromkey.com/v1beta5

kind: DynaKube

metadata:

  name: dynakube

  namespace: astromkey

  annotations:

    feature.astromkey.com/automatic-injection: "false"

spec:

  oneAgent:

    cloudNativeFullStack:

      namespaceSelector:

        matchLabels:

          dt-monitoring: "true"

...

2. Используйте селекторы меток или ручные аннотации для пространств имен, которые вы хотите выборочно отслеживать.

kubectl label namespace <my_namespace> dt-monitoring=true

3. Отметьте модули, которые вы собираетесь отслеживать.

  • Работает с аннотациями oneagent.astromkey.com/inject и metadata-enrichment.astromkey.com/inject.
...

metadata:

  annotations:

    ...

    oneagent.astromkey.com/inject: "true"