Compartir a través de


Azure Monitor y Prometheus

Prometheus es una solución popular de supervisión y alertas de código abierto que se usa ampliamente en el ecosistema nativo de la nube. Las organizaciones usan Prometheus para supervisar y alertar sobre el rendimiento de la infraestructura y las cargas de trabajo. A menudo se usa en entornos de Kubernetes.

Puede usar Prometheus como servicio administrado de Azure o como servicio autoadministrado para recopilar métricas. Las métricas de Prometheus se pueden recopilar de los clústeres de Azure Kubernetes Service (AKS), los clústeres de Kubernetes habilitados para Azure Arc, las máquinas virtuales y los conjuntos de escalado de máquinas virtuales.

Las métricas de Prometheus se almacenan en un área de trabajo de Azure Monitor. Puede analizar y visualizar los datos de un área de trabajo mediante el explorador de métricas con el lenguaje de consulta Prometheus (PromQL) y Azure Managed Grafana.

Importante

El uso de Azure Monitor para administrar y hospedar Prometheus está diseñado para almacenar información acerca del estado del servicio de las máquinas y aplicaciones del cliente. No está pensado para almacenar datos personales. Se recomienda encarecidamente no enviar información confidencial (por ejemplo, nombres de usuario y números de tarjeta de crédito) a campos de Prometheus hospedados en Azure Monitor, como nombres de métricas, nombres de etiqueta o valores de etiqueta.

Servicio administrado Azure Monitor para Prometheus

El servicio administrado de Azure Monitor para Prometheus es un componente de métricas de Azure Monitor que proporciona un entorno totalmente administrado y escalable para ejecutar Prometheus. Simplifica la implementación, la administración y el escalado de Prometheus en AKS, para que pueda centrarse en la supervisión de las aplicaciones y la infraestructura.

Como servicio totalmente administrado, el servicio administrado de Azure Monitor para Prometheus implementa automáticamente Prometheus en Kubernetes habilitado para AKS o Azure ARC. El servicio proporciona garantías de alta disponibilidad, contrato de nivel de servicio (SLA) y actualizaciones automáticas de software. Proporciona un almacén de métricas altamente escalable que conserva los datos durante un máximo de 18 meses.

El servicio administrado de Azure Monitor para Prometheus proporciona alertas, reglas y paneles preconfigurados. Con los paneles recomendados de la comunidad de Prometheus y la integración nativa de Grafana, puede lograr una supervisión completa inmediatamente. El servicio administrado de Azure Monitor para Prometheus se integra con Azure Managed Grafana y también funciona con Grafana autoadministrado.

Los precios se basan en la ingesta y consulta sin costo de almacenamiento adicional. Para más información, consulte la pestaña Métricas en Precios de Azure Monitor.

Habilitación del servicio administrado de Azure Monitor para Prometheus

El servicio administrado de Azure Monitor para Prometheus recopila datos de AKS y Kubernetes habilitado para Azure Arc.

Para habilitar el servicio administrado de Azure Monitor para Prometheus, debe crear una Área de trabajo de Azure Monitor para almacenar las métricas. Después, puede incorporar servicios que recopilan métricas de Prometheus:

Para habilitar Prometheus administrado para nubes aisladas de Microsoft Azure, póngase en contacto con el soporte técnico.

Prometheus autoadministrado hospedado en Azure

Además del servicio administrado para Prometheus, puede instalar y administrar su propia instancia de Prometheus y usar la escritura remota para almacenar métricas en un área de trabajo de Azure Monitor.

Con la escritura remota, puede recopilar datos de servidores Prometheus autoadministrados que se ejecutan en los siguientes entornos:

  • Azure Virtual Machines
  • Conjuntos de escalado de máquinas virtuales de Azure
  • Servidores habilitados para Azure Arc
  • Clústeres de Kubernetes autoadministrados hospedados en Azure o habilitados para Azure Arc

Servicios de Kubernetes autoadministrados

Envíe métricas desde Prometheus autoadministrado en clústeres de Kubernetes. Para obtener más información sobre la escritura remota en áreas de trabajo de Azure Monitor para servicios de Kubernetes, consulte los artículos siguientes:

Máquinas virtuales y Conjuntos de escalado de máquinas virtuales

Envíe datos de Prometheus autoadministrados en máquinas virtuales y Virtual Machine Scale Sets. Las máquinas virtuales pueden estar en un entorno administrado por Azure o en un entorno local. Para obtener más información, consulte 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.

Almacenamiento de datos

Las métricas de Prometheus se almacenan en un área de trabajo de Azure Monitor. Los datos se almacenan en una base de datos de serie temporal que se puede consultar a través de PromQL. Puede almacenar datos de varios orígenes de datos de Prometheus en un único área de trabajo de Azure Monitor. Para obtener más información, consulte Arquitectura del área de trabajo de Azure Monitor.

Las áreas de trabajo de Azure Monitor conservan los datos durante 18 meses.

Consulta y análisis de métricas de Prometheus

Los datos de Prometheus se recuperan a través de PromQL. Puede escribir sus propias consultas, usar consultas de la comunidad de código abierto y usar paneles de Grafana que incluyan consultas PromQL. Para obtener más información, vea la Consulta de Prometheus en el sitio web de Prometheus.

Los siguientes servicios de Azure admiten la consulta de métricas de Prometheus desde un área de trabajo de Azure Monitor:

Explorador de métricas de Azure Monitor con PromQL

Use el Explorador de métricas con PromQL (versión preliminar) para analizar y visualizar las métricas de la plataforma y Prometheus. El Explorador de métricas con PromQL está disponible en el panel Métricas del área de trabajo de Azure Monitor donde se almacenan las métricas de Prometheus. Para obtener más información, consulte Explorador de métricas de Azure Monitor con PromQL.

Captura de pantalla de una consulta de PromQL en el Explorador de métricas de Azure Monitor.

Libros de Azure

Cree gráficos y paneles con tecnología del servicio administrado para Prometheus de Azure Monitor mediante libros de Azure y consultas PromQL. Para obtener más información, consulte Consulta de métricas de Prometheus mediante libros de Azure.

Integración de Grafana

Visualice las métricas de Prometheus mediante Azure Managed Grafana. Conecte el área de trabajo de Azure Monitor a un área de trabajo de Grafana para que se pueda usar como origen de datos en un panel de Grafana. A continuación, tendrá acceso a varios paneles precompilados que usan métricas de Prometheus. También tiene la capacidad de crear cualquier cantidad de paneles personalizados. Para obtener más información, consulte Vinculación de un área de trabajo de Grafana.

API de consulta de Prometheus

Use PromQL a través de la API de REST para consultar las métricas de Prometheus almacenadas en un área de trabajo de Azure Monitor. Para obtener más información, vea Consulta de métricas de Prometheus mediante la API y PromQL.

Reglas y alertas

Prometheus admite reglas de grabación y reglas de alerta mediante consultas PromQL. El servicio administrado para Prometheus de Azure Monitor implementa automáticamente las reglas y alertas. Las métricas que registran el registro de reglas se almacenan en el área de trabajo de Azure Monitor. Los paneles u otras reglas pueden consultar las métricas.

Puede crear y administrar reglas de alertas y reglas de grabación mediante el uso de Grupos de reglas del servicio administrado para Prometheus de Azure Monitor. Para el clúster de AKS, un conjunto de reglas de alertas y reglas de grabación predefinidas de Prometheus le ayuda a empezar a trabajar rápidamente.

Las alertas desencadenadas por reglas de alerta pueden desencadenar acciones o notificaciones, tal como se define en los grupos de acciones configurados para la regla de alertas. También puede ver las alertas de Prometheus activadas y resueltas en Azure Portal junto con otros tipos de alertas.

Límites y cuotas de servicio

El servicio administrado para Prometheus de Azure Monitor tiene límites predeterminados y cuotas para la ingesta. Cuando se alcanzan los límites de ingesta, puede producirse una limitación. Puede solicitar un aumento de estos límites. Para obtener más información, consulte Límites de servicio de Azure Monitor.

Para supervisar y alertar sobre las métricas de ingesta, consulte Supervisión de métricas del área de trabajo de Azure Monitor.

Limitaciones

Las siguientes limitaciones se aplican al servicio administrado para Prometheus de Azure Monitor:

  • La frecuencia mínima para extraer y almacenar métricas es de 1 segundo.
  • Durante las actualizaciones de nodos, es posible que experimente brechas de 1 a 2 minutos en algunas colecciones de métricas del recopilador de nivel de clúster. Esta brecha se debe a una acción regular de Azure Kubernetes Service para actualizar los nodos del clúster. Este comportamiento no afecta a las reglas de alerta recomendadas.
  • Prometheus administrado para nodos de Windows no está habilitado automáticamente. Para habilitar la supervisión de nodos y pods de Windows en los clústeres, consulte Habilitación de la recopilación de métricas de Windows (versión preliminar).

Distinción entre mayúsculas y minúsculas

El servicio administrado para Prometheus Azure Monitor es un sistema que no distingue mayúsculas de minúsculas. Trata cadenas (como nombres de métricas, nombres de etiqueta o valores de etiqueta) como la misma serie temporal si difieren de otra serie temporal solo por el uso de mayúsculas y minúsculas de la cadena.

Nota:

Este comportamiento es diferente a Prometheus de código abierto nativo, que es un sistema que distingue mayúsculas de minúsculas. Las instancias de Prometheus autoadministradas que se ejecutan en máquinas virtuales de Azure, conjuntos de escalado de máquina virtual o clústeres de Azure Kubernetes Service distinguen mayúsculas de minúsculas.

En el servicio administrado para Prometheus, las siguientes series temporales se consideran iguales:

diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")

Los ejemplos anteriores son una sola serie temporal en una base de datos de serie temporal. Se aplican las siguientes consideraciones:

  • Las muestras ingeridas en ellos se almacenan como si se extrajesen o ingiriesen en una sola serie temporal.
  • Si los ejemplos anteriores se ingieren con la misma marca de tiempo, se quita aleatoriamente uno de ellos.
  • Las mayúsculas y minúsculas que se almacenan en la base de datos de series temporales y que devuelven una consulta son impredecibles. La misma serie temporal puede devolver mayúsculas y minúsculas diferentes en momentos diferentes.
  • Cualquier buscador de coincidencias de nombre o valor de la métrica presente en la consulta se recupera de la base de datos de serie temporal mediante una comparación sin distinción entre mayúsculas y minúsculas. Si hay un buscador de coincidencias que distingue mayúsculas de minúsculas en una consulta, se trata automáticamente como un buscador de coincidencias que no distingue mayúsculas de minúsculas en las comparaciones de cadenas.

Se recomienda usar un único caso coherente para producir o extraer una serie temporal.

Prometheus de código abierto trata los ejemplos anteriores como dos series temporales diferentes. Todas las muestras que se extraen o ingieren se almacenan por separado.

Referencias de Prometheus

A continuación figuran vínculos a la documentación de Prometheus: