Compartir a través de


Envío de métricas de Prometheus desde máquinas virtuales, conjuntos de escalado o clústeres de Kubernetes a un área de trabajo de Azure Monitor

Prometheus no se limita a la supervisión de clústeres Kubernetes. Utilice Prometheus para supervisar las aplicaciones y los servicios que se ejecutan en sus servidores, dondequiera que se estén ejecutando. Por ejemplo, puede supervisar las aplicaciones que se ejecutan en máquinas virtuales, conjuntos de escalado de máquinas virtuales o incluso servidores locales. También puede enviar métricas de Prometheus a un área de trabajo de Azure Monitor desde el clúster autoadministrado y el servidor de Prometheus.

En este artículo se explica cómo configurar la escritura remota para enviar datos desde una instancia de Prometheus auto administrad a un área de trabajo de Azure Monitor.

Opciones de escritura remota

Prometheus autoadministrado puede ejecutarse en entornos de Azure y que no sean de Azure. A continuación se indican las opciones de autenticación para la escritura remota en el área de trabajo de Azure Monitor en función del entorno en el que se ejecuta Prometheus.

Máquinas virtuales administradas por Azure, conjuntos de escalado de máquinas virtuales y clústeres de Kubernetes

Use la autenticación de identidad administrada asignada por el usuario para los servicios que ejecutan Prometheus autoadministrados en un entorno de Azure. Los servicios administrados de Azure incluyen:

  • Azure Virtual Machines
  • Azure Virtual Machine Scale Sets
  • Azure Kubernetes Service (AKS)

Para configurar la escritura remota para los recursos administrados por Azure, consulte Escritura remota usando autenticación de identidad administrada asignada por el usuario más adelante en este artículo.

Máquinas virtuales y clústeres de Kubernetes que se ejecutan en entornos que no son de Azure

Si tiene máquinas virtuales o un clúster de Kubernetes en entornos que no son de Azure o se ha incorporado a Azure Arc, instale Prometheus con administración automática y configure la escritura remota mediante la autenticación de aplicaciones de Microsoft Entra ID. Para más información, consulte Escritura remota usando la autenticación de la aplicación de Microsoft Entra más adelante en este artículo.

La incorporación a los servidores habilitados para Azure Arc le permite administrar y configurar máquinas virtuales que no son de Azure en Azure. Para más información, consulte Servidores habilitados para Azure Arc y Kubernetes habilitados para Azure Arc. Los servidores habilitados para Azure Arc solo admiten la autenticación de Microsoft Entra.

Nota:

Las identidades administradas asignadas por el sistema no son compatibles con la escritura remota en áreas de trabajo de Azure Monitor. Use la identidad administrada asignada por el usuario o la autenticación de la aplicación de Microsoft Entra.

Requisitos previos

Versiones compatibles

  • Las versiones de Prometheus posteriores a la 2.45 son necesarias para la autenticación de identidad administrada.
  • Las versiones de Prometheus posteriores a v2.2.48 son necesarias para la autenticación de la aplicación de Microsoft Entra.

Á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

Se requieren permisos de administrador para el clúster o recurso para completar los pasos de este artículo.

Configuración de la autenticación para escritura remota

En función del entorno en el que se ejecute Prometheus, puede configurar la escritura remota para que utilice la identidad administrada asignada por el usuario o la autenticación de aplicaciones de Microsoft Entra para enviar datos al área de trabajo de Azure Monitor.

Use Azure Portal o la CLI de Azure para crear una identidad administrada por el usuario o una aplicación de Microsoft Entra.

Escritura remota mediante autenticación de identidad administrada asignada por el usuario

La autenticación de identidad administrada asignada por el usuario se puede usar en cualquier entorno administrado por Azure. Si el servicio Prometheus se ejecuta en un entorno que no es de Azure, puede usar la autenticación de la aplicación de Microsoft Entra.

Para configurar una identidad administrada asignada por el usuario para la escritura remota en el área de trabajo de Azure Monitor, siga estos pasos.

Creación de una identidad administrada asignada por el usuario

Para crear una identidad administrada por el usuario para utilizarla en la configuración de escritura remota, consulte Administración de identidades administradas asignadas por el usuario.

Compruebe el valor de clientId de la identidad administrada que ha creado. Este Id. se utiliza en la configuración de escritura remota de Prometheus.

Asigne a la aplicación la función Editor de métricas de supervisión

En la regla de recopilación de datos del área de trabajo, asigne el rol Publicador de métricas de supervisión a la identidad administrada:

  1. En el panel de información general del área de trabajo de Azure Monitor, seleccione el vínculo Regla de recopilación de datos.

    Recorte de pantalla que muestra el vínculo a una regla de recopilación de datos en un panel del área de trabajo de Azure Monitor.

  2. En la página de la regla de recopilación de datos, seleccione Control de acceso (IAM).

  3. Seleccione Agregar>Agregar asignación de roles.

    Recorte de pantalla que muestra la adición de una asignación de rol para una regla de recopilación de datos.

  4. Busque y seleccione Publicador de métricas de supervisión, y después seleccione Siguiente.

    Recorte de pantalla que muestra el menú de asignación de roles para una regla de recopilación de datos.

  5. Seleccione Identidad administrada.

  6. Elija Seleccionar miembros.

  7. En la lista desplegable Identidad administrada, seleccione Identidad administrada por el usuario.

  8. Seleccione la identidad asignada por el usuario que quiera usar y, después, seleccione Seleccionar.

    Recorte de pantalla que muestra la selección de miembros y una identidad administrada por el usuario para una regla de recopilación de datos.

  9. Seleccione Revisar y asignar para completar la asignación de roles.

