Optimización de los costes de supervisión de Container Insights

Los clústeres de Kubernetes generan una gran cantidad de datos que son recopilados por Container Insights. Como se le cobra por la ingesta y retención de estos datos, querrá configurar el entorno para optimizar costes. Es posible reducir significativamente los costes de supervisión filtrando los datos que no sean necesarios y también optimizando la configuración del área de trabajo de Log Analytics donde se almacenan los datos.

Una vez que haya analizado los datos recopilados y determinado si hay algún dato que se recopile que no sea necesario, hay varias opciones para filtrar los datos que no quiera recopilar. Esto va desde la selección de un conjunto de configuraciones de costes predefinidas al aprovechamiento de diferentes características de filtrado de datos en función de criterios específicos. En este artículo se proporciona un tutorial de instrucciones sobre cómo analizar y optimizar la recopilación de datos para Container Insights.

Habilite la recopilación de métricas a través del servicio administrado de Azure Monitor para Prometheus.

Container Insights usó previamente datos de Log Analytics para alimentar las visualizaciones en Azure Portal. Con el lanzamiento de Managed Prometheus, el formato de la recopilación de métricas es más barato y eficaz. Container Insights ahora ofrece la capacidad de visualizar utilizando métricas administradas de Prometheus. Para empezar a usar Managed Prometheus, consulte Cambio a uso de visualizaciones de Prometheus administradas en Azure Monitor.

Análisis de la ingesta de datos

Para identificar las mejores oportunidades de ahorro de costes, analice la cantidad de datos que se recopilan en distintas tablas. Esta información le ayudará a identificar qué tablas consumen la mayoría de los datos y le ayudará a tomar decisiones fundamentadas sobre cómo reducir costes.

Visualice la cantidad de datos que se ingieren en cada área de trabajo mediante el runbook Uso de Container Insights, que está disponible en la página Workbooks de un clúster supervisado.

Recorte de pantalla que muestra la lista desplegable Ver libros.

El informe le permitirá ver el uso de datos por categorías diferentes, como tabla, espacio de nombres y origen de registro. Use estas diferentes vistas para determinar los datos que no se usan y que podría filtrar para reducir costes.

Captura de pantalla que muestra un ejemplo del libro de uso de datos.

Seleccione la opción para abrir la consulta en Log Analytics, donde es posible realizar análisis más detallados, incluyendo la visualización de los registros individuales que se recopilan. Consulte Registros de consultas de Container Insights para obtener consultas adicionales que puede usar para analizar los datos recopilados.

Por ejemplo, en la captura de pantalla siguiente se muestra una modificación de la consulta de registro usada para By Table que muestra los datos por espacio de nombres y tabla.

Captura de pantalla que muestra una consulta de registro que muestra el uso por espacio de nombres y tabla.

Filtrar los datos recopilados

Una vez que haya identificado los datos que se pueden filtrar, use diferentes opciones de configuración en Container Insights para filtrar los datos que no necesita. Hay opciones disponibles para seleccionar configuraciones predefinidas, establecer parámetros individuales y usar consultas de registro personalizadas para el filtrado detallado.

Valores preestablecidos de registros

La manera más sencilla de filtrar datos es usar los valores preestablecidos de registros en Azure Portal desde Configuración de Monitor>Monitor . Cada valor preestablecido incluye diferentes conjuntos de tablas para recopilar en función de diferentes perfiles de operación y coste. Los valores preestablecidos de registros están diseñados para ayudarle a configurar rápidamente la recopilación de datos en función de escenarios comunes.

Captura de pantalla que muestra las opciones de datos recopiladas.

Opciones de filtrado

Después de elegir un valor preestablecido de registros adecuado, puede filtrar datos adicionales mediante los distintos métodos de la tabla siguiente. Cada opción le permitirá filtrar los datos en función de distintos criterios. Cuando haya terminado con la configuración, solo deberá recopilar aquellos datos que necesite para el análisis y las alertas.

Filtrar por Descripción
Tablas Modifique manualmente el DCR si desea seleccionar tablas individuales para rellenar otras que no sean los grupos preestablecidos de registros. Por ejemplo, puede que quiera recopilar ContainerLogV2, pero no recopilar KubeEvents, que se incluye en el mismo conjunto predefinido de registros.

