Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как включить полный мониторинг кластеров Kubernetes с помощью следующих функций Azure Monitor:
- Управляемый Prometheus для сбора метрик
- Инсайты контейнеров для сбора логов
- Сервис Grafana Managed для визуализации.
С помощью портал Azure можно включить все функции одновременно. Вы также можете включить их по отдельности с помощью Azure CLI, шаблона Azure Resource Manager, Terraform или Политика Azure. Каждый из этих методов описан в этой статье.
Внимание
Кластеры Kubernetes создают большое количество данных журнала, что может привести к значительным затратам, если вы не подходите выборочно к выбору собираемых журналов. Прежде чем включить мониторинг кластера, ознакомьтесь со следующими статьями, чтобы убедиться, что среда оптимизирована для затрат и что вы ограничиваете сбор журналов только нужными данными:
-
Настройка сбора данных и оптимизации затрат в службе Container Insights с использованием правила сбора данных
Сведения о настройке коллекции журналов после включения мониторинга, включая использование предварительно настроенных конфигураций оптимизации затрат. -
Рекомендации по мониторингу Kubernetes с помощью Azure Monitor
Рекомендации по мониторингу кластеров Kubernetes, организованных пятью основными компонентами Платформы Azure Well-Architected Framework, включая оптимизацию затрат. -
Оптимизация затрат в Azure Monitor
Рекомендации по настройке всех функций Azure Monitor для оптимизации затрат и ограничения объема собираемых данных.
Поддерживаемые кластеры
В этой статье приводятся рекомендации по подключению для следующих типов кластеров. Все различия в процессе каждого типа отмечаются в соответствующих разделах.
Предварительные условия
Разрешения
- Для подключения требуется по крайней мере доступ участника к кластеру.
- После включения мониторинга требуются читатель мониторинга или участник мониторинга для просмотра данных.
Предварительные требования для управляемого решения Prometheus
- Кластер должен использовать аутентификацию с использованием управляемой учётной записи.
- Следующие поставщики ресурсов должны быть зарегистрированы в подписке кластера и рабочей области Azure Monitor:
- Microsoft.ContainerService
- Microsoft.Insights
- Microsoft.AlertsManagement
- Microsoft.Monitor
- Следующие поставщики ресурсов должны быть зарегистрированы в подписке рабочей области Grafana:
- Microsoft.Dashboard
Предварительные требования для кластеров Kubernetes с поддержкой Arc
- Проверьте требования брандмауэра, а также требования сети Kubernetes с поддержкой Azure Arc.
- Если вы ранее настроили мониторинг для AKS, обязательно отключите его перед продолжением, чтобы избежать проблем во время установки расширения.
- Если вы ранее установили мониторинг в кластере с помощью скрипта без расширений кластера, выполните инструкции по отключению мониторинга кластера Kubernetes, чтобы удалить эту диаграмму Helm.
Примечание.
Расширение Managed Prometheus Arc-Enabled Kubernetes не поддерживает следующие конфигурации:
- Дистрибутивы Red Hat Openshift, включая Azure Red Hat OpenShift (ARO)
- Узлы Windows*
*Для кластеров с поддержкой ARC с узлами Windows можно настроить Управляемый Prometheus Azure на узле Linux в кластере и настроить сбор метрик с конечных точек метрик, работающих на узлах Windows.
Рабочие области
В следующей таблице описаны рабочие области, необходимые для поддержки управляемого prometheus и аналитики контейнеров. Вы можете создать каждую рабочую область как часть процесса подключения или использовать существующую рабочую область. См. Руководство по проектированию архитектуры рабочей области Log Analytics, чтобы узнать, сколько рабочих областей следует создать и где их разместить.
Функция | Рабочая область | Примечания. |
---|---|---|
Управляемый Prometheus | Рабочая область Azure Monitor |
Contributor достаточно разрешений, чтобы включить надстройку для отправки данных в рабочую область Azure Monitor. Вам потребуется разрешение уровня Owner для подключения рабочей области Azure Monitor к Azure Managed Grafana для просмотра метрик. Для этого необходимо, чтобы пользователь, выполняющий шаг подключения, имел возможность назначить управляемой системе идентификацию Grafana роль Monitoring Reader в рабочей области Azure Monitor для выполнения запросов метрик. |
Аналитика контейнеров | Рабочая область Log Analytics | Кластер можно подключить к рабочей области Log Analytics в другой подписке Azure в том же клиенте Microsoft Entra, но необходимо использовать Azure CLI или шаблон Azure Resource Manager. В настоящее время эту конфигурацию невозможно выполнить с помощью портал Azure. Если вы подключаете существующий кластер к рабочей области Log Analytics в другой подписке, поставщик ресурсов Microsoft.ContainerService должен быть зарегистрирован в подписке в рабочей области Log Analytics. Дополнительные сведения см. в разделе Регистрация поставщика ресурсов. Список поддерживаемых пар сопоставлений, используемых для рабочей области по умолчанию, см. в разделе Сопоставление регионов, поддерживаемое Container Insights. Сведения о настройке рабочей области с периметром безопасности сети см. в статье "Настройка Azure Monitor с периметром сетевой безопасности". |
Управляемая платформа Grafana | Рабочая область Azure Managed Grafana | Свяжите рабочую область Grafana с рабочей областью Azure Monitor, чтобы сделать метрики Prometheus, собранные из кластера, доступными для панелей мониторинга Grafana. |
Включение Prometheus и Grafana
Используйте один из следующих методов, чтобы включить сбор метрик Prometheus из вашего кластера и настроить управляемую Grafana для визуализации метрик. См. Привязка рабочей области Grafana для получения вариантов подключения рабочей области Azure Monitor и рабочей области Azure Managed Grafana.
Внимание
При развертывании с помощью шаблона или политики Azure убедитесь, что конечные точки сбора данных, правила сбора данных и ассоциации правил сбора данных именуются
MSProm-<Location of Azure Monitor Workspace>-<Name of cluster resource>
, иначе процесс подключения не будет выполнен успешно.Если у вас есть один ресурс Azure Monitor, связанный с частным, включение Prometheus не будет работать, если кластер AKS и рабочая область Azure Monitor находятся в разных регионах. Создайте новый DCE и DCRA в одном регионе кластера. Свяжите новый DCE с кластером и присвойите новому DCRA имя
configurationAccessEndpoint
. См. Включение приватной ссылки для мониторинга Kubernetes в Azure Monitor.
Включение с помощью интерфейса командной строки
Если вы не указываете существующую рабочую область Azure Monitor в следующих командах, будет использоваться рабочая область по умолчанию для группы ресурсов. Если рабочая область по умолчанию еще не существует в регионе кластера, одна с именем в формате DefaultAzureMonitorWorkspace-<mapped_region>
будет создана в группе ресурсов с именем DefaultRG-<cluster_region>
.
Предварительные условия
- Требуется Az CLI версии 2.49.0 или более поздней.
- Расширение aks-preview должно быть удалено из кластеров AKS с помощью команды
az extension remove --name aks-preview
. - Расширение k8s-extension должно быть установлено с помощью команды
az extension add --name k8s-extension
. - Требуется расширение k8s версии 1.4.1 или более поздней.
Необязательные параметры
Каждая из команд AKS и Arc-Enabled Kubernetes разрешает следующие необязательные параметры. Имя параметра отличается для каждого, но их использование совпадает.
Параметр | Имя и описание |
---|---|
Ключи аннотаций | AKS: --ksm-metric-annotations-allow-list Дуга: --AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList Список разделенных запятыми ключей аннотаций Kubernetes, используемых в метрике ресурса kube_resource_annotations . Например, kube_pod_annotations — это метрика заметок для ресурса pod. По умолчанию эта метрика содержит только метки имени и пространства имен. Чтобы включить дополнительные заметки, укажите список имён ресурсов в их множественном числе и ключи заметок Kubernetes, разрешённые для них. Для каждого ресурса можно предоставить только один * , чтобы допускать любые аннотации, но это серьезно влияет на производительность. Например, pods=[kubernetes.io/team,...],namespaces=[kubernetes.io/team],... . |
Ключи меток | АКС: --ksm-metric-labels-allow-list Дуга: --AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist Разделенный запятыми список дополнительных ключей меток Kubernetes, используемых в метрике kube_resource_labels ресурса. Например, kube_pod_labels — это метрика меток для ресурса pod. По умолчанию эта метрика содержит только метки имени и пространства имен. Для включения дополнительных меток предоставьте список имен ресурсов во множественном числе и ключи меток Kubernetes, которые вы хотите разрешить для них. Для каждого ресурса можно предоставить отдельный * , чтобы разрешить любые метки, но это может вызвать серьёзные проблемы с производительностью. Например, pods=[app],namespaces=[k8s-label-1,k8s-label-n,...],... . |
Правила записи | AKS: --enable-windows-recording-rules Позволяет включить группы правил записи, необходимые для правильного функционирования панелей мониторинга Windows. |
Кластер AKS
-enable-azure-monitor-metrics
Используйте параметр az aks create
или az aks update
(в зависимости от того, создаете ли вы новый кластер или обновляете существующий кластер), чтобы установить плагин для сбора метрик, который считывает метрики Prometheus.
### Use default Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group>
### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <azure-monitor-workspace-name-resource-id> --grafana-resource-id <grafana-workspace-name-resource-id>
### Use optional parameters
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --ksm-metric-labels-allow-list "namespaces=[k8s-label-1,k8s-label-n]" --ksm-metric-annotations-allow-list "pods=[k8s-annotation-1,k8s-annotation-n]"
Кластер с поддержкой Arc
### Use default Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics
## Use existing Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id>
### Use optional parameters
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id> AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList="pods=[k8s-annotation-1,k8s-annotation-n]" AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist "namespaces=[k8s-label-1,k8s-label-n]"
Для кластеров с поддержкой Azure Arc доступны следующие дополнительные дополнительные параметры:
Параметр | Описание | По умолчанию | Настройка кластера Upstream Arc |
---|---|---|---|
ClusterDistribution |
Распределение кластера. | Azure.Cluster.Distribution |
да |
CloudEnvironment |
Облачная среда для кластера. | Azure.Cluster.Cloud |
да |
MountCATrustAnchorsDirectory |
Следует ли подключать каталог привязок доверия ЦС. | true |
нет |
MountUbuntuCACertDirectory |
Следует ли монтировать каталог сертификатов ЦС Ubuntu. |
true если не aks_edge дистрибутив. |
нет |
Включение аналитики контейнеров
Используйте один из следующих методов, чтобы включить аналитику контейнеров в кластере. Когда эта операция будет завершена, ознакомьтесь с разделом Настройка сбора данных агента для аналитики контейнеров, чтобы скорректировать свою конфигурацию и предотвратить сбор лишних данных.
Внимание
Если ваш отдельный ресурс Azure Monitor связан через частную ссылку, вы не можете включить аналитику контейнеров через портал Azure. См. Включение приватной ссылки для мониторинга Kubernetes в Azure Monitor.
Чтобы включить аналитику контейнеров с периметром безопасности сети, см. статью "Настройка Azure Monitor с помощью периметра безопасности сети" для настройки рабочей области Log Analytics.
Используйте одну из следующих команд, чтобы включить мониторинг кластеров с поддержкой AKS и Arc. Если вы не указываете существующую рабочую область Log Analytics, будет использоваться рабочая область по умолчанию для группы ресурсов. Если рабочая область по умолчанию еще не существует в регионе кластера, она будет создана с именем в формате DefaultWorkspace-<GUID>-<Region>
.
Предварительные условия
- Azure CLI версии 2.43.0 или более поздней
- Проверка подлинности управляемого удостоверения по умолчанию используется в CLI версии 2.49.0 или более поздней.
- Расширение Azure k8s версии 1.3.7 или более поздней
- В версии k8s-extension 1.43.0 или более поздней, по умолчанию используется аутентификация с управляемым удостоверением.
- Проверка подлинности с управляемым удостоверением не поддерживается для кластеров Kubernetes с поддержкой Arc, использующих ARO (Azure Red Hat Openshift) или узлы Windows. Используйте устаревшую проверку подлинности.
- Для CLI версии 2.54.0 или выше схема ведения журнала будет настроена для ContainerLogV2 с использованием ConfigMap.
Примечание.
Схему ContainerLogV2 для кластера можно включить с помощью правила сбора данных кластера (DCR) или ConfigMap. Если оба параметра включены, ConfigMap будет иметь приоритет. Журналы stdout и stderr будут приниматься только в таблицу ContainerLog, если DCR и ConfigMap явно установлены в положение "выключено".
Кластер AKS
### Use default Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name>
### Use existing Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id>
### Use legacy authentication
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
Пример
az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
Кластер с поддержкой Arc
### Use default Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
### Use existing Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<workspace-resource-id>
### Use managed identity authentication (default as k8s-extension version 1.43.0)
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true
### Use advanced configuration settings
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi
### With custom mount path for container stdout & stderr logs
### Custom mount path not required for Azure Stack Edge version > 2318. Custom mount path must be /home/data/docker for Azure Stack Edge cluster with version <= 2318
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.logsettings.custommountpath=<customMountPath>
См. раздел "Запросы и ограничения ресурсов" диаграммы Helm для доступных параметров конфигурации.
Пример
az k8s-extension create --name azuremonitor-containers --cluster-name "my-cluster" --resource-group "my-resource-group" --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID="/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
Кластер с поддержкой Arc с прокси-сервером с поддержкой Arc
Если кластер настроен с помощью перенаправленного прокси-сервера, то параметры прокси-сервера автоматически применяются к расширению. В случае кластера с AMPLS +proxy следует игнорировать конфигурацию прокси-сервера. Подключение расширения с параметром amalogs.ignoreExtensionProxySettings=true
конфигурации.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.ignoreExtensionProxySettings=true
Кластер с поддержкой Arc с узлами ARO или OpenShift или Windows
Проверка подлинности управляемого удостоверения не поддерживается для кластеров Kubernetes с поддержкой Arc с помощью ARO (Azure Red Hat OpenShift) или Узлов Windows или OpenShift. Используйте устаревшую проверку подлинности, указав amalogs.useAADAuth=false
в следующем примере.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=false
Удаление экземпляра расширения
Следующая команда удаляет только экземпляр расширения, но не удаляет рабочую область Log Analytics. Данные в ресурсе Log Analytics остаются нетронутыми.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
Включение полного мониторинга с помощью портал Azure
Новый кластер AKS (Prometheus, аналитика контейнеров и Grafana)
При создании кластера AKS на портале Azure включите журналы контейнеров, включите метрики Prometheus, установите флажки "Включить Grafana" и "Включить рекомендуемые оповещения " по умолчанию на вкладке "Мониторинг".
Существующий кластер (Prometheus, аналитика контейнеров и Grafana)
- Перейдите к кластеру на портал Azure.
- В меню службы выберите Монитор>Настройки монитора.
- Для вас выбраны метрики Prometheus, Grafana и журналы контейнеров и события. Если у вас есть рабочая область Azure Monitor, рабочая область Grafana и рабочая область Log Analytics, они будут выбраны для вас.
- Выберите дополнительные параметры , если вы хотите выбрать альтернативные рабочие области или создать новые. Параметры профилей ведения журнала и классических профилей позволяют изменять сведения о коллекции по умолчанию, чтобы снизить затраты на мониторинг. Дополнительные сведения см. в разделе "Включение параметров оптимизации затрат" в аналитике контейнеров.
- Выберите Настроить.
Включение коллекции метрик Windows (предварительная версия)
Примечание.
В windows-exporter-daemonset.yaml нет предела для ЦП или памяти, поэтому он может перегружать узлы Windows.
Дополнительные сведения см. в разделе "Резервирование ресурсов"
При развертывании рабочих нагрузок задайте ограничения памяти ресурсов и ЦП для контейнеров. Это также вычитает из параметра NodeAllocatable и помогает планировщику кластера определить, какие поды следует размещать на каких узлах. Планирование подов без ограничений может перегрузить узлы Windows, и в крайних случаях узлы могут стать нестабильными.
Начиная с версии 6.4.0-main-02-22-2023-3ee44b9e контейнера надстройки Managed Prometheus (prometheus_collector) для кластеров AKS, была включена поддержка сбора метрик в Windows. Подключение к надстройке метрик Azure Monitor позволяет модулям pod Windows DaemonSet запускаться в пулах узлов. Поддерживаются Windows Server 2019 и Windows Server 2022. Выполните следующие действия, чтобы разрешить подам собирать метрики с Windows узловых пулов.
Вручную установите "windows-exporter" на узлах AKS для доступа к метрикам Windows, развернув файл YAML "windows-exporter-daemonset". Включите следующие сборщики:
[defaults]
container
memory
process
cpu_info
Дополнительные коллекционеры представлены в статье Prometheus Exporter для Windows-метрик.
Разверните файл windows-exporter-daemonset YAML. Обратите внимание, что если на узле применены пятна, необходимо применить соответствующие допуски.
kubectl apply -f windows-exporter-daemonset.yaml
Примените ama-metrics-settings-configmap к вашему кластеру. Установите для
windowsexporter
иwindowskubeproxy
логических значений значениеtrue
. Дополнительные сведения см. в разделе Metrics add-on settings configmap.Включите правила записи, необходимые для встроенных панелей мониторинга:
- При подключении с помощью интерфейса командной строки включите этот параметр
--enable-windows-recording-rules
. - При подключении с помощью шаблона ARM, Bicep или политики Azure установите
enableWindowsRecordingRules
равнымtrue
в файле параметров. - Если кластер уже подключен, используйте этот шаблон ARM и этот файл параметров для создания групп правил. Это добавит необходимые правила записи и не является операцией ARM в кластере и не влияет на текущее состояние мониторинга кластера.
- При подключении с помощью интерфейса командной строки включите этот параметр
[Только для узлов Windows в кластерах с поддержкой ARC] Если вы включаете Managed Prometheus для кластера с поддержкой ARC, можно настроить Управляемый Prometheus, который работает на узле Linux в кластере, чтобы собирать метрики из конечных точек на узлах Windows. Добавьте следующую scrape-задачу в ama-metrics-prometheus-config-configmap.yaml и примените configmap к вашему кластеру.
scrape_configs:
- job_name: windows-exporter
scheme: http
scrape_interval: 30s
label_limit: 63
label_name_length_limit: 511
label_value_length_limit: 1023
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__meta_kubernetes_node_name]
target_label: instance
- action: keep
source_labels: [__meta_kubernetes_node_label_kubernetes_io_os]
regex: windows
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\:\d+)?
replacement: $$1:9182
kubectl apply -f ama-metrics-prometheus-config-configmap.yaml
Проверка развертывания
Используйте инструмент командной строки kubectl, чтобы убедиться, что агент развернут правильно.
Управляемый Prometheus
Убедитесь, что daemonSet был развернут правильно в пулах узлов Linux
kubectl get ds ama-metrics-node --namespace=kube-system
Количество podов должно быть равно количеству узлов Linux в кластере. Выходные данные должны выглядеть примерно так:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-node 1 1 1 1 1 <none> 10h
Убедитесь, что узлы Windows были развернуты правильно
kubectl get ds ama-metrics-win-node --namespace=kube-system
Число модулей pod должно быть равно количеству узлов Windows в кластере. Выходные данные должны выглядеть примерно так:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-win-node 3 3 3 3 3 <none> 10h
Убедитесь, что два ReplicaSets были развернуты для Prometheus
kubectl get rs --namespace=kube-system
Выходные данные должны выглядеть примерно так:
User@aksuser:~$kubectl get rs --namespace=kube-system
NAME DESIRED CURRENT READY AGE
ama-metrics-5c974985b8 1 1 1 11h
ama-metrics-ksm-5fcf8dffcd 1 1 1 11h
Аналитика контейнеров
Убедитесь, что daemonSets были развернуты правильно в пулах узлов Linux
kubectl get ds ama-logs --namespace=kube-system
Количество podов должно быть равно количеству узлов Linux в кластере. Выходные данные должны выглядеть примерно так:
User@aksuser:~$ kubectl get ds ama-logs --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs 2 2 2 2 2 <none> 1d
Убедитесь, что узлы Windows были развернуты правильно
kubectl get ds ama-logs-windows --namespace=kube-system
Число модулей pod должно быть равно количеству узлов Windows в кластере. Выходные данные должны выглядеть примерно так:
User@aksuser:~$ kubectl get ds ama-logs-windows --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs-windows 2 2 2 2 2 <none> 1d
Проверка развертывания решения аналитики контейнеров
kubectl get deployment ama-logs-rs --namespace=kube-system
Выходные данные должны выглядеть примерно так:
User@aksuser:~$ kubectl get deployment ama-logs-rs --namespace=kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
ama-logs-rs 1/1 1 1 24d
Просмотр конфигурации с помощью CLI
Используйте команду aks show
, чтобы узнать, включено ли решение, идентификатор ресурса рабочей области Log Analytics и сводную информацию о кластере.
az aks show --resource-group <resourceGroupofAKSCluster> --name <nameofAksCluster>
Команда вернет сведения о решении в формате JSON. Этот addonProfiles
раздел должен содержать сведения о omsagent
как в следующем примере.
"addonProfiles": {
"omsagent": {
"config": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"useAADAuth": "true"
},
"enabled": true,
"identity": null
},
}
Ресурсы выделены
При включении мониторинга в подписке создаются следующие ресурсы:
Имя ресурса | Тип ресурса | Группа ресурсов | Регион или расположение | Описание |
---|---|---|---|---|
MSCI-<aksclusterregion>-<clustername> |
Правило сбора данных | То же, что и кластер | То же, что и рабочая область Log Analytics | Это правило сбора данных предназначено для сбора журналов агентом Azure Monitor, который использует рабочую область Log Analytics в качестве назначения и связан с ресурсом кластера AKS. |
MSPROM-<aksclusterregion>-<clustername> |
Правило сбора данных | То же, что и кластер | То же, что и рабочая область Azure Monitor | Это правило сбора данных предназначено для сбора метрик prometheus с помощью надстройки метрик, которая имеет выбранную рабочую область Azure Monitor в качестве назначения, а также связана с ресурсом кластера AKS |
MSPROM-<aksclusterregion>-<clustername> |
Конечная точка сбора данных | То же, что и кластер | То же, что и рабочая область Azure Monitor | Эта конечная точка сбора данных используется приведенным выше правилом сбора данных для сбора метрик Prometheus из аддона метрик. |
При создании новой рабочей области Azure Monitor в рамках нее создаются следующие дополнительные ресурсы.
Имя ресурса | Тип ресурса | Группа ресурсов | Регион или расположение | Описание |
---|---|---|---|---|
<azuremonitor-workspace-name> |
Правило сбора данных | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_управляется | То же, что и рабочая область Azure Monitor | DCR, созданный при использовании сервера OSS Prometheus для удаленной записи в рабочую область Azure Monitor. |
<azuremonitor-workspace-name> |
Конечная точка сбора данных | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_управляется | То же, что и рабочая область Azure Monitor | DCE, созданный при использовании сервера OSS Prometheus для удаленной записи в рабочую область Azure Monitor. |
Различия между кластерами Windows и Linux
Ниже приведены основные отличия мониторинга кластера Windows Server от мониторинга кластера Linux.
- Windows не имеет метрики RSS памяти. В результате он недоступен для узлов и контейнеров Windows. Доступен показатель рабочего набора.
- Сведения о емкости хранилища диска недоступны для узлов Windows.
- Контролируются только среды pod, а не среды Docker.
- В предварительной версии поддерживается не более 30 контейнеров Windows Server. Это ограничение не распространяется на контейнеры Linux.
Примечание.
Поддержка аналитики контейнеров для операционной системы Windows Server 2022 доступна в предварительной версии.
Контейнеризированный агент Linux (pod ReplicaSet) делает API-вызовы ко всем Windows-узлам через защищенный порт Kubelet (10250) внутри кластера для сбора метрик производительности узлов и контейнеров. Безопасный порт Kubelet (:10250) должен быть открыт в виртуальной сети кластера как для входящих, так и исходящих подключений для сбора метрик, связанных с производительностью узлов Windows и контейнеров.
Если у вас есть кластер Kubernetes с узлами Windows, просмотрите и настройте группу безопасности сети и политики сети, чтобы убедиться, что безопасный порт Kubelet (:10250) открыт для входящего и исходящего трафика в виртуальной сети кластера.
Следующие шаги
- Если при попытке подключить решение возникают проблемы, ознакомьтесь с руководством по устранению неполадок.
- После включения мониторинга, который собирает сведения о работоспособности и потребление кластера AKS и работающих в нем рабочих нагрузок, изучите принципы работы Container Insights.