Asignación de la identidad administrada a una máquina virtual o a un conjunto de escalado de máquinas virtuales

Importante

Para completar los pasos de esta sección, debe tener permisos de propietario o administrador de acceso de usuario para la máquina virtual o el conjunto de escalado de máquinas virtuales.

  1. En Azure Portal, vaya a la página del clúster, la máquina virtual o el conjunto de escalado de máquinas virtuales.

  2. Seleccione Identidad.

  3. Seleccione el Usuario asignado.

  4. Seleccione Agregar.

  5. Seleccione la identidad administrada asignada al usuario que ha creado y, a continuación, seleccione Agregar.

    Captura de pantalla en la que se muestra el panel para agregar una identidad administrada asignada por el usuario

Asignación de la identidad administrada para una instancia de Azure Kubernetes Service

Para Azure Kubernetes Service, la identidad administrada debe asignarse a conjuntos de escalado de máquinas virtuales.

AKS crea un grupo de recursos que contiene los conjuntos de escalado de máquinas virtuales. El nombre del grupo de recursos tiene el formato MC_<resource group name>_<AKS cluster name>_<region>.

Para cada conjunto de escalado de máquinas virtuales en el grupo de recursos, asigne la identidad administrada según los pasos de la sección anterior, Asignación de la identidad administrada a una máquina virtual o a un conjunto de escalado de máquinas virtuales.

Configuración de la escritura remota

La escritura remota se configura en el archivo de configuración de Prometheus prometheus.yml o en el operador Prometheus.

Para obtener más información sobre la configuración de la escritura remota, consulte el artículo de Prometheus.io: Configuración. Para más información sobre el ajuste de la configuración de escritura remota, consulte Ajuste de escritura remota.

Para enviar datos a su área de trabajo de Azure Monitor, agregue la siguiente sección al archivo de configuración (prometheus.yml) de su instancia autoadministrada de Prometheus:

remote_write:   
  - url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
# Microsoft Entra ID configuration.
# The Azure cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
    azuread:
      cloud: 'AzurePublic'
      managed_identity:
        client_id: "<client-id of the managed identity>"
      oauth:
        client_id: "<client-id from the Entra app>"
        client_secret: "<client secret from the Entra app>"
        tenant_id: "<Azure subscription tenant Id>"

El parámetro url especifica el punto de conexión de ingesta de métricas del área de trabajo de Azure Monitor. Puede encontrarlo en el panel de información general de su área de trabajo de Azure Monitor en Azure Portal.

Recorte de pantalla que muestra el punto de conexión de ingesta de métricas para un área de trabajo de Azure Monitor.

Use managed_identity o oauth para la autenticación de la aplicación de Microsoft Entra, dependiendo de su implementación. Retire el objeto que no esté utilizando.

Encuentre su id. de cliente para la identidad administrada usando el siguiente comando de la CLI de Azure:

az identity list --resource-group <resource group name>

Para obtener más información, consulte la lista de identidades az.

Para encontrar a su cliente para la autenticación de identidad administrada en el portal, vaya a Identidades administradas en Azure Portal y seleccione el nombre de la identidad correspondiente. Copie el valor de Id. de cliente del panel Información general de la identidad administrada.

Recorte de pantalla que muestra el id. del cliente en el panel de Información general de la identidad administrada.

Para encontrar el id. de cliente para la aplicación de Microsoft Entra ID, use el siguiente comando de la CLI de Azure (o vea el primer paso en la sección anterior Escritura remota usando autenticación de aplicación de Microsoft Entra):

$ az ad app list --display-name < application name>

Para obtener más información, consulte la lista de aplicaciones az ad

Nota:

Después de editar el archivo de configuración, reinicie Prometheus para aplicar los cambios.

Comprobación de que los datos de escritura remota fluyen

Use los métodos siguientes para comprobar que los datos de Prometheus se envían al área de trabajo de Azure Monitor.

Explorador de métricas de Azure Monitor con PromQL

Para comprobar si las métricas fluyen al área de trabajo de Azure Monitor, desde el área de trabajo de Azure Monitor en Azure Portal, seleccione Métricas. Use el explorador de métricas con Prometheus Query Language (PromQL) para consultar las métricas que espera del entorno autoadministrado de Prometheus. Para más información, consulte Explorador de métricas de Azure Monitor con PromQL.

Explorador de Prometheus en el área de trabajo de Azure Monitor

El explorador de Prometheus proporciona una forma cómoda de interactuar con las métricas de Prometheus dentro de su entorno de Azure, para que la supervisión y la solución de problemas sean más eficientes. Para usar el explorador de Prometheus, vaya a su área de trabajo de Azure Monitor en Azure Portal y seleccione Explorador de Prometheus. Después podrá consultar las métricas que espera del entorno de Prometheus autoadministrado.

Para más información, consulte Consulta de métricas de Prometheus mediante libros de Azure.

Grafana

Utilice las consultas PromQL en Grafana para verificar que los resultados devuelven los datos esperados. Para configurar Grafana, consulte el artículo sobre cómo establecer Grafana con Prometheus administrado.

Solución de problemas de la escritura remota

Si los datos remotos no aparecen en el área de trabajo de Azure Monitor, consulte Solución de problemas de escritura remota para conocer los problemas más comunes y sus soluciones.