Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как настроить удаленную запись для отправки данных с самостоятельно управляемого сервера Prometheus, работающего в кластере Azure Kubernetes Service (AKS) или кластере Kubernetes с поддержкой Azure Arc, с использованием проверки подлинности управляемого удостоверения и контейнера-сайдкара, предоставленного Azure Monitor. Вы можете использовать существующее удостоверение, созданное AKS, или создать собственное. В этой статье описываются оба варианта.
Примечание.
Если вы используете управляемое удостоверение, назначаемое пользователем, рекомендуется напрямую настроить Prometheus, запущенный в кластере Kubernetes, для удаленной записи в рабочую область Azure Monitor. Дополнительные сведения см. в статье "Отправка данных Prometheus в Azure Monitor с помощью назначенной пользователем управляемой идентичности". Приведенные ниже действия используют контейнер бокового автомобиля Azure Monitor.
Конфигурации кластера
Эта статья относится к следующим конфигурациям кластера:
- Кластер Службы Azure Kubernetes
- Кластер Kubernetes с поддержкой Azure Arc
Примечание.
Сведения о настройке удаленной записи для кластера Kubernetes, работающего в другом облаке или локальной среде, см. в статье "Отправка данных Prometheus в Azure Monitor с использованием проверки подлинности Microsoft Entra".
Необходимые условия
Поддерживаемые версии
Версии Prometheus, превышающие версию 2.45, требуются для проверки подлинности управляемого удостоверения.
Рабочая область Azure Monitor
В этой статье описывается отправка метрик Prometheus в рабочую область Azure Monitor. Сведения о создании рабочей области Azure Monitor см. в статье "Управление рабочей областью Azure Monitor".
Разрешения
Разрешения администратора для кластера или ресурса необходимы для выполнения действий, описанных в этой статье.
Настройка приложения для управляемой идентификации
Процесс настройки удаленной записи данных в Prometheus для приложения с использованием аутентификации с управляемым удостоверением включает следующие задачи:
- Получите имя группы ресурсов узла кластера.
- Получите идентификатор клиента для управляемой сущности, назначаемой пользователем.
- Назначьте роль издателя метрик мониторинга в правиле сбора данных рабочей области управляемому удостоверению.
- Предоставьте кластеру доступ к управляемой идентификации.
- Разверните сайдкар контейнер для настройки удаленной записи.
Задачи описаны в следующих разделах.
Получение имени группы ресурсов узла кластера
Группа ресурсов узла кластера содержит ресурсы, которые вы используете в других шагах этого процесса. Эта группа ресурсов имеет имя MC_<RESOURCE-GROUP>_<CLUSTER-NAME>_<REGION>
. Имя группы ресурсов можно найти с помощью меню "Группы ресурсов" в портал Azure.
Получите идентификатор клиента назначенной пользователем управляемой идентичности
Необходимо получить идентификатор удостоверения клиента, который вы собираетесь использовать. Скопируйте идентификатор клиента, который будет использоваться позже в процессе.
Вместо создания собственного идентификатора клиента можно использовать одно из удостоверений, созданных AKS. Дополнительные сведения об удостоверениях см. в разделе «Использование управляемого удостоверения в Службе Azure Kubernetes».
В этой статье используется удостоверение kubelet. Имя этого идентификатора — <CLUSTER-NAME>-agentpool
, и оно входит в ресурсную группу узла кластера.
Выберите управляемое <CLUSTER-NAME>-agentpool
удостоверение.
На странице обзора скопируйте значение идентификатора клиента. Дополнительные сведения см. в статье «Управление пользовательскими управляемыми удостоверениями».
Назначьте управляемому удостоверению роль издателя метрик мониторинга в правиле сбора данных рабочей области
Управляемому удостоверению должна быть назначена роль издателя метрик мониторинга в правиле сбора данных, которое связано с вашей рабочей областью Azure Monitor.
В меню ресурсов для рабочей области Azure Monitor выберите "Обзор". Для правила сбора данных выберите ссылку.
В меню ресурсов для правила сбора данных выберите элемент управления доступом (IAM).
Выберите Добавить, затем выберите Добавить назначение ролей.
Выберите роль издателя метрик мониторинга и нажмите кнопку "Далее".
Выберите Управляемое удостоверение, а затем выберите Выбрать участников. Выберите подписку, содержащую удостоверение, назначаемое пользователем, и выберите управляемое удостоверение, назначаемое пользователем. Выберите назначенный пользователем идентификатор, и затем выберите Выбрать.
Чтобы завершить назначение роли, нажмите кнопку "Проверить и назначить".
Предоставление кластеру AKS доступа к управляемому удостоверению
Этот шаг не требуется, если вы используете удостоверение AKS. Учетная запись AKS уже имеет доступ к кластеру.
Внимание
Чтобы выполнить действия, описанные в этом разделе, необходимо иметь разрешения администратора доступа владельца или пользователя для кластера.
Определите масштабируемые наборы виртуальных машин в группе ресурсов узла для кластера.
Для каждого масштабируемого набора виртуальных машин выполните следующую команду в Azure CLI:
az vmss identity assign -g <NODE-RESOURCE-GROUP> -n <VMSS-NAME> --identities <USER-ASSIGNED-IDENTITY-RESOURCE-ID>
Разверните сайдкар-контейнер, чтобы настроить удаленную запись.
Скопируйте следующий YAML и сохраните его в файл. YAML использует порт 8081 в качестве порта прослушивания. При использовании другого порта измените порт в YAML.
prometheus: prometheusSpec: externalLabels: cluster: <AKS-CLUSTER-NAME> ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write remoteWrite: - url: 'http://localhost:8081/api/v1/write' ## Azure Managed Prometheus currently exports some default mixins in Grafana. ## These mixins are compatible with Azure Monitor agent on your Azure Kubernetes Service cluster. ## However, these mixins aren't compatible with Prometheus metrics scraped by the Kube Prometheus stack. ## In order to make these mixins compatible, uncomment remote write relabel configuration below: ## writeRelabelConfigs: ## - sourceLabels: [metrics_path] ## regex: /metrics/cadvisor ## targetLabel: job ## replacement: cadvisor ## action: replace ## - sourceLabels: [job] ## regex: 'node-exporter' ## targetLabel: job ## replacement: node ## action: replace containers: - name: prom-remotewrite image: <CONTAINER-IMAGE-VERSION> imagePullPolicy: Always ports: - name: rw-port containerPort: 8081 livenessProbe: httpGet: path: /health port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 readinessProbe: httpGet: path: /ready port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 env: - name: INGESTION_URL value: <INGESTION_URL> - name: LISTENING_PORT value: '8081' - name: IDENTITY_TYPE value: userAssigned - name: AZURE_CLIENT_ID value: <MANAGED-IDENTITY-CLIENT-ID> # Optional parameter - name: CLUSTER value: <CLUSTER-NAME>
Замените следующие значения в YAML:
значение Описание <AKS-CLUSTER-NAME>
Имя кластера AKS. <CONTAINER-IMAGE-VERSION>
mcr.microsoft.com/azuremonitor/containerinsights/ciprod/prometheus-remote-write/images:prom-remotewrite-20250326.1
Версия образа контейнера для записи данными на удаленный сервер.<INGESTION-URL>
Значение конечной точки приема метрик на странице обзора рабочей области Azure Monitor. <MANAGED-IDENTITY-CLIENT-ID>
Значение идентификатора клиента на странице обзора управляемого удостоверения. <CLUSTER-NAME>
Имя кластера, на котором запущен Prometheus. Внимание
Для облака Azure Government добавьте следующие переменные среды в разделе файла YAML:
- name: INGESTION_AAD_AUDIENCE value: https://monitor.azure.us/
Откройте Azure Cloud Shell и отправьте ФАЙЛ YAML.
Используйте Helm, чтобы применить YAML-файл и обновить конфигурацию Prometheus:
# set context to your cluster az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name> # use Helm to update your remote write config helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus pod resides>
Проверка и устранение неполадок
Для получения информации о проверке и устранении неполадок, см. Устранение неполадок удаленной записи и Управляемую службу Azure Monitor для удаленной записи Prometheus.
Следующие шаги
- Сбор метрик Prometheus из кластера AKS
- Дополнительные сведения об управляемой службе Azure Monitor для Prometheus
- Удаленная передача данных в управляемой службе Azure Monitor для системы Prometheus
- Отправка данных Prometheus в Azure Monitor с помощью проверки подлинности Microsoft Entra
- Отправка данных Prometheus в Azure Monitor с использованием аутентификации Microsoft Entra Workload ID (версия предварительного просмотра)
- Отправьте данные Prometheus в Azure Monitor с использованием аутентификации посредством управляемой подом Microsoft Entra идентичности (предварительная версия)