Настройка мониторинга пространств имен и модулей: различия между версиями
(Новая страница: «<code>cloudNativeFullStack</code> <code>applicationMonitoring</code> <code>metadataEnrichment</code> В рамках мониторинга кластера ''...») |
(нет различий)
|
Текущая версия на 17:45, 24 ноября 2025
cloudNativeFullStack
applicationMonitoring
metadataEnrichment
В рамках мониторинга кластера Kubernetes с использованием облачного полного стека или мониторинга приложений и применения обогащения метаданных вы можете захотеть ограничиться определенными пространствами имен и модулями.
По умолчанию Ключ-АСТРОМ Operator внедряется во все пространства имен, за исключением:
Мы настоятельно рекомендуем использовать поля |
Мониторинг определенных пространств имен
Чтобы настроить Ключ-АСТРОМ 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" |