A medida que las herramientas y prácticas de computación en la nube maduran, existe una creciente necesidad de integrarlas en los entornos de gestión y monitoreo existentes. Esto significa que es necesario integrar herramientas nativas de la nube, como Prometheus -el segundo proyecto de código abierto integrado en la CNCF después de Kubernetes- o el más reciente OpenTelemetry, con las reglas de seguimiento y paneles de control ya vigentes en la empresa. Recordemos que Prometheus es una herramienta de observabilidad (recopilación, almacenamiento y consulta) que utiliza un modelo métrico diseñado para satisfacer sus propias necesidades, mientras que OpenTelemetry traduce muchos modelos de datos diferentes en un único marco (recolección sin almacenamiento ni consulta). Estas diferencias fundamentales reflejan la complejidad de los sistemas: Prometheus es un modelo simple que a menudo se describe en texto, mientras que OpenTelemetry es una serie más compleja de tres modelos que utiliza un formato binario para la transmisión. Aprovechar estas herramientas existentes es clave para la adopción, ya que los equipos de desarrollo y operaciones en la nube ya han creado cargas de trabajo en torno a interfaces familiares. Configurar el monitoreo y la administración es una prioridad porque el tiempo dedicado a crear nuevas interfaces e integraciones es tiempo que podría emplearse mejor en mantener las aplicaciones y los servicios en funcionamiento.
También existe otro desafío, ya que la nube requiere una nueva capa de TI que incluya las últimas plataformas que alojen las aplicaciones en la nube de la empresa. Sin embargo, estos plantean sus propios desafíos de gestión y monitoreo, ya que se debe realizar un seguimiento del uso de recursos y la ampliación, para garantizar que los nodos de aplicaciones adicionales funcionen correctamente. Aunque estas herramientas, especialmente Kubernetes, vienen con sus propios servicios de monitoreo, es esencial que estén integradas con la infraestructura y el monitoreo de aplicaciones existentes. Afortunadamente, la adopción de Prometheus con almacenamiento de series temporales aborda esta necesidad de recopilar y analizar datos y registros de eventos.
Ampliar Azur Monitor de Prometeo
En su evento Build el mes pasado, microsoft anunció el Disponibilidad general de las bibliotecas de series temporales de Prometheus en Azure Monitor.. Presentado originalmente en el otoño de 2022, este servicio administrado lleva Prometheus a monitor azul Y Grafana gestionadaproporcionando acceso a herramientas familiares de visualización de código abierto, así como a las propias herramientas de monitoreo de contenedores de Microsoft. Integrar Prometheus con Azure Monitor es una obviedad. Aunque Microsoft tiene su "propia" distribución de Kubernetes (AKS), es una implementación administrada de la plataforma de código abierto, por lo que tiene las mismas API y soporte para todas las herramientas estándar de K8. Siempre ha sido posible ejecutar sus propias instancias de Prometheus en Azure: un enfoque que funciona bien para sistemas relativamente pequeños, sin necesidad de escalar nada más que la aplicación en cuestión. tal como. Pero las cosas se complican con las implementaciones de AKS a mayor escala, donde las empresas deben aplicarlos a su almacenamiento mientras enfrentan limitaciones de alta disponibilidad.
Ejecutar Kubernetes dentro de una industria regulada plantea desafíos adicionales, ya que las empresas deberán considerar cómo los requisitos de retención de datos afectan su entorno Prometheus. Pasar a un servicio Prometheus administrado simplifica la situación porque Microsoft proporciona herramientas que automatizan gran parte del proceso de escalado y protección de datos, y garantiza que estén actualizados y funcionen con las últimas correcciones. Por tanto, las empresas no necesitan tener en cuenta la carga de trabajo asociada a la gestión de Prometheus: simplemente escriben, leen y analizan los datos almacenados allí. No se aplican limitaciones en el uso de Azure Monitor para Prometheus. todas las herramientas y scripts de PromQL existentes que se pueden usar con Azure garantizar que cualquier regla creada en torno a los datos de Prometheus seguirá funcionando. A nivel de código, la versión administrada de Prometheus de Azure se parece a cualquier otro punto final de Prometheus, con el mismo soporte para la ingesta de datos y las consultas. Este enfoque permite migrar otros entornos de Kubernetes a Azure y, al mismo tiempo, garantiza que las métricas consideradas importantes por la empresa sigan siendo accesibles.
Prometeo escalado en Azure
Como Prometheus administrado por Azure depende de su almacenamiento, se puede utilizar para aplicaciones locales. Esto permite utilizar Monitor y Grafana como una forma unificada de monitorear clústeres de Kubernetes locales y alojados en la nube, mientras continúa admitiendo el código PromQL existente. Como Managed Prometheus está diseñado para admitir múltiples clústeres, Microsoft señala que el uso común es una instancia separada por región de Azure. Las consultas funcionan en todas las regiones, lo que permite crear paneles personalizados en Grafana o Azure Monitor. La firma de Redmond diseñó su servicio Prometheus para que fuera escalable y resistente, con un modo de alta disponibilidad que ejecuta recopiladores en cada nodo de la infraestructura de Kubernetes. Al mismo tiempo, al igual que otros servicios gestionados por Azure, los datos se almacenan en una zona elegida y se replican en otra. Así, el entorno Prometheus ubicado en el oeste de Estados Unidos estará disponible en el este del país. Una forma de garantizar que incluso en caso de una incidencia importante en un centro de datos o en caso de fallo del centro de datos, las métricas se almacenarán allí.
Comenzando con Prometheus en AKS
Es bastante fácil habilitar el servicio Prometheus para usarlo con AKS. Para hacer esto, debe comenzar creando un espacio de trabajo de Monitor para almacenar sus mediciones. Luego conecte sus instancias de Kubernetes a Prometheus, ya sea directamente o mediante Container Insights. Una vez creado un espacio de trabajo, se puede conectar a Azure Managed Grafana para configurar paneles y visualizaciones. Azure Monitor alojará reglas y alertas, que se escriben en PromQL y se utilizan para desencadenar acciones o enviar notificaciones. Prometheus administrado es una fuente de eventos compatible con KEDA (escalado automático basado en eventos de Kubernetes), por lo que se podrán utilizar reglas para administrar el escalamiento fuera del modelo central de Kubernetes basado en recursos. Configurar un clúster de AKS para usar el servicio es relativamente simple, y tanto las opciones de dropshipping como de Container Insights instalan una versión en contenedores del agente de Azure Monitor, que recopila métricas de un clúster y de todos los nodos en ejecución. Esto último está sujeto a una limitación: debe utilizar la autenticación de identidad administrada en su lugar. Una práctica recomendada a seguir si la empresa planea utilizar AKS con otros servicios de Azure.
Microsoft ha automatizado gran parte del proceso de configuración del agente de supervisión para contenedores de Linux: Azure Monitor lo configurará e implementará según sea necesario. Si la empresa utiliza contenedores de Windows con AKS, gran parte del servicio de monitoreo deberá configurarse manualmente en este momento, incluida la ejecución de YAML y los mapas de configuración proporcionados por Microsoft. Una vez que se implemente el agente, kubectl podrá verificar que está funcionando en grupos de nodos. La configuración predeterminada para recopilar métricas debería ser suficiente para la mayoría de las aplicaciones. El editor proporciona una larga lista de métricas y objetivos disponiblesasí como paneles proporcionados automáticamente en Grafana (cuyo código fuente está disponible en GitHub). Entonces será posible agregar sus propios paneles y reglas para administrar sus aplicaciones nativas de la nube como mejor le parezca.
Precios razonables
Afortunadamente, la versión administrada de Prometheus puede incluso funcionar como punto final para el soporte OpenCost más reciente de Azure. También está disponible como parte de la herramienta Container Insights existente, por lo que se puede agregar rápidamente a los clústeres monitoreados como una nueva fuente para Azure Managed Grafana. De esta manera, la cuenta de la empresa recibirá automáticamente un conjunto de paneles de muestra para comenzar y podrá usarse como punto de partida. El precio es razonable, con una ingesta a partir de 0,16 dólares por 10 millones de muestras y consultas a partir de 0,001 dólares por 10 millones de muestras procesadas. No hay tarifas de almacenamiento adicionales y los datos se conservan durante 18 meses.
Además de trabajar con AKS y instancias de Kubernetes alojadas en empresas, Prometheus trabaja con Kubernetes alojado en Azure Arc, brindando soporte para implementaciones en la nube y en el borde. A medida que el papel de Kubernetes en esto último se vuelve cada vez más importante, el soporte de Arc es una opción atractiva para ejecutar K8 en servidores internos. Se pueden apreciar muchos puntos en estos anuncios de Microsoft, que continúa aprovechando sus puntos fuertes sin dejar de permanecer cerca de las raíces de código abierto del ecosistema de Kubernetes. El resultado es una herramienta que sigue siendo familiar pero que funciona de tal manera que se centra en los resultados deseados y no en la gestión de una plataforma de métricas. Y al final todos pudieron ganar.
Otras noticias que te pueden interesar