Настройка мониторинга пространства имен и модулей: различия между версиями
(Новая страница: «<code>cloudNativeFullStack</code> <code>applicationMonitoring</code> В рамках мониторинга кластера '''Kubernetes''' с использ...») |
(нет различий)
|
Текущая версия на 11:34, 18 августа 2025
cloudNativeFullStack
applicationMonitoring
В рамках мониторинга кластера Kubernetes с использованием облачного полного стека или мониторинга приложений вы можете ограничиться определенными пространствами имен и модулями.
По умолчанию Ключ-АСТРОМ Operator внедряет ЕдиныйАгент во все пространства имен, за исключением:
|
Мониторинг определенных пространств имен
Чтобы настроить Ключ-АСТРОМ Operator для внедрения ЕддиногоАгента только в определенные пространства имен или применения обогащения метаданных, задайте параметр namespaceSelector в пользовательском ресурсе AstroKube.
Для получения дополнительной информации см. Параметры AstroKube для Ключ-АСТРОМ Operator (поля .spec.metadataEnrichment, .spec.oneAgent.cloudNativeFullStack и .spec.oneAgent.applicationMonitoring).
- Обозначьте свои пространства имен.
- Kubernetes -
kubectl label namespace <my_namespace> astromkey.com/inject=true - OpenShift -
oc label namespace <my_namespace> astromkey.com/inject=true
- Kubernetes -
- Измените AstroKube, добавив
namespaceSelector, чтобы указать метку для мониторинга.
| ...
namespaceSelector: matchLabels: astromkey.com/inject: "true" |
Более подробную информацию о настройке меток для выборочного мониторинга см. в разделе Метки и селекторы.
Чтобы добавить исключения для определенных модулей в выбранных пространствах имен, вы можете аннотировать соответствующие модули.
Исключение определенных пространств имен
Чтобы исключить определенные пространства имен из мониторинга, измените пользовательский ресурс AstroKube следующим образом.
keyопределяет ключ метки. Начиная с Kubernetes версии 1.22, к пространствам именkubernetes.io/metadata.nameдобавляется метка по умолчанию .valuesопределяет значение метки.
| ...
namespaceSelector: matchExpressions: - key: LabelKey operator: NotIn values: - LabelValue |
Пример с меткой 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.metadata-enrichment.astromkey.com/inject: Предотвращает добавление файла обогащения метрики, когдаfalse.oneagent.astromkey.com/inject: Отключает модификации ЕдиногоАгента, если установлено значениеfalse.
Исключить определенные контейнеры из контролируемых контейнеров
Ключ-АСТРОМ Operator версии 1.0.0+
Чтобы исключить определенные образы контейнеров в отслеживаемых пространствах имен, соответствующим образом аннотируйте модули или AstroKube (это может быть полезно, например, для исключения контейнеров side car).
| ...
metadata: annotations: ... container.inject.astromkey.com/<container-name>: "false" |
Эту аннотацию можно применять на уровне AstroKube (влияя на все модули) или на уровне отдельного модуля (влияя только на указанный модуль).
Мониторинг только определенных модулей
Ключ-АСТРОМ Operator версии 0.8.0+
Ключ-АСТРОМ Operator можно настроить на мониторинг пространств имен без внедрения в какие-либо модули, поэтому вы можете выбирать, какие модули следует отслеживать.
1. Отключите функцию автоматического внедрения для развертывания AstroKube в вашем кластере.
| apiVersion: astromkey.com/v1beta2
kind: DynaKube metadata: name: dynakube namespace: astromkey annotations: feature.astromkey.com/automatic-injection: "false" spec: oneAgent: cloudNativeFullStack: namespaceSelector: matchLabels: astromkey.com/inject: "true" ... |
2. Используйте селекторы меток или ручные аннотации для пространств имен, которые вы хотите выборочно отслеживать.
| kubectl label namespace <my_namespace> astromkey.com/inject=true |
3. Отметьте модули, которые вы собираетесь отслеживать.
| ...
metadata: annotations: ... oneagent.astromkey.com/inject: "true" |