Supervisión de Azure Kubernetes Service
En este artículo se describe:
- Los tipos de datos de supervisión que puede recopilar para este servicio.
- Formas de analizar esos datos.
Nota
Si ya está familiarizado con este servicio o Azure Monitor y solo quiere saber cómo analizar los datos de supervisión, consulte la sección Analizar cerca del final de este artículo.
Cuando tenga aplicaciones críticas y procesos empresariales que dependan de los recursos de Azure, deberá supervisar y obtener alertas para el sistema. El servicio Azure Monitor recopila y agrega métricas y registros de todos los componentes del sistema. Azure Monitor proporciona una vista de la disponibilidad, el rendimiento y la resistencia, y le notifica los problemas. Puede usar Azure Portal, PowerShell, la CLI de Azure, la API de REST o las bibliotecas cliente para configurar y ver los datos de supervisión.
- Para más información sobre Azure Monitor, consulte la Información general de Azure Monitor.
- Para más información sobre cómo supervisar los recursos de Azure en general, consulte Supervisión de recursos de Azure con Azure Monitor.
Importante
Kubernetes es un sistema distribuido complejo con muchas partes móviles. Se requiere la supervisión en varios niveles. Aunque AKS es un servicio de Kubernetes administrado, todavía se requiere el mismo rigor en torno a la supervisión en varios niveles. En este artículo se proporciona información general y procedimientos recomendados para supervisar un clúster de AKS.
- Para obtener una supervisión detallada de la pila completa de Kubernetes, consulte Supervisión de clústeres de Kubernetes mediante servicios de Azure y herramientas nativas en la nube.
- Para recopilar datos de métricas de clústeres de Kubernetes, consulte Servicio administrado de Azure Monitor para Prometheus.
- Para recopilar registros en clústeres de Kubernetes, consulte Características de Azure Monitor para la supervisión de Kubernetes.
- Para la visualización de datos, consulte Libros de Azure y Supervisión de los servicios de Azure en Grafana.
Algunos servicios de Azure tienen un panel de supervisión integrado en Azure Portal que proporciona un punto de partida para supervisar el servicio. Estos paneles se denominan información, y puede encontrarlos en el Centro de información de Azure Monitor en Azure Portal.
Azure Monitor Container Insights recopila métricas personalizadas para nodos, pods, contenedores y volúmenes persistentes. Para más información, consulte Métricas recopiladas por Container Insights.
Application Insights de Azure Monitor se utiliza para supervisar el rendimiento de las aplicaciones (APM). Para habilitar Application Insights con cambios de código, consulte Habilitar OpenTelemetry de Azure Monitor. Para habilitar Application Insights sin cambios en el código, consulte Instalación automática de AKS. Para obtener más información sobre la instrumentación, consulte Conceptos básicos de la recopilación de datos.
AKS genera los mismos tipos de datos de supervisión que otros recursos de Azure que se describen en Supervisión de datos de recursos de Azure. Consulte Referencia de supervisión de datos de ASK para obtener información detallada sobre las métricas y los registros creados por AKS. Otros servicios y características de Azure recopilan otros datos y habilitan otras opciones de análisis, como se muestra en el diagrama y la tabla siguientes.
Origen | Descripción |
---|---|
Métricas de la plataforma | Las métricas de plataforma se recopilan automáticamente para los clústeres de AKS sin costo alguno. Puede analizar estas métricas con el explorador de métricas o usarlas para las alertas de métricas. |
Métricas de Prometheus | Al habilitar la extracción de métricas para su clúster, el servicio administrado para Prometheus de Azure Monitor recopila las métricas de Prometheus y las almacena en un área de trabajo de Azure Monitor. Analícelos con paneles predefinidos en Azure Managed Grafana y con las alertas de Prometheus. |
Registros de actividad | El registro de actividad se recopila automáticamente para los clústeres de AKS sin costo alguno. Estos registros realizan un seguimiento de la información, como cuando se crea un clúster o si quiere hacer un cambio de configuración. Envíe el Registro de actividad al área de trabajo de Log Analytics para analizarlo con los demás datos de registro. |
Registros del recurso | Los registros del plano de control para AKS se implementan como registros de recursos. Cree una configuración de diagnóstico para enviarlos al área de trabajo de Log Analytics, donde puede analizarlos y enviar alertas con consultas de registro en Log Analytics. |
Container Insights | Container Insights recopila varios registros y datos de rendimiento de un clúster, incluidos los flujos de tipo stdout/stderr, y los almacena en un área de trabajo de Log Analytics y en las métricas de Azure Monitor. Analice estos datos con vistas y libros incluidos con Container Insights o con Log Analytics y el Explorador de métricas. |
Application Insights | Application Insights de Azure Monitor recopila registros, métricas y seguimientos distribuidos. Esta telemetría se almacena en un área de trabajo de Log Analytics para su análisis en el Azure Portal. |
Azure usa el concepto de tipos de recursos e identificadores para identificar todo el contenido de una suscripción. Los tipos de recursos también forman parte de los identificadores de recursos para cada recurso que se ejecuta en Azure. Por ejemplo, un tipo de recurso para una máquina virtual es Microsoft.Compute/virtualMachines
. Para obtener una lista de los servicios y sus tipos de recursos asociados, consulte Proveedores de recursos.
De forma similar, Azure Monitor organiza los datos principales de supervisión en métricas y registros en función de tipos de recursos, que también se denominan espacios de nombres. Hay diferentes métricas y registros disponibles para distintos tipos de recursos. Es posible que el servicio esté asociado a más de un tipo de recurso.
Para más información sobre los tipos de recursos para AKS, consulte Referencia de datos de supervisión de Azure Kubernetes Service.
Para Azure Monitor:
- Los datos de métricas se almacenan en la base de datos de métricas de Azure Monitor.
- Los datos de registro se almacenan en el almacén de registros de Azure Monitor. Log Analytics es una herramienta de Azure Portal que puede hacer consultas en este almacén.
- El registro de actividad de Azure es un almacén independiente con su propia interfaz en Azure Portal.
Opcionalmente, puede enrutar los datos del registro de actividad y las métricas al almacén de registros de Azure Monitor. A continuación, puede usar Log Analytics para consultar los datos y correlacionarlos con otros datos de registro.
Muchos servicios pueden usar la configuración de diagnóstico para enviar datos de métricas y de registro a otras ubicaciones de almacenamiento fuera de Azure Monitor. Algunos ejemplos son Azure Storage, sistemas de asociados hospedados y sistemas de asociados que no son de Azure mediante Event Hubs.
Para obtener información detallada sobre cómo Azure Monitor almacena datos, consulte Plataforma de datos de Azure Monitor.
Azure Monitor proporciona métricas de plataforma para la mayoría de los servicios. Estas son las métricas:
- Se define individualmente para cada espacio de nombres.
- Almacenado en la base de datos de métricas de serie temporal de Azure Monitor.
- Ligero y capaz de admitir alertas casi en tiempo real.
- Se usa para supervisar el rendimiento de un recurso a lo largo del tiempo.
Recopilación: Azure Monitor recopila automáticamente las métricas de la plataforma. No se requiere ninguna configuración.
Enrutamiento: también puede enrutar algunas métricas de la plataforma a registros de Azure Monitor o Log Analytics para poder consultarlas con otros datos de registro. Compruebe el valor Exportación de DS para ver si puede usar una configuración de diagnóstico a fin de enrutar la métrica a registros de Azure Monitor o Log Analytics.
- Para más información, consulta el valor Diagnóstico de métricas.
- A fin de configurar valores de diagnóstico para un servicio, vea Creación de valores de diagnóstico en Azure Monitor.
Para obtener una lista de todas las métricas que es posible recopilar para todos los recursos de Azure Monitor, consulte Métricas admitidas en Azure Monitor.
Para obtener una lista de las métricas disponibles para AKS, consulte Referencia de datos de supervisión de Azure Kubernetes Service.
Las métricas desempeñan un papel importante en la supervisión de clústeres, la identificación de problemas y la optimización del rendimiento en los clústeres de AKS. Las métricas de la plataforma se capturan con el servidor de métricas estándar instalado en el espacio de nombres kube-system, que extrae periódicamente las métricas de todos los nodos de Kubernetes servidos por Kubelet. También debe habilitar las métricas de Azure Managed Prometheus para recopilar métricas de contenedor y métricas de objetos de Kubernetes, como el estado del objeto de implementaciones. Para más información, consulte Recopilación de métricas de Prometheus desde un clúster de AKS.
AKS también expone métricas de componentes críticos del Plano de control, como el servidor de API, ETCD, Scheduler a través de Azure Managed Prometheus. Esta funcionalidad actualmente está en su versión preliminar. Para más información, consulte Supervisión de métricas del plano de control de Azure Kubernetes Service (AKS) (versión preliminar).
Este servicio proporciona otras métricas que no se incluyen en la base de datos de métricas de Azure Monitor.
Los siguientes servicios y características de Azure Monitor se pueden usar para la supervisión adicional de los clústeres de Kubernetes. Puede habilitar estas características durante la creación de clústeres de AKS desde la pestaña Integraciones de Azure Portal, la CLI de Azure, Terraform, Azure Policy o la incorporación del clúster más adelante. Cada una de estas características puede tener un coste, así que consulte la información sobre precios de cada una de ellas antes de habilitarlas.
Servicio o característica | Descripción |
---|---|
Container Insights | Usa una versión en contenedor del agente de Azure Monitor para recopilar registros stdout/stderr y eventos de Kubernetes de cada nodo del clúster. La característica admite una variedad de escenarios de supervisión para clústeres de AKS. Puede habilitar la supervisión de un clúster de AKS cuando se crea mediante la CLI de Azure, Azure Policy, Azure Portal o Terraform. Si no habilita Container Insights al crear el clúster, consulte Habilitación del clúster de Container Insights para Azure Kubernetes Service (AKS) para ver otras opciones para habilitarlo. Container Insights almacena la mayoría de sus datos en un área de trabajo de Log Analytics y normalmente usará la misma área de trabajo de Log Analytics que los registros de recursos para el clúster. Consulte Diseño de una arquitectura de área de trabajo de Log Analytics para obtener instrucciones sobre cuántas áreas de trabajo debe usar y dónde buscarlas. |
Servicio administrado Azure Monitor para Prometheus | Prometheus es una solución de métricas nativas de la nube de Cloud Native Compute Foundation. Es la herramienta más común que se usa para recopilar y analizar datos de métricas de clústeres de Kubernetes. El servicio administrado para Prometheus de Azure Monitor es una solución de supervisión totalmente compatible con Prometheus en Azure. Si no habilita Prometheus administrado al crear el clúster, consulte Recopilación de métricas de Prometheus desde un clúster de AKS para ver otras opciones para habilitarlo. El servicio administrado para Prometheus de Azure Monitor almacena sus datos en un área de trabajo de Azure Monitor, que está vinculada a un área de trabajo de Grafana, para que pueda analizar los datos con Azure Managed Grafana. |
Azure Managed Grafana | La implementación totalmente administrada de Grafana es una plataforma de visualización de datos de código abierto que se usa habitualmente para presentar datos de Prometheus. Hay varios paneles predefinidos de Grafana disponibles para supervisar Kubernetes y una solución de problemas de pila completa. Si no habilita Grafana administrado al crear el clúster, consulte Vinculación de un área de trabajo de Grafana. Puede vincularla al área de trabajo de Azure Monitor para que pueda acceder a las métricas de Prometheus para el clúster. |
En esta sección se muestra cómo usar la característica métricas del plano de control (versión preliminar). Recopile métricas del plano de control y vea la telemetría en Azure Monitor. La característica de métricas del plano de control es totalmente compatible con Prometheus y Grafana. La característica proporciona más visibilidad sobre la disponibilidad y el rendimiento de los componentes del plano de control, como el servidor de API, ETCD, Scheduler, Autoscaler y el administrador del controlador. Puede usar estas métricas para maximizar la observabilidad general y mantener la excelencia operativa para el clúster de AKS.
- Las métricas del plano de control (versión preliminar) solo admiten el servicio administrado de Azure Monitor para Prometheus.
- No es compatible con Private Link.
- Solo puede personalizar el ama-metrics-settings-config-map predeterminado. No se admiten todas las demás personalizaciones.
- El clúster de AKS debe usar la autenticación de identidad administrada.
Importante
Las características en versión preliminar de AKS están disponibles como opción de participación y autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS reciben cobertura parcial del soporte al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:
Instale o actualice la extensión de la CLI de Azure
aks-preview
mediante el comandoaz extension add
oaz extension update
.# Install the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
Registre la marca de características de
AzureMonitorMetricsControlPlanePreview
mediante el comandoaz feature register
.az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Tarda unos minutos en que el estado muestre Registrado.
Comprobar el estado del registro mediante el comando
az feature show
.az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Cuando aparezca el estado Registrado, actualice el registro del proveedor de recursos Microsoft.ContainerService mediante el comando
az provider register
.az provider register --namespace "Microsoft.ContainerService"
Puede habilitar las métricas del plano de control con el complemento del servicio administrado de Azure Monitor para Prometheus al crear un nuevo clúster o actualizar un clúster existente.
Habilitación de las métricas del plano de control en un nuevo clúster de AKS:
Para recopilar métricas de Prometheus del clúster de Kubernetes, consulte Habilitación de Prometheus y Grafana para clústeres de AKS y siga los pasos descritos en la pestaña de la CLI para un clúster de AKS.
Si el clúster ya tiene el complemento Prometheus, actualice el clúster para asegurarse de que comienza a recopilar métricas del plano de control mediante el comando
az aks update
.az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Nota
A diferencia de las métricas recopiladas de los nodos de clúster, un componente recopila las métricas del plano de control que no forman parte del complemento ama-metrics. Habilitar la marca de características AzureMonitorMetricsControlPlanePreview
y el complemento Prometheus administrado garantiza que se recopilen las métricas del plano de control. Después de habilitar la recopilación de métricas, los datos pueden tardar varios minutos en aparecer en el área de trabajo.
Las métricas del plano de control se almacenan en un área de trabajo de Azure Monitor en la región del clúster. Puede consultar las métricas directamente desde el área de trabajo o a través de la instancia de Azure Managed Grafana conectada al área de trabajo.
Consulte las métricas del plano de control en el área de trabajo de Azure Monitor mediante los pasos siguientes:
En Azure Portal, vaya al clúster de AKS.
En Supervisión, seleccione Conclusiones.
Nota
AKS proporciona plantillas de panel para ayudarle a ver y analizar los datos de telemetría del plano de control en tiempo real. Si usa Azure Managed Grafana para visualizar los datos, puede importar los siguientes paneles:
AKS incluye un conjunto preconfigurado de métricas para recopilar y almacenar para cada componente. API server
y etcd
están habilitados de forma predeterminada. Puede personalizar esta lista a través de ama-settings-configmap
.
Los destinos predeterminados incluyen los siguientes valores:
controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
Todos los objetos ConfigMap deben aplicarse al espacio de nombres kube-system
de cualquier clúster.
Para obtener más información sobre las métricas de perfil minimal-ingestion
, consulte Perfil de ingesta mínimo para las métricas del plano de control en Prometheus administrado.
Ingesta solo de métricas mínimas de destinos predeterminados
Al establecer
default-targets-metrics-keep-list.minimalIngestionProfile="true"
, solo se ingiere el conjunto mínimo de métricas para cada uno de los destinos predeterminados:controlplane-apiserver
ycontrolplane-etcd
.Ingesta de todas las métricas de todos los destinos
Recopile todas las métricas de todos los destinos del clúster mediante los pasos siguientes:
Descargue el archivo ConfigMap ama-metrics-settings-configmap.yaml y cambie su nombre por
configmap-controlplane.yaml
.Establezca
minimalingestionprofile = false
.En
default-scrape-settings-enabled
, compruebe que los destinos que desea extraer están establecidos entrue
. Los únicos destinos que puede especificar son:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ycontrolplane-etcd
.Aplique ConfigMap mediante el comando
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
Una vez aplicada la configuración, las métricas de los destinos especificados extraídas del plano de control tardan varios minutos en aparecer en el área de trabajo de Azure Monitor.
Ingesta de algunas otras métricas además de las métricas mínimas
La configuración
minimal ingestion profile
ayuda a reducir el volumen de ingesta de métricas, ya que solo recopila las métricas usadas por los paneles predeterminados, las reglas de grabación predeterminadas y las alertas predeterminadas se recopilan. Para personalizar esta configuración, siga estos pasos:Descargue el archivo ConfigMap ama-metrics-settings-configmap y cambie su nombre por
configmap-controlplane.yaml
.Establezca
minimalingestionprofile = true
.En
default-scrape-settings-enabled
, compruebe que los destinos que desea extraer están establecidos entrue
. Los únicos destinos que puede especificar son:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ycontrolplane-etcd
.En
default-targets-metrics-keep-list
, especifique la lista de métricas para los destinos detrue
. Por ejemplo:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Aplique ConfigMap mediante el comando
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
Una vez aplicada la configuración, las métricas de los destinos especificados extraídas del plano de control tardan varios minutos en aparecer en el área de trabajo de Azure Monitor.
Ingesta solo de métricas específicas de algunos destinos
Descargue el archivo ConfigMap ama-metrics-settings-configmap y cambie su nombre por
configmap-controlplane.yaml
.Establezca
minimalingestionprofile = false
.En
default-scrape-settings-enabled
, compruebe que los destinos que desea extraer están establecidos entrue
. Los únicos destinos que puede especificar son:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ycontrolplane-etcd
.En
default-targets-metrics-keep-list
, especifique la lista de métricas para los destinos detrue
. Por ejemplo:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Aplique ConfigMap mediante el comando
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
Una vez aplicada la configuración, las métricas de los destinos especificados extraídas del plano de control tardan varios minutos en aparecer en el área de trabajo de Azure Monitor.
Asegúrese de que la marca de característica AzureMonitorMetricsControlPlanePreview
está habilitada y que los pods ama-metrics
se están ejecutando.
Nota
Los métodos de solución de problemas para el servicio administrado de Azure Prometheus no se traducen directamente aquí, ya que los componentes que extraen el plano de control no están presentes en el complemento Prometheus administrado.
Formato de ConfigMap
Asegúrese de que usa el formato adecuado en ConfigMap y de que los campos, en concreto
default-targets-metrics-keep-list
,minimal-ingestion-profile
ydefault-scrape-settings-enabled
, se rellenan correctamente con sus valores previstos.Aislamiento del plano de control del plano de datos
Comience estableciendo algunas de las métricas relacionadas con el nodo en
true
y compruebe que las métricas se reenvían al área de trabajo. Esto ayuda a determinar si el problema es específico de la extracción de métricas del plano de control.Eventos ingeridos
Una vez aplicados los cambios, puede abrir el explorador de métricas desde la página de información general de Azure Monitor o desde la sección Supervisión del clúster seleccionado y comprobar si ha aumentado o disminuido el número de eventos ingeridos por minuto. Debe ayudarle a determinar si falta una métrica específica o si faltan todas las métricas.
No se expone una métrica específica
Se han producido casos en los que se documentan las métricas, pero no se exponen desde el destino y no se reenvían al área de trabajo de Azure Monitor. En este caso, es necesario comprobar que se reenvían otras métricas al área de trabajo.
Sin acceso al área de trabajo de Azure Monitor
Al habilitar el complemento, es posible que haya especificado un área de trabajo existente a la que no tiene acceso. En ese caso, podría parecer que las métricas no se recopilan y reenvían. Asegúrese de crear un área de trabajo al habilitar el complemento o al crear el clúster.
Puede deshabilitar las métricas del plano de control en cualquier momento deshabilitando el complemento Prometheus administrado y anulando el registro de la marca de característica AzureMonitorMetricsControlPlanePreview
.
Quite el complemento de métricas que extrae las métricas de Prometheus mediante el comando
az aks update
.az aks update --disable-azure-monitor-metrics --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Deshabilite la extracción de métricas del plano de control en el clúster de AKS anulando el registro de la marca de característica
AzureMonitorMetricsControlPlanePreview
mediante el comandoaz feature unregister
.az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
¿Puedo extraer métricas del plano de control con Prometheus autohospedado?
No, actualmente no se pueden extraer métricas del plano de control con Prometheus autohospedado. Prometheus autohospedado solo puede extraer la instancia única en función del equilibrador de carga. Las métricas no son confiables, ya que a menudo hay varias réplicas de las métricas del plano de control que solo son visibles a través de Prometheus administrado
¿Por qué el agente de usuario no está disponible a través de las métricas del plano de control?
Las métricas del plano de control en Kubernetes no tienen el agente de usuario. El agente de usuario solo está disponible a través de los registros del plano de control disponibles en la configuración de diagnóstico.
Los registros de recursos proporcionan información sobre las operaciones realizadas por un recurso de Azure. Los registros se generan automáticamente, pero debe enrutarlos a los registros de Azure Monitor para guardarlos o consultarlos. Los registros se organizan en categorías. Un espacio de nombres determinado puede tener varias categorías de registro de recursos.
Recopilación: los registros de recursos no se recopilan ni almacenan hasta que se crea una configuración de diagnóstico y se enrutan los registros a una o varias ubicaciones. Cuando se crea una configuración de diagnóstico, se especifican las categorías de registros que se van a recopilar. Hay varias maneras de crear y mantener la configuración de diagnóstico, como Azure Portal, hacerlo mediante programación o usar Azure Policy.
Enrutamiento: el valor predeterminado sugerido es enrutar los registros de recursos a los registros de Azure Monitor para poder consultarlos con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información, consulte los Registros de recursos de Azure y los Destinos de registro de recursos.
Para obtener información detallada sobre cómo recopilar, almacenar y enrutar registros de recursos, consulte Configuración de diagnóstico en Azure Monitor.
Para obtener una lista de todas las categorías de registro de recursos disponibles en Azure Monitor, consulte Registros de recursos admitidos en Azure Monitor.
Todos los registros de recursos de Azure Monitor tienen los mismos campos de encabezado, seguidos de campos específicos del servicio. El esquema común se describe en Esquema de registros de recursos de Azure Monitor.
Para las categorías de registro de recursos disponibles, sus tablas de Log Analytics asociadas y los esquemas de registro de AKS, consulte Referencia de datos de supervisión de Azure Kubernetes Service.
Los registros del plano de control de los clústeres de AKS se implementan como registros de recursos en Azure Monitor. Los registros de recursos no se recopilan ni almacenan hasta que se crea una configuración de diagnóstico para enrutarlas a una o varias ubicaciones. Normalmente, los enviará a un área de trabajo de Log Analytics, que es donde se almacenan la mayoría de los datos de Container Insights.
Consulte Creación de una configuración de diagnóstico para ver el proceso detallado que le permitirá crear una configuración de diagnóstico mediante Azure Portal, la CLI o PowerShell. Cuando se crea una configuración de diagnóstico, se especifican las categorías de registros que se van a recopilar. Las categorías de AKS se enumeran en la referencia de datos de supervisión de AKS.
Importante
Puede haber un costo considerable al recopilar registros de recursos para AKS, especialmente para los registros de kube-audit. Tenga en cuenta las recomendaciones siguientes para reducir la cantidad de datos recopilados:
- Deshabilite el registro de kube-audit cuando no sea necesario.
- Habilite la recopilación desde kube-audit-admin, lo que excluye los eventos de auditoría get y list.
- Habilite los registros específicos del recurso como se describe a continuación y configure la tabla
AKSAudit
como registros básicos.
Vea Supervisión de clústeres de Kubernetes mediante servicios de Azure y herramientas nativas de nube para obtener más recomendaciones y Optimización de costos y Azure Monitor para obtener más estrategias a fin de reducir los costos de supervisión.
AKS admite el modo de diagnóstico de Azure o el modo específico del recurso para los registros de recursos. Este modo especifica las tablas del área de trabajo de Log Analytics donde se envían los datos. El modo de diagnóstico de Azure envía todos los datos a la tabla AzureDiagnostics, mientras que el modo específico del recurso envía datos a Auditoría de AKS, Administración de auditoría de AKS y Plano de control de AKS, como se muestra en la tabla en Registros de recursos.
Se recomienda el modo específico del recurso para AKS por los siguientes motivos:
- Los datos son más fáciles de consultar porque están en tablas individuales dedicadas a AKS.
- Admite la configuración como registros básicos para ahorrar costos considerables.
Para obtener más información sobre la diferencia entre los modos de recopilación, incluido cómo cambiar una configuración existente, vea Seleccionar el modo de recopilación.
Nota
También es posible configurar las opciones de diagnóstico a través de la CLI. En estos casos, no se garantiza que funcione correctamente, ya que no comprueba el estado de aprovisionamiento del clúster. Asegúrese de comprobar la configuración de diagnóstico del clúster para que se refleje después de configurarlo.
az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{"category": "kube-audit","enabled": true}, {"category": "kube-audit-admin", "enabled": true}, {"category": "kube-apiserver", "enabled": true}, {"category": "kube-controller-manager", "enabled": true}, {"category": "kube-scheduler", "enabled": true}, {"category": "cluster-autoscaler", "enabled": true}, {"category": "cloud-controller-manager", "enabled": true}, {"category": "guard", "enabled": true}, {"category": "csi-azuredisk-controller", "enabled": true}, {"category": "csi-azurefile-controller", "enabled": true}, {"category": "csi-snapshot-controller", "enabled": true}]' --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true
Importante
Al seleccionar Registros en el menú de un clúster de AKS, Log Analytics se abre con el ámbito de la consulta establecido en el clúster actual. Esto significa que las consultas de registro solo incluirán datos de ese recurso. Si quiere ejecutar una consulta que incluya datos de otros clústeres o de otros servicios de Azure, seleccione Registros en el menú Azure Monitor. Consulte Ámbito e intervalo de tiempo de una consulta de registro en Log Analytics de Azure Monitor para obtener más información.
Si en la configuración de diagnóstico del clúster se usa el modo de diagnóstico de Azure, los registros de recursos de AKS se almacenan en la tabla AzureDiagnostics. Puede distinguir registros distintos con la columna Categoría. Para obtener una descripción de cada categoría, consulte Registros de recursos de referencia de AKS.
Descripción | Consulta de registro |
---|---|
Recuento de registros para cada categoría (Modo de diagnóstico de Azure) |
AzureDiagnostics | where ResourceType == "MANAGEDCLUSTERS" | summarize count() by Category |
Todos los registros del servidor de API (Modo de diagnóstico de Azure) |
AzureDiagnostics | where Category == "kube-apiserver" |
Todos los registros de kube-audit en un intervalo de tiempo (Modo de diagnóstico de Azure) |
let starttime = datetime("2023-02-23"); let endtime = datetime("2023-02-24"); AzureDiagnostics | where TimeGenerated between(starttime..endtime) | where Category == "kube-audit" | extend event = parse_json(log_s) | extend HttpMethod = tostring(event.verb) | extend User = tostring(event.user.username) | extend Apiserver = pod_s | extend SourceIP = tostring(event.sourceIPs[0]) | project TimeGenerated, Category, HttpMethod, User, Apiserver, SourceIP, OperationName, event |
Todos los registros de auditoría (modo específico del recurso) |
AKSAudit |
Todos los registros de auditoría sin incluir los eventos de auditoría get y list (modo específico del recurso) |
AKSAuditAdmin |
Todos los registros del servidor de API (modo específico del recurso) |
AKSControlPlane | where Category == "kube-apiserver" |
Para acceder a un conjunto de consultas precompiladas en el área de trabajo de Log Analytics, consulte la interfaz de consultas de Log Analytics y seleccione el tipo de recurso en Kubernetes Services. Para obtener una lista de consultas comunes para Container Insights, consulte Consultas de Container Insights.
Container Insights recopila varios tipos de datos de telemetría de contenedores y clústeres de Kubernetes para ayudarle a supervisar, solucionar problemas y obtener información sobre las aplicaciones en contenedores que se ejecutan en los clústeres de AKS. Para obtener una lista de tablas y sus descripciones detalladas que usa Container Insights, consulte la referencia de tabla de Azure Monitor. Todas estas tablas están disponibles para las consultas de registro.
la configuración de optimización de costos permite personalizar y controlar los datos de métricas recopilados a través del agente de container insights. Esta característica admite la configuración de recopilación de datos para la selección de tablas individuales, los intervalos de recopilación de datos y los espacios de nombres para excluir la recopilación de datos a través de lasReglas de recopilación de datos (DCR) de Azure Monitor. Estos valores controlan el volumen de ingesta y reducen los costos de supervisión de Container Insights. Los datos recopilados de información de contenedores se pueden personalizar en Azure Portal mediante las siguientes opciones. La selección de cualquier opción que no sea Todo (valor predeterminado) hace que no esté disponible la experiencia de información de contenedores.
Agrupar | Tablas | Notas |
---|---|---|
Todo (predeterminado) | Todas las tablas estándar de información de contenedores | Necesario para habilitar las visualizaciones predeterminadas de información de contenedores |
Rendimiento | Rendimiento, InsightsMetrics | |
Registros y eventos | ContainerLog o ContainerLogV2, KubeEvents, KubePodInventory | Se recomienda si ha habilitado las métricas administradas de Prometheus |
Cargas de trabajo, implementaciones y HPA | InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices | |
Volúmenes persistentes | InsightsMetrics, KubePVInventory |
Los eventos y registros de agrupación capturan los registros de ContainerLog o ContainerLogV2, KubeEvents, tablas de KubePodInventory, pero no las métricas. La ruta de acceso recomendada para recopilar métricas es habilitar el servicio administrado de Azure Monitor Prometheus para Prometheus desde el clúster de AKS y usar Azure Managed Grafana para la visualización de datos. Para más información, consulte Administración de un área de trabajo de Azure Monitor.
Azure Monitor Container Insights proporciona un esquema para los registros de contenedor conocidos como ContainerLogV2, que es la opción recomendada. Este formato incluye los siguientes campos para facilitar consultas comunes para ver datos relacionados con clústeres de Kubernetes habilitados para AKS y Azure Arc:
- ContainerName
- PodName
- PodNamespace
Además, este esquema es compatible con el plan de datos de registros básicos, que ofrece una alternativa de bajo costo a los registros de análisis estándar. El plan de datos de registro Básico le permite ahorrar en la ingesta y el almacenamiento de registros detallados de gran volumen en el área de trabajo de Log Analytics para depurar, solucionar problemas y auditar. No afecta a los costos del análisis y las alertas. Para obtener más información, consulte Administración de tablas en un área de trabajo de Log Analytics.
ContainerLogV2 es el enfoque recomendado y es el esquema predeterminado para los clientes que incorporan información de contenedor con la autenticación de identidad administrada mediante ARM, Bicep, Terraform, Policy y Azure Portal. Para obtener más información sobre cómo habilitar ContainerLogV2 a través de la regla de recopilación de datos (DCR) del clúster o ConfigMap, consulte Habilitar el esquema ContainerLogV2.
El registro de actividad contiene eventos de nivel de suscripción que realizan el seguimiento de las operaciones de cada recurso de Azure, tal como se ve desde fuera de ese recurso; por ejemplo, crear un recurso o iniciar una máquina virtual.
Recopilación: los eventos del registro de actividad se generan y recopilan automáticamente en un almacén independiente para su visualización en Azure Portal.
Enrutamiento: puedes enviar datos del registro de actividad a los registros de Azure Monitor para poder analizarlos junto con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información sobre cómo enrutar el registro de actividad, consulte Información general del registro de actividad de Azure.
Visualización de registros de contenedor, eventos y métricas de pod de Azure Kubernetes Service (AKS) en tiempo real
En este artículo, aprenderá a usar la característica de datos en directo en Container Insights para ver los registros de contenedor, los eventos y las métricas de pod de Azure Kubernetes Service (AKS) en tiempo real. Esta característica proporciona acceso directo a eventos kubectl logs -c
, kubectl get
y kubectl top pods
para ayudarle a solucionar problemas en tiempo real.
Nota
AKS usa arquitecturas de registro de nivel de clúster de Kubernetes. Los registros de contenedor se encuentran dentro de /var/log/containers
en el nodo. Para acceder a un nodo, consulte Conexión a nodos de clúster de Azure Kubernetes Service (AKS).
Para obtener ayuda para configurar la característica de datos en directo, consulte Configuración de datos en directo en Container Insights. Esta característica accede directamente a la API de Kubernetes. Para obtener más información sobre el modelo de autenticación, vea API de Kubernetes.
Nota
Para acceder a los registros desde un clúster privado, debe estar en una máquina de la misma red privada que el clúster.
En Azure Portal, vaya al clúster de AKS.
En Recursos de Kubernetes, seleccione Cargas de trabajo.
Seleccione la Implementación, el Pod, el Conjunto de réplicas, el StatefulSet, el Trabajo o el Trabajo Cron para el que desee ver los registros y, a continuación, seleccione Registros en vivo.
Seleccione el recurso para el que desea ver los registros.
En el ejemplo siguiente se muestran los registros de un recurso Pod:
Puede ver los datos de registro en tiempo real a medida que los genera el motor de contenedores en el Clúster, los Nodos, los Controladores o los Contenedores.
En Azure Portal, vaya al clúster de AKS.
En Supervisión, seleccione Conclusiones.
Seleccione la pestaña Clúster, Nodos, Controladores o Contenedores y, a continuación, seleccione el objeto para el que desea ver los registros.
En la información general del recurso, seleccione Registros en directo.
Nota
Para ver los datos del área de trabajo de Log Analytics, seleccione Ver registros en Log Analytics. Vea Procedimiento para consultar registros desde Container Insights para obtener más información sobre cómo ver registros históricos, eventos y métricas.
Después de la autenticación correcta, si los datos se pueden recuperar, comienza a transmitirse a la pestaña Registros en vivo. Puede ver los datos de registro aquí en un flujo continuo. En la imagen siguiente se muestran los registros de un recurso Contenedor:
Puede ver los datos de eventos en tiempo real a medida que los genera el motor de contenedores en el Clúster, los Nodos, los Controladores o los Contenedores.
En Azure Portal, vaya al clúster de AKS.
En Supervisión, seleccione Conclusiones.
Seleccione la pestaña Clúster, Nodos, Controladores o Contenedores y, a continuación, seleccione el objeto para el que desea ver los eventos.
En la página Información general del recurso, seleccione Eventos en directo.
Nota
Para ver los datos del área de trabajo de Log Analytics, seleccione Ver eventos en Log Analytics. Vea Procedimiento para consultar registros desde Container Insights para obtener más información sobre cómo ver registros históricos, eventos y métricas.
Después de la autenticación correcta, si los datos se pueden recuperar, comienza a transmitirse a la pestaña Eventos en directo. En la imagen siguiente se muestran los eventos de un recurso Contenedor:
Puede ver los datos de la métrica en tiempo real a medida que los genera el motor de contenedores en la vista Nodos o Controladores seleccionando un recurso de Pod.
En Azure Portal, vaya al clúster de AKS.
En Supervisión, seleccione Conclusiones.
Seleccione la pestaña Nodos o Controladores y, a continuación, seleccione el objeto Pod para el que desea ver las métricas.
En la página Información general del recurso, seleccione Métricas en directo.
Nota
Para ver los datos del área de trabajo de Log Analytics, seleccione Ver eventos en Log Analytics. Vea Procedimiento para consultar registros desde Container Insights para obtener más información sobre cómo ver registros históricos, eventos y métricas.
Después de la autenticación correcta, si los datos se pueden recuperar, comienza a transmitirse a la pestaña Métricas en directo. En la imagen siguiente se muestran las métricas de un recurso Pod:
Hay muchas herramientas para analizar los datos de supervisión.
Azure Monitor admite las siguientes herramientas básicas:
Explorador de métricas: una herramienta de Azure Portal que le permite ver y analizar métricas de recursos de Azure. Para obtener más información, consulte Análisis de métricas con el explorador de métricas de Azure Monitor.
Log Analytics, una herramienta de Azure Portal que le permite consultar y analizar datos de registro mediante el lenguaje de consulta Kusto (KQL). Para más información, consulte Introducción a las consultas de registro en Azure Monitor.
El registro de actividad: que tiene una interfaz de usuario en Azure Portal para visualización y búsquedas básicas. Para realizar un análisis más detallado, debe enrutar los datos a los registros de Azure Monitor y ejecutar consultas más complejas en Log Analytics.
Entre las herramientas que permiten una visualización más compleja se incluyen:
- Paneles que permiten combinar diferentes tipos de datos en un único panel de Azure Portal.
- Libros: informes personalizables que se pueden crear en Azure Portal. Los libros pueden incluir texto, métricas y consultas de registro.
- Grafana: una herramienta de plataforma abierta que se destaca en los paneles operativos. Puede usar Grafana para crear paneles que incluyan datos de varios orígenes distintos de Azure Monitor.
- Power BI: un servicio de análisis empresarial que proporciona visualizaciones interactivas en varios orígenes de datos. Puede configurar Power BI para que los datos de registro se importen automáticamente desde Azure Monitor y utilizar estas otras adicionales.
Puede obtener datos de Azure Monitor en otras herramientas mediante los siguientes métodos:
Métricas: con la API de REST para métricas puede extraer datos de métricas de la base de datos de métricas de Azure Monitor. La API admite expresiones de filtro para refinar los datos recuperados. Para obtener más información, consulte Referencia de la API de REST de Azure Monitor.
Registros: use la API de REST o las bibliotecas de cliente asociadas.
Otra opción es la exportación de datos del área de trabajo.
Para empezar a trabajar con la API de REST para Azure Monitor, consulte Tutorial de la API de REST de supervisión de Azure.
La pestaña Supervisión de la páginaInformación general del recurso de clúster de AKS ofrece una manera rápida de empezar a ver los datos de supervisión en Azure Portal. Esta pestaña incluye gráficos con métricas comunes para el clúster que están separados por el grupo de nodos. Puede seleccionar cualquiera de estos gráficos para analizar con más detalle los datos en el Explorador de métricas.
La pestaña Supervisión también incluye vínculos a Managed Prometheus y Container Insights para el clúster. Si necesita habilitar estas herramientas, puede habilitarlas aquí. También puede ver un banner en la parte superior de la pantalla que recomienda habilitar otras características para mejorar la supervisión del clúster.
Sugerencia
Para acceder a las características de supervisión de todos los clústeres de AKS de la suscripción, seleccione Azure Monitor en la página principal de Azure Portal.
Puedes analizar datos de supervisión en el almacén de registros de Azure Monitor o Log Analytics mediante el lenguaje de consulta Kusto (KQL).
Importante
Al seleccionar Registros en el menú del servicio del portal, Log Analytics se abre con el ámbito de consulta establecido en el servicio actual. Este ámbito significa que las consultas de registro solo incluirán datos de ese tipo de recurso. Si quiere ejecutar una consulta que incluya datos de otros servicios de Azure, seleccione Registros en el menú Azure Monitor. Consulte Ámbito e intervalo de tiempo de una consulta de registro en Log Analytics de Azure Monitor para obtener más información.
Para obtener una lista de las consultas comunes de cualquier servicio, consulte Interfaz de consultas de Log Analytics.
Las alertas de Azure Monitor le informan de forma proactiva cuando se detectan condiciones específicas en los datos que se supervisan. Las alertas permiten identificar y solucionar las incidencias en el sistema antes de que los clientes puedan verlos. Para obtener más información, vea Alertas de Azure Monitor.
Hay muchos orígenes de alertas comunes para los recursos de Azure. Para obtener ejemplos de alertas comunes para recursos de Azure, consulte Consultas de alertas de registro de ejemplo. El sitio de Alertas de línea de base de Azure Monitor (AMBA) proporciona un método semiautomatizado para implementar alertas, paneles e instrucciones importantes de métricas de plataforma. El sitio se aplica a un subconjunto de servicios de Azure que se expande continuamente, incluidos todos los servicios que forman parte de la zona de aterrizaje de Azure (ALZ).
El esquema de alerta común normaliza el consumo de notificaciones de alerta de Azure Monitor. Para obtener más información, consulte Esquema de alertas comunes.
Puede alertar sobre cualquier métrica o fuente de datos de registro en la plataforma de datos de Azure Monitor. Hay muchos tipos diferentes de alertas en función de los servicios que está supervisando y de los datos de supervisión que está recopilando. Los distintos tipos de alertas tienen varias ventajas y desventajas. Para obtener más información, consulte Elegir el tipo de alerta de supervisión adecuado.
En la siguiente lista se describen los tipos de alertas de Azure Monitor que puede crear:
- Alertas de métricas: evalúan las métricas de recursos a intervalos regulares. Las métricas pueden ser métricas de plataforma, métricas personalizadas, registros de Azure Monitor convertidos en métricas o métricas de Application Insights. Las alertas de métricas también pueden aplicar varias condiciones y umbrales dinámicos.
- Alertas de registro: permiten a los usuarios emplear una consulta de Log Analytics para evaluar los registros de recursos con una frecuencia predefinida.
- Alertas del registro de actividad: se desencadenan cuando se produce un nuevo evento del registro de actividad que coincide con las condiciones definidas. Las alertas de Resource Health y de Service Health son alertas del registro de actividad que informan sobre el servicio y el estado de los recursos.
Algunos servicios de Azure también admiten alertas de detección inteligente, alertas de Prometheus, o reglas de alerta recomendadas.
Para algunos servicios, puede supervisar a escala aplicando la misma regla de alertas de métricas a varios recursos del mismo tipo que existen en la misma región de Azure. Se envían notificaciones individuales para cada recurso supervisado. Para obtener servicios y nubes de Azure compatibles, consulte Supervisión de varios recursos con una regla de alerta.
Para algunos servicios de Azure, puede habilitar reglas de alerta recomendadas integradas.
El sistema compila una lista de reglas de alerta recomendadas en función de:
- El conocimiento del proveedor de recursos de señales y umbrales importantes para supervisar el recurso.
- Datos que indican a los clientes que suelen alertar para este recurso.
Nota
Las reglas de alerta recomendadas están disponibles para:
- Máquinas virtuales
- Recursos de Azure Kubernetes Service (AKS)
- Áreas de trabajo de Log Analytics
Al habilitar la recopilación de métricas de Prometheus para el clúster, puede descargar una colección de reglas de alertas de Prometheus recomendadas. Esta descarga incluye las siguientes reglas:
Nivel | Alertas |
---|---|
Nivel de clúster | KubeCPUQuotaOvercommit KubeMemoryQuotaOvercommit KubeContainerOOMKilledCount KubeClientErrors KubePersistentVolumeFillingUp KubePersistentVolumeInodesFillingUp KubePersistentVolumeErrors KubeContainerWaiting KubeDaemonSetNotScheduled KubeDaemonSetMisScheduled KubeQuotaAlmostFull |
Nivel del nodo | KubeNodeUnreachable KubeNodeReadinessFlapping |
Nivel del pod | KubePVUsageHigh KubeDeploymentReplicasMismatch KubeStatefulSetReplicasMismatch KubeHpaReplicasMismatch KubeHpaMaxedOut KubePodCrashLooping KubeJobStale KubePodContainerRestart KubePodReadyStateLow KubePodFailedState KubePodNotReadyByController KubeStatefulSetGenerationMismatch KubeJobFailed KubeContainerAverageCPUHigh KubeContainerAverageMemoryHigh KubeletPodStartUpLatencyHigh |
Consulte Creación de alertas de registro desde container Insights y Consulta de registros desde Container Insights. Las alertas de registro pueden medir dos cosas diferentes, que se pueden usar para supervisar en escenarios diferentes:
- Recuento de resultados: cuenta el número de filas devueltas por la consulta y se puede usar para trabajar con eventos como registros de eventos de Windows, Syslog y excepciones de aplicación.
- Cálculo de un valor: realiza un cálculo a partir de una columna numérica y se puede usar para incluir cualquier número de recursos. Un ejemplo es el porcentaje de CPU.
En función del escenario de alerta necesario, las consultas de registro deben crearse comparando DateTime con la hora actual mediante el now
operador y retrocediendo una hora. Para obtener información sobre cómo crear alertas basadas en registros, consulte Creación de alertas de registro desde Container Insights.
En la tabla siguiente se enumeran algunas reglas de alerta sugeridas para AKS. Estas alertas son solo ejemplos. Puede configurar alertas para cualquier métrica, entrada de registro o entrada de registro de actividad que figure en la Referencia de datos de supervisión de Azure Kubernetes Service.
Condición | Descripción |
---|---|
Porcentaje de uso de CPU > 95 | Se desencadena cuando el uso medio de CPU en todos los nodos supera el umbral. |
Porcentaje de memoria de conjunto de trabajo > 100 | Se desencadena cuando el conjunto de trabajo medio en todos los nodos supera el umbral. |
Para algunos servicios, si se producen condiciones críticas o cambios inminentes durante las operaciones de recursos, se muestra una alerta en la página Información general del servicio del portal. Puede encontrar más información y correcciones recomendadas para la alerta en Recomendaciones de Advisor en Supervisión en el menú izquierdo. Durante las operaciones normales, no se muestran recomendaciones de Advisor.
Para más información sobre Azure Advisor, consulte Introducción a Azure Advisor.
Nota
Si va a crear o ejecutar una aplicación que se ejecuta en el servicio, Application Insights de Azure Monitor podría ofrecer más tipos de alertas.
La observabilidad de red es una parte importante del mantenimiento de un clúster de Kubernetes correcto y eficaz. Al recopilar y analizar datos sobre el tráfico de red, puede obtener información sobre cómo funciona el clúster e identificar posibles problemas antes de que causen interrupciones o degradación del rendimiento.
Cuando el complemento observabilidad de red está habilitado, recopila y convierte métricas útiles en formato Prometheus, que se puede visualizar en Grafana. Cuando se habilita, las métricas recopiladas se ingieren automáticamente en el servicio administrado de Azure Monitor para Prometheus. Un panel de Grafana está disponible en el repositorio de paneles públicos de Grafana para visualizar las métricas de observabilidad de red recopiladas por Prometheus. Para obtener más información, consulte Configuración de observabilidad de red para obtener instrucciones detalladas.
- Consulte Referencia de datos de supervisión de Azure Kubernetes Service para obtener una referencia de las métricas, los registros y otros valores importantes creados para AKS.
- Consulte Supervisión de recursos de Azure con Azure Monitor para obtener información general sobre la supervisión de recursos de Azure.
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: