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. Prometheus se usa para supervisar y alertar sobre el rendimiento de la infraestructura y las cargas de trabajo, y a menudo se usa en entornos de Kubernetes.
Use 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, donde puede analizar y visualizar los datos mediante el Explorador de métricas de con PromQL y Azure Managed Grafana.
Importante
Prometheus administrado y hospedado de Azure Monitor 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 clasificados como información de identificación personal (PII) ni información de identificación del usuario final (EUII). Se recomienda encarecidamente no enviar información confidencial (nombres de usuario, números de tarjeta de crédito, etc.) a campos de Prometheus hospedados en Azure Monitor, como nombres de métricas, nombres de etiqueta o valores de etiqueta.
Servicio administrado de 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 Azure Kubernetes Service, lo que le permite 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 ARC. El servicio proporciona alta disponibilidad, garantías del acuerdo de nivel de servicio y actualizaciones automáticas de software. El servicio proporciona un almacén de métricas altamente escalable, con retención de datos de hasta 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. Se integra de forma nativa 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 los servicios de Azure Kubernetes:
- Azure Kubernetes Service (AKS)
- 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. Una vez creado el área de trabajo, puede incorporar servicios que recopilan métricas de Prometheus.
- Para recopilar métricas de Prometheus del clúster de Kubernetes, consulte Habilitación de la supervisión de clústeres de Kubernetes.
- Para configurar la escritura remota para recopilar datos de un servidor Prometheus autoadministrado, consulte Servicio administrado de Azure Monitor para la escritura remota de Prometheus.
Para habilitar Prometheus administrado para nubes con disponibilidad aérea 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 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 Arc
- Clústeres de Kubernetes autohospedados o habilitados para Arc.
Servicios de Kubernetes autoadministrados
Envíe métricas desde Prometheus autoadministrado en clústeres de Kubernetes. Para más información sobre la escritura remota en áreas de trabajo de Azure Monitor para servicios de Kubernetes, consulte los artículos siguientes:
- Enviar datos de Prometheus de AKS a Azure Monitor mediante la autenticación de identidad administrada
- Enviar datos de Prometheus de AKS a Azure Monitor mediante la autenticación de Microsoft Entra ID
- Enviar datos de Prometheus a Azure Monitor mediante la autenticación de identidad administrada por pods (versión preliminar) de Microsoft Entra ID
- Enviar datos de Prometheus a Azure Monitor mediante la autenticación de Id. de carga de trabajo de Microsoft Entra ID (versión preliminar)
Virtual Machines y Virtual Machine Scale Sets
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 más información, vea Envío de métricas de Prometheus desde Máquinas virtuales 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 mediante el lenguaje de consulta Prometheus (PromQL). Puede almacenar datos de varios orígenes de datos de Prometheus en un único área de trabajo de Azure Monitor. Para más información, consulte información general del área de trabajo de Azure Monitor.
Los datos se conservan en áreas de trabajo de Azure Monitor durante 18 meses.
Consulta y análisis de métricas de Prometheus
Los datos de Prometheus se recuperan mediante el lenguaje de consulta Prometheus (PromQL). Puede escribir sus propias consultas, usar consultas de la comunidad de código abierto y usar paneles de Grafana que incluyan consultas PromQL. Consulte Proyecto 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
- Azure Managed Grafana
- Libros de Azure Monitor
- API de consulta de Prometheus
Explorador de métricas de Azure Monitor con PromQL
El Explorador de métricas con PromQL permite analizar y visualizar las métricas de la plataforma y Prometheus. El explorador de métricas admite PromQL para métricas de Prometheus. El Explorador de métricas con PromQL (versión preliminar) está disponible en el elemento de menú 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 con PromQL.
Libros de Azure
Cree gráficos y paneles con tecnología del servicio administrado de Azure Monitor para Prometheus mediante libros de Azure y consultas PromQL. Para 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, tiene acceso a varios paneles creados previamente que usan métricas de Prometheus y la capacidad de crear cualquier número de paneles personalizados. Para más información, consulte Vinculación de un área de trabajo de Grafana a un área de trabajo de Azure Monitor
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, consulte API de consulta de Prometheus.
Reglas y alertas
Prometheus admite reglas de grabación y reglas de alerta mediante consultas PromQL. Las reglas y las alertas se implementan automáticamente en el servicio administrado para Prometheus de Azure Monitor. Las métricas grabadas mediante reglas de grabación se almacenan en el área de trabajo de Azure Monitor y se pueden consultar mediante paneles o por otras reglas. Tanto las reglas de alerta como las reglas de grabación se pueden crear y administrar mediante grupos de reglas de Azure Managed Prometheus. Para el clúster de AKS, se proporciona un conjunto de reglas de alertas predefinidas de Prometheus y de reglas de grabación para permitir un inicio rápido sencillo.
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. 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 de Azure Monitor para Prometheus 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 más información sobre los límites de métricas de Prometheus, 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 o problemas conocidos: servicio administrado de Azure Monitor para Prometheus
- 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 de nuestro 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 es esperado y se produce debido a la actualización del nodo en el que se ejecuta. Las reglas de alerta recomendadas no se ven afectadas por este comportamiento.
- 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 Supervisar nodos y pods de Windows en los clústeres.
Distinción entre mayúsculas y minúsculas
Prometheus administrado por Azure 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, VMSS o clústeres de Azure Kubernetes Service (AKS) distinguen mayúsculas de minúsculas.
En Prometheus administrado por Azure, 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.
- 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. Se pueden devolver mayúsculas y minúsculas diferentes en distintos momentos para la misma serie temporal.
- 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 la realización de 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 al realizar comparaciones de cadenas.
Se recomienda asegurarse de que se produce o se extrae una serie temporal mediante el uso sistemático solo de mayúsculas o solo de minúsculas.
En Prometheus de código abierto, las series temporales anteriores se tratan 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.
- Consulta de Prometheus
- Soporte de Grafana con Prometheus
- Definición de reglas de grabación
- Reglas de alertas
- Escritura de exportadores
Pasos siguientes
- Habilitación del servicio administrado para Prometheus de Azure Monitor en clústeres de Kubernetes.
- Enviar métricas de Prometheus desde Máquinas virtuales a un área de trabajo de Azure Monitor.
- Configuración de los grupos de reglas de alertas y grabación de Prometheus.
- Personalización de la extracción de métricas de Prometheus.
- Solución de problemas de recopilación de métricas de Prometheus.