Envío de datos de Prometheus a Azure Monitor mediante la autenticación de identidad administrada
Artículo
En este artículo se describe cómo configurar la escritura remota para enviar datos desde un servidor Prometheus autoadministrado que se ejecuta en el clúster de Azure Kubernetes Service (AKS) o el clúster de Kubernetes habilitado para Azure Arc mediante la autenticación de identidad administrada y un contenedor de sidecar proporcionado por Azure Monitor. Puede usar una identidad existente creada por AKS o crear la suya propia. Aquí se describen ambas opciones.
Nota
Si usa la identidad administrada asignada por el usuario, se recomienda configurar directamente Prometheus en ejecución en el clúster de Kubernetes para escribir de forma remota en el área de trabajo de Azure Monitor. Vea Envío de datos de Prometheus a Azure Monitor mediante la identidad administrada asignada por el usuario para más información. En los pasos siguientes se usa el contenedor de sidecar de Azure Monitor.
Configuraciones de clústeres
Este artículo se aplica a las configuraciones de clúster siguientes:
Las versiones de Prometheus mayores que v2.45 son necesarias para la autenticación de identidad administrada.
Área de trabajo de Azure Monitor
En este artículo se describe el envío de métricas de Prometheus a un área de trabajo de Azure Monitor. Para crear un área de trabajo de Azure Monitor, consulte Administrar un área de trabajo de Azure Monitor.
Permisos
Los permisos de administrador para el clúster o recurso son necesarios para completar los pasos descritos en este artículo.
Configuración de una aplicación para la identidad administrada
El proceso para configurar la escritura remota de Prometheus para aplicaciones mediante la autenticación de identidad administrada implica completar las tareas siguientes:
Obtenga el nombre del grupo de recursos del nodo de AKS.
Obtenga el identificador de cliente de la identidad administrada asignada por el usuario.
Asigne el rol Editor de métricas de supervisión en la regla de recopilación de datos del área de trabajo a la identidad administrada.
Proporcione al clúster de AKS acceso a la identidad administrada.
Implementar un contenedor sidecar para configurar la escritura remota.
Los formatos se describen en las secciones siguientes.
Obtener el nombre del grupo de recursos del nodo de AKS
El grupo de recursos de nodo del clúster de AKS contiene recursos que usará en otros pasos de este proceso. Este grupo de recursos tiene el nombre MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>. Es posible encontrar el nombre del grupo de recursos con el menú Grupo de recursos de Azure Portal.
Obtener el identificador de cliente de la identidad administrada asignada por el usuario
Debe obtener el identificador de cliente de la identidad que va a usar. Copie el identificador de cliente para usarlo más adelante en el proceso.
En este artículo se usa la identidad de kubelet. El nombre de esta identidad es <AKS-CLUSTER-NAME>-agentpool y se encuentra en el grupo de recursos de nodo del clúster de AKS.
Asignar el rol Editor de métricas de supervisión en la regla de recopilación de datos del área de trabajo a la identidad administrada
La identidad administrada debe tener asignado el rol Editor de métricas de monitorización en la regla de recopilación de datos asociada al área de trabajo de Azure Monitor.
En el menú de recursos del área de trabajo de Azure Monitor, seleccione Información general. Para Regla de recopilación de datos, seleccione el vínculo.
En el menú de recursos de la regla de recopilación de datos, seleccione Control de acceso (IAM).
Seleccione Agregar y, después, Agregar asignación de roles.
Seleccione el rol Publicador de métricas de supervisión y, a continuación, seleccione Siguiente.
Seleccione Identidad administrada y después elija Seleccionar miembros. Seleccione la suscripción que contiene la identidad asignada por el usuario y, después, seleccione Identidad administrada asignada por el usuario. Seleccione la identidad asignada por el usuario que quiera usar y, después, seleccione Seleccionar.
Para completar la asignación de roles, seleccione Revisar y asignar.
Proporcionar al clúster de AKS acceso a la identidad administrada
Este paso no es necesario si usa una identidad de AKS. Una identidad de AKS ya tiene acceso al clúster.
Importante
Para completar los pasos descritos en esta sección, debe tener permisos de administrador de acceso de usuario o propietario para el clúster.
Identifique los conjuntos de escalado de máquinas virtuales en el grupo de recursos de nodo del clúster de AKS.
Para cada conjunto de escalado de máquinas virtuales, ejecute el siguiente comando en la CLI de Azure:
Azure CLI
az vmss identity assign -g<AKS-NODE-RESOURCE-GROUP>-n<AKS-VMSS-NAME>--identities<USER-ASSIGNED-IDENTITY-RESOURCE-ID>
Implementación de un contenedor sidecar para configurar la escritura remota
Copie el siguiente código YAML y guárdelo en un archivo. YAML usa el puerto 8081 como puerto de escucha. Si usa un puerto diferente, modifique el puerto en YAML.
yml
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>
Reemplace los valores siguientes en YAML:
Value
Descripción
<AKS-CLUSTER-NAME>
Nombre del clúster de AKS.
<CONTAINER-IMAGE-VERSION>
mcr.microsoft.com/azuremonitor/containerinsights/ciprod/prometheus-remote-write/images:prom-remotewrite-20250214.1 La versión de la imagen de contenedor de escritura remota.
<INGESTION-URL>
El valor para el punto de conexión de ingesta de datos de la página de información general del área de trabajo de Azure Monitor.
<MANAGED-IDENTITY-CLIENT-ID>
El valor de Id. de cliente de la página de Información general de la identidad administrada.
<CLUSTER-NAME>
Nombre del clúster en el que se ejecuta Prometheus.
Importante
Para la nube de Azure Government, agregue las siguientes variables de entorno en la sección env del archivo YAML:
Use Helm para aplicar el archivo YAML y actualizar la configuración de Prometheus:
Azure CLI
# 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>
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Le damos la bienvenida a esta experiencia interactiva de validación de aptitudes. Completar este módulo le ayuda a prepararse para la evaluación de Implementación y administración de contenedores con Azure Kubernetes Service.
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.
Aprenda a configurar la escritura remota para enviar datos desde Prometheus autoadministrado por el usuario a un servicio administrado de Azure Monitor para Prometheus.
Describe cómo configurar la escritura remota para enviar datos desde Prometheus autoadministrado que se ejecuta en su clúster de AKS o en su clúster de Kubernetes habilitado para Azure Arc
Aprende a configurar la escritura remota en el servicio gestionado Azure Monitor para Prometheus. Use la autenticación de Microsoft Entra para enviar datos desde un servidor Prometheus autoadministrado que se ejecuta en el clúster de Azure Kubernetes Server (AKS) o en un clúster de Kubernetes habilitado para Azure Arc local o en una nube diferente.
Aprenda a configurar la escritura remota del servicio administrado para Prometheus de Azure Monitor. Uso de la autenticación de id. de carga de trabajo de Microsoft Entra (versión preliminar) para enviar datos desde un servidor Prometheus autoadministrado al área de trabajo de Azure Monitor.
En este artículo, se describen las reglas de recopilación de datos que se necesitan para enviar métricas de Prometheus de un clúster en Azure Monitor a varias áreas de trabajo de Azure Monitor.
Obtenga información general de Azure Monitor con Prometheus, que proporciona interfaces compatibles con Prometheus denominadas áreas de trabajo de Azure Monitor para almacenar y recuperar datos de métricas.
Configuración del servicio administrado para Prometheus de Azure Monitor y datos de Prometheus hospedado en Azure como origen de datos para Azure Managed Grafana y Grafana autoadministrado.