Consulte Valores de flujo para obtener una lista de las secuencias que se usarán en el DCR.
Registros de contenedor ContainerLogV2 almacena los registros stdout/stderr generados por los contenedores del clúster. Aunque es posible deshabilitar la recopilación de toda la tabla mediante DCR, se puede configurar la colección de registros stderr y stdout por separado mediante ConfigMap para el clúster. Dado que los valores stdout y stderr se pueden configurar por separado, puede optar por habilitar uno y no el otro.

Consulte Filtrado de la recopilación de registros de contenedor con ConfigMap para obtener más información sobre el filtrado de registros de contenedor.
Espacio de nombres Los espacios de nombres de Kubernetes se usan para agrupar recursos dentro de un clúster. Es posible filtrar los datos de los recursos en espacios de nombres específicos que no se necesiten. Con DCR solo se pueden filtrar los datos de rendimiento por espacio de nombres si se habilitó la recopilación para la tabla Perf. Use ConfigMap para filtrar los datos de determinados espacios de nombres en los registros stdout y stderr.

Consulte Filtrado de registros de contenedor para obtener más información sobre el filtrado de registros por espacio de nombres y filtrado de registros de plataforma (espacios de nombres de System Kubernetes) para obtener más información sobre el espacio de nombres del sistema.
Pods y contenedores El filtrado de anotaciones permite filtrar los registros de contenedor en función de las anotaciones que se realicen en el pod. Con ConfigMap se puede especificar si se deben recopilar registros stdout y stderr para pods y contenedores individuales.

Consulte Filtrado basado en anotaciones para cargas de trabajo para obtener más información sobre cómo actualizar ConfigMap y establecer anotaciones en los pods.

Transformaciones

Las transformaciones de tiempo de ingesta permiten aplicar consultas KQL para filtrar y transformar datos en la canalización de Azure Monitor antes de almacenarlos en el área de trabajo de Log Analytics. Esto permite filtrar datos en función de criterios que no serían posibles con las otras opciones.

Por ejemplo, podría optar por filtrar los registros de contenedor en función del nivel de registro en ContainerLogV2. Podría agregar transformaciones a la DCR de Container Insights que realizarían la funcionalidad en el diagrama siguiente. En este ejemplo, solo se recopilan eventos de nivel error y critical, mientras que se omiten otros eventos.

Una estrategia alternativa sería guardar los eventos menos importantes en una tabla independiente configurada para los registros básicos. Los eventos seguirán estando disponibles para solucionar problemas, pero con un ahorro significativo de costes para la ingesta de datos.

Consulte Transformaciones de datos en Container Insights para más información sobre cómo agregar una transformación a la DCR de Container Insights, incluidos los DCR de ejemplo mediante transformaciones.

Configurar planes de precios

Los Registros básicos de Azure Monitor ofrecen un descuento significativo en los costes de ingesta de datos en el área de trabajo de Log Analytics para los datos que se usan ocasionalmente para la depuración y solución de problemas. Las tablas configuradas para los registros básicos ofrecen un descuento significativo en los costes de ingesta de datos a cambio de un coste de las consultas de registro, lo que significa que son ideales para aquellos datos que necesite, pero a los que acceda con poca frecuencia.

Configure ContainerLogV2 para registros básicos de contenedor, lo que reducirá significativamente los costos de ingesta de datos de tus registros de contenedor. Consulte Estrategias de alertas rentables para AKS para obtener diferentes estrategias para seguir alertando sobre los registros de contenedor con esta tabla configurada para los registros básicos.

Estrategias de alertas rentables

Las alertas son una parte fundamental de la supervisión de cargas de trabajo en Azure Kubernetes Service (AKS). Las alertas avanzadas requieren registros de nivel de análisis en el área de trabajo de Log Analytics, pero esto puede ser prohibitivo para entornos de gran volumen o determinados tipos de registros, como los registros de auditoría.

Puede reducir significativamente los costos de ingesta de datos convirtiendo tablas que contienen registros de contenedor en registros básicos y aprovechando otras estrategias rentables de la plataforma de Log Analytics. Azure Monitor proporciona opciones para alertas basadas en eventos y de resumen en estas tablas, lo que proporciona más control sobre los costos sin sacrificar la visibilidad del estado y el comportamiento de las cargas de trabajo de AKS. Consulte Estrategias de alertas rentables para AKS para obtener más información.

Pasos siguientes

Para ayudarle a comprender cuáles son los costos que es probable que se basen en patrones de uso recientes de los datos recopilados con Container Insights, consulte Análisis del uso en un área de trabajo de Log Analytics.