Отправка данных Prometheus в Azure Monitor с помощью проверки подлинности microsoft Entra pod(предварительная версия)
В этой статье описывается настройка удаленной записи для управляемой службы Azure Monitor для Prometheus с помощью проверки подлинности управляемого удостоверения (предварительная версия) Microsoft Entra pod.
Примечание.
Контейнер на стороне удаленной записи, описанный в этой статье, должен быть настроен только с помощью следующих шагов, и только если кластер Служба Azure Kubernetes (AKS) уже включен пакет pod Microsoft Entra. Удостоверения, управляемые модулем pod Microsoft Entra, устарели для замены Идентификация рабочей нагрузки Microsoft Entra. Рекомендуется использовать проверку подлинности Идентификация рабочей нагрузки Microsoft Entra.
Необходимые компоненты
Поддерживаемые версии
Версии Prometheus, превышающие версию 2.45, требуются для проверки подлинности управляемого удостоверения.
Рабочая область Azure Monitor
В этой статье описывается отправка метрик Prometheus в рабочую область Azure Monitor. Сведения о создании рабочей области Azure Monitor см. в статье "Управление рабочей областью Azure Monitor".
Разрешения
Разрешения администратора для кластера или ресурса необходимы для выполнения действий, описанных в этой статье.
Настройка приложения для управляемого удостоверений Microsoft Entra pod
Процесс настройки удаленной записи Prometheus для приложения с помощью проверки подлинности управляемого удостоверений Pod Microsoft Entra включает выполнение следующих задач:
- Зарегистрируйте управляемое удостоверение, назначаемое пользователем, с помощью идентификатора Microsoft Entra.
- Назначьте роль оператора управляемого удостоверения и участника виртуальной машины управляемому удостоверению.
- Назначьте роль издателя метрик мониторинга управляемому удостоверению, назначаемого пользователем.
- Создайте привязку удостоверений Azure.
- Добавьте метку aadpodidbinding в pod Prometheus.
- Разверните контейнер бокового контейнера для настройки удаленной записи.
Задачи описаны в следующих разделах.
Регистрация управляемого удостоверения с помощью идентификатора Microsoft Entra
Создайте управляемое удостоверение, назначаемое пользователем, или зарегистрируйте существующее управляемое удостоверение, назначаемое пользователем.
Сведения о создании управляемого удостоверения см. в статье Настройка удаленной записи для управляемой службы Azure Monitor для Prometheus с помощью проверки подлинности управляемого удостоверения.
Назначение ролей оператора управляемого удостоверения и участника виртуальной машины управляемому удостоверению
az role assignment create --role "Managed Identity Operator" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
az role assignment create --role "Virtual Machine Contributor" --assignee <managed identity clientID> --scope <Node ResourceGroup Id>
Группа ресурсов узла кластера AKS содержит ресурсы, которые вы используете в других шагах этого процесса. Эта группа ресурсов имеет имя MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>
. Имя группы ресурсов можно найти с помощью меню "Группы ресурсов" в портал Azure.
Назначение роли издателя метрик мониторинга управляемому удостоверению
az role assignment create --role "Monitoring Metrics Publisher" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
Создание привязки удостоверений Azure
Управляемое удостоверение, назначаемое пользователем, требует привязку удостоверения для использования в качестве управляемого пользователем удостоверения.
Скопируйте следующий YAML в файл aadpodidentitybinding.yaml :
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzureIdentityBinding
metadata:
name: demo1-azure-identity-binding
spec:
AzureIdentity: “<AzureIdentityName>”
Selector: “<AzureIdentityBindingSelector>”
Выполните следующую команду:
kubectl create -f aadpodidentitybinding.yaml
Добавление метки aadpodidbinding в pod Prometheus
Метка aadpodidbinding
должна быть добавлена в pod Prometheus, чтобы управляемое модулем pod удостоверялось. Метку можно добавить, обновив файл deployment.yaml или введя метки при развертывании контейнера боковицы, как описано в следующем разделе.
Развертывание контейнера на стороне для настройки удаленной записи
Скопируйте следующий YAML и сохраните его в файл. YAML использует порт 8081 в качестве порта прослушивания. При использовании другого порта измените это значение в YAML.
prometheus: prometheusSpec: podMetadata: labels: aadpodidbinding: <AzureIdentityBindingSelector> externalLabels: cluster: <AKS-CLUSTER-NAME> remoteWrite: - url: 'http://localhost:8081/api/v1/write' 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-20240617.1
Версия образа контейнера удаленной записи.<INGESTION-URL>
Значение конечной точки приема метрик на странице обзора рабочей области Azure Monitor. <MANAGED-IDENTITY-CLIENT-ID>
Значение идентификатора клиента на странице обзора управляемого удостоверения. <CLUSTER-NAME>
Имя кластера, на котором запущен Prometheus. Внимание
Для Azure для государственных организаций облака добавьте следующие переменные среды в
env
разделе ФАЙЛА YAML:- name: INGESTION_AAD_AUDIENCE value: https://monitor.azure.us/
Используйте Helm, чтобы применить YAML-файл и обновить конфигурацию Prometheus:
# set the 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 с помощью проверки подлинности управляемого удостоверения
- Отправка данных Prometheus в Azure Monitor с помощью проверки подлинности Идентификация рабочей нагрузки Microsoft Entra (предварительная версия)