

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Registro y monitoreo en Amazon EKS
<a name="amazon-eks-logging-monitoring"></a>

Amazon Elastic Kubernetes Service (Amazon EKS) se CloudWatch integra con Logs para el plano de control de Kubernetes. Amazon EKS proporciona el plano de control como un servicio gestionado y puede [activar el registro sin necesidad de instalar un CloudWatch agente](https://docs.aws.amazon.com//eks/latest/userguide/control-plane-logs.html). El CloudWatch agente también se puede implementar para capturar los registros de nodos y contenedores de Amazon EKS. [Fluent Bit y Fluentd](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Container-Insights-EKS-logs.html) también son compatibles para enviar los registros de los contenedores a CloudWatch Logs. 

CloudWatch Container Insights proporciona una solución integral de monitoreo de métricas para Amazon EKS a nivel de clúster, nodo, pod, tarea y servicio. Amazon EKS también admite varias opciones de captura de métricas con [Prometheus.](https://prometheus.io/) El plano de control de Amazon EKS [proporciona un punto final de métricas](https://docs.aws.amazon.com//eks/latest/userguide/prometheus.html) que expone las métricas en formato Prometheus. Puede implementar Prometheus en su clúster de Amazon EKS para consumir estas métricas. 

También puedes [configurar el CloudWatch agente para recopilar y CloudWatch crear métricas de Prometheus](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup-configure.html), además de consumir otros puntos de conexión de Prometheus. La [supervisión de Container Insights para Prometheus](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus.html) también puede descubrir y capturar automáticamente las métricas de Prometheus de las cargas de trabajo y los sistemas en contenedores compatibles. 

Puede instalar y configurar el CloudWatch agente en los nodos de Amazon EKS, de forma similar al enfoque utilizado para Amazon EC2 con Distributor y State Manager, para alinear los nodos de Amazon EKS con las configuraciones estándar de registro y supervisión del sistema.

# Registro para Amazon EKS
<a name="kubernetes-eks-logging"></a>

El registro de Kubernetes se puede dividir en registro del plano de control, registro de nodos y registro de aplicaciones. El [plano de control de Kubernetes](https://kubernetes.io/docs/concepts/overview/components/#control-plane-components) es un conjunto de componentes que administran los clústeres de Kubernetes y producen registros que se utilizan con fines de auditoría y diagnóstico. Con Amazon EKS, puede [activar los registros de distintos componentes del plano de control](https://docs.aws.amazon.com//eks/latest/userguide/control-plane-logs.html) y enviarlos a CloudWatch. 

Kubernetes también ejecuta componentes del sistema, como `kubelet` y `kube-proxy` en cada nodo de Kubernetes en el que se ejecutan los pods. Estos componentes escriben registros en cada nodo y usted puede configurar CloudWatch y Container Insights para capturar estos registros para cada nodo de Amazon EKS. 

Los contenedores se agrupan como [pods](https://kubernetes.io/docs/concepts/workloads/pods/) dentro de un clúster de Kubernetes y están programados para ejecutarse en los nodos de Kubernetes. La mayoría de las aplicaciones contenerizadas escriben en base a la salida estándar y al error estándar, y el motor de contenedores redirige la salida a un controlador de registro. En Kubernetes, los registros del contenedor se encuentran en el directorio de un nodo. `/var/log/pods` Puede configurar CloudWatch y Container Insights para capturar estos registros para cada uno de sus pods de Amazon EKS. 

## Registro de plano de control de Amazon EKS
<a name="eks-control-plane-logging"></a>

Un clúster de Amazon EKS consta de un plano de control de un solo inquilino y de alta disponibilidad para el clúster de Kubernetes y los nodos de Amazon EKS que ejecutan los contenedores. Los nodos del plano de control se ejecutan en una cuenta administrada por. AWS Los nodos del plano de control del clúster de Amazon EKS están integrados CloudWatch y puede activar el registro para componentes específicos del plano de control.

Se proporcionan registros para cada instancia de componente del plano de control de Kubernetes. AWS gestiona el estado de los nodos del plano de control y proporciona un [acuerdo de nivel de servicio (SLA](https://aws.amazon.com//eks/sla/)) para el punto final de Kubernetes.

## Registro de nodos y aplicaciones de Amazon EKS
<a name="eks-node-application-logging"></a>

Le recomendamos que utilice [CloudWatchContainer Insights](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs.html) para capturar registros y métricas para Amazon EKS. Container Insights implementa métricas a nivel de clúster, nodo y pod con el CloudWatch agente y con Fluent Bit o Fluentd para la captura de registros. CloudWatch Container Insights también proporciona paneles automáticos con vistas en capas de las métricas capturadas. CloudWatch Container Insights se implementa como CloudWatch DaemonSet un Fluent Bit DaemonSet que se ejecuta en todos los nodos de Amazon EKS. Container Insights no admite los nodos Fargate porque los administra AWS y no son compatibles. DaemonSets El registro de Fargate para Amazon EKS se describe por separado en esta guía. 

 La siguiente tabla muestra los CloudWatch grupos de registros y los registros capturados por la [configuración de captura de registros predeterminada de Fluentd o Fluent Bit](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs-FluentBit.html) para Amazon EKS.


|  |  | 
| --- |--- |
| /aws/containerinsights/Cluster\$1Name/application | Todos los archivos de registro están incluidos. /var/log/containers Este directorio proporciona enlaces simbólicos a todos los registros de contenedores de Kubernetes de la /var/log/pods estructura de directorios. Esto captura los registros del contenedor de aplicaciones que se escriben en o. stdout stderr También incluye registros de los contenedores del sistema Kubernetesaws-vpc-cni-init, como, ykube-proxy. coreDNS  | 
| /aws/containerinsights/Cluster\$1Name/host | Registros de/var/log/dmesg, y/var/log/secure. /var/log/messages | 
| /aws/containerinsights/Cluster\$1Name/dataplane | Los registros en /var/log/journal para kubelet.service, kubeproxy.service y docker.service. | 

Si no quiere usar Container Insights con FluentBit o Fluentd para el registro, puede capturar los registros de nodos y contenedores con el CloudWatch agente instalado en los nodos de Amazon EKS. Los nodos de Amazon EKS son instancias EC2, lo que significa que debe incluirlos en su enfoque de registro estándar a nivel de sistema para Amazon EC2. Si instala el CloudWatch agente mediante Distributor y State Manager, los nodos de Amazon EKS también se incluyen en la instalación, configuración y actualización del CloudWatch agente. 

La siguiente tabla muestra los registros que son específicos de Kubernetes y que debe capturar si no utiliza Container Insights con Fluent Bit o Fluentd para el registro.


|  |  | 
| --- |--- |
| /var/log/containers | Este directorio proporciona enlaces simbólicos a todos los registros de contenedores de Kubernetes incluidos en la estructura de directorios. /var/log/pods Esto captura de manera efectiva los registros del contenedor de aplicaciones que se escriben en o. stdout stderr Esto incluye los registros de los contenedores del sistema Kubernetesaws-vpc-cni-init, como, ykube-proxy. coreDNS Importante: Esto no es obligatorio si utiliza Container Insights. | 
| var/log/aws-routed-eni/ipamd.log/var/log/aws-routed-eni/plugin.log | Los registros del daemon L-IPAM se encuentran aquí | 

Debe asegurarse de que los nodos de Amazon EKS instalen y configuren el CloudWatch agente para enviar los registros y las métricas correspondientes a nivel del sistema. Sin embargo, la AMI optimizada para Amazon EKS no incluye el agente Systems Manager. Al usar [plantillas de lanzamiento](https://docs.aws.amazon.com//eks/latest/userguide/launch-templates.html), puede automatizar la instalación del agente de Systems Manager y una CloudWatch configuración predeterminada que captura registros importantes específicos de Amazon EKS con un script de inicio implementado a través de la sección de datos de usuario. Los nodos de Amazon EKS se implementan mediante un grupo de Auto Scaling como [grupo de nodos gestionado](https://docs.aws.amazon.com//eks/latest/userguide/managed-node-groups.html) o como [nodos autogestionados](https://docs.aws.amazon.com//eks/latest/userguide/worker.html).

Con los grupos de nodos gestionados, se proporciona una [plantilla de lanzamiento](https://docs.aws.amazon.com//eks/latest/userguide/launch-templates.html) que incluye la sección de datos de usuario para automatizar la instalación y CloudWatch configuración del agente de Systems Manager. Puede personalizar y utilizar la plantilla [amazon\$1eks\$1managed\$1node\$1group\$1launch\$1config.yaml](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/eks/amazon_eks_managed_node_group_launch_config.yaml) para crear una CloudFormation plantilla de lanzamiento que instale el agente y el agente de Systems Manager y que también añada una configuración de registro específica de Amazon EKS al directorio de configuración. CloudWatch CloudWatch Esta plantilla se puede utilizar para actualizar la plantilla de lanzamiento de grupos de nodos gestionados por Amazon EKS con un enfoque infrastructure-as-code (IaC). Cada actualización de la CloudFormation plantilla incluye una nueva versión de la plantilla de lanzamiento. A continuación, puede actualizar el grupo de nodos para usar la nueva versión de la plantilla y hacer que el [proceso de ciclo de vida gestionado](https://docs.aws.amazon.com//eks/latest/userguide/managed-node-update-behavior.html) actualice sus nodos sin tiempo de inactividad. Asegúrese de que la función de IAM y el perfil de instancias aplicados a su grupo de nodos gestionado incluyan las políticas `AmazonSSMManagedInstanceCore` AWS gestionadas `CloudWatchAgentServerPolicy` y las políticas gestionadas. 

Con los nodos autogestionados, puede aprovisionar y gestionar directamente el ciclo de vida y la estrategia de actualización de sus nodos de Amazon EKS. [Los nodos autogestionados le permiten ejecutar nodos de Windows en el clúster de Amazon EKS y en [Bottlerocket, entre](https://aws.amazon.com//bottlerocket/) otras opciones.](https://docs.aws.amazon.com//eks/latest/userguide/eks-compute.html) Puede utilizarlos CloudFormation para implementar nodos autogestionados en sus clústeres de Amazon EKS, lo que significa que puede utilizar un enfoque de IaC y de cambio gestionado para sus clústeres de Amazon EKS. AWS proporciona la CloudFormation plantilla [amazon-eks-nodegroup.yaml](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/eks/amazon-eks-nodegroup.yaml) que puede usar tal cual o personalizar. La plantilla proporciona todos los recursos necesarios para los nodos de Amazon EKS de un clúster (por ejemplo, una función de IAM independiente, un grupo de seguridad, un grupo de Amazon EC2 Auto Scaling y una plantilla de lanzamiento). La CloudFormation plantilla [amazon-eks-nodegroup.yaml](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/eks/amazon-eks-nodegroup.yaml) es una versión actualizada que instala el agente y el agente de Systems Manager necesarios y, CloudWatch además, añade una configuración de registro específica de Amazon EKS al CloudWatch directorio de configuración.

## Cómo iniciar sesión en Amazon EKS en Fargate
<a name="eks-fargate-logging"></a>

Con Amazon EKS en Fargate, puede implementar pods sin asignar ni administrar los nodos de Kubernetes. Esto elimina la necesidad de capturar registros a nivel de sistema para sus nodos de Kubernetes. Para capturar los registros de sus cápsulas Fargate, puede usar Fluent Bit para reenviar los registros directamente a. CloudWatch Esto te permite enrutar automáticamente los registros a un contenedor lateral para tus cápsulas Amazon EKS en Fargate CloudWatch sin necesidad de configuración adicional. Para obtener más información al respecto, consulte el [registro de Fargate](https://docs.aws.amazon.com//eks/latest/userguide/fargate-logging.html) en la documentación de Amazon EKS y [Fluent Bit para Amazon EKS](https://aws.amazon.com//blogs/containers/fluent-bit-for-amazon-eks-on-aws-fargate-is-here/) en el AWS blog. Esta solución captura las transmisiones `STDOUT` y `STDERR` input/output (E/S) de su contenedor y las envía a CloudWatch través de Fluent Bit, según la configuración de Fluent Bit establecida para el clúster Amazon EKS en Fargate. 

# Métricas de Amazon EKS y Kubernetes
<a name="kubernetes-eks-metrics"></a>

Kubernetes proporciona una API de métricas que le permite acceder a las métricas de uso de recursos (por ejemplo, el uso de la CPU y la memoria de los nodos y los pods), pero la API solo proporciona point-in-time información y no métricas históricas. [El servidor de [métricas de Kubernetes se suele utilizar](https://github.com/kubernetes-sigs/metrics-server) para las implementaciones de Amazon EKS y Kubernetes para agregar métricas, proporcionar información histórica a corto plazo sobre las métricas y admitir funciones como Horizontal Pod Autoscaler.](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) 

Amazon EKS expone las métricas del plano de control a través del servidor API de Kubernetes en [formato Prometheus](https://docs.aws.amazon.com//eks/latest/userguide/prometheus.html) y puede capturar e ingerir estas métricas. CloudWatch CloudWatch y Container Insights también se pueden configurar para proporcionar una captura integral de métricas, análisis y alarmas para sus nodos y pods de Amazon EKS. 

## Métricas del plano de control de Kubernetes
<a name="kubernetes-control-plane-metrics"></a>

Kubernetes expone las métricas del plano de control en formato Prometheus mediante el punto final de la API HTTP. `/metrics` Deberías instalar [Prometheus](https://prometheus.io/) en tu clúster de Kubernetes para graficar y ver estas métricas con un navegador web. También puedes incorporar las [métricas expuestas por el servidor API de Kubernetes](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup-configure.html#ContainerInsights-Prometheus-Setup-new-exporters). CloudWatch

## Métricas de nodos y sistemas para Kubernetes
<a name="kubernetes-node-system-metrics"></a>

Kubernetes proporciona el pod del [servidor de métricas Prometheus que puede implementar y ejecutar en sus clústeres](https://github.com/kubernetes-sigs/metrics-server) [de Kubernetes para obtener estadísticas de CPU y memoria](https://docs.aws.amazon.com//eks/latest/userguide/metrics-server.html) a nivel de clúster, nodo y pod. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) CloudWatch también puede proporcionar estas métricas. 

Deberías instalar el servidor de métricas de Kubernetes si utilizas el [panel de control de Kubernetes o los escaladores automáticos](https://github.com/kubernetes/dashboard) de los módulos horizontal y vertical. El panel de control de Kubernetes te ayuda a buscar y configurar el clúster, los nodos, los pods y la configuración relacionada de Kubernetes, así como a ver las métricas de CPU y memoria del Kubernetes Metrics Server.

Las métricas proporcionadas por el servidor de métricas de Kubernetes no se pueden usar para fines que no sean de escalado automático (por ejemplo, monitoreo). Las métricas están pensadas para el point-in-time análisis y no para el análisis histórico. El panel de control de Kubernetes lo implementa `dashboard-metrics-scraper` para almacenar las métricas del servidor de métricas de Kubernetes durante un breve período de tiempo. 

Container Insights utiliza una versión contenerizada del CloudWatch agente que se ejecuta en un Kubernetes DaemonSet para detectar todos los contenedores en ejecución de un clúster y proporcionar métricas a nivel de nodo. Recopila datos de rendimiento en cada capa del conjunto de rendimiento. Puede utilizar el Quick Start desde AWS Quick Starts o configurar Container Insights por separado. El Quick Start configura el monitoreo de métricas con el CloudWatch agente y el registro con Fluent Bit, por lo que solo necesita implementarlo una vez para el registro y la supervisión. 

Como los nodos de Amazon EKS son instancias EC2, debe capturar las métricas a nivel de sistema, además de las métricas capturadas por Container Insights, utilizando los estándares que definió para Amazon EC2. Puede utilizar el mismo enfoque de la [Configure State Manager y Distributor para el despliegue y la configuración de los CloudWatch agentes](install-cloudwatch-systems-manager.md#set-up-systems-manager-distributor) sección de esta guía para instalar y configurar el CloudWatch agente para sus clústeres de Amazon EKS. Puede actualizar su archivo de CloudWatch configuración específico de Amazon EKS para incluir las métricas y la configuración de registro específica de Amazon EKS. 

[El CloudWatch agente con el soporte de Prometheus puede descubrir y extraer automáticamente las métricas de Prometheus de las cargas de trabajo y los sistemas compatibles y en contenedores.](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus.html) Las ingiere como CloudWatch registros en formato métrico integrado para analizarlos con Logs Insights y crea métricas automáticamente. CloudWatch CloudWatch

**importante**  
Debes [implementar una versión especializada](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup.html#ContainerInsights-Prometheus-Setup-install-agent) del CloudWatch agente para recopilar las métricas de Prometheus. Se trata de un agente independiente del CloudWatch agente desplegado para Container Insights. Puede usar la aplicación Java de ejemplo [prometheus\$1jmx](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/tree/main/examples/eks/prometheus_jmx), que incluye los archivos de implementación y configuración del agente CloudWatch y la implementación del pod de Amazon EKS para demostrar el descubrimiento de métricas de Prometheus. Para obtener más información, consulte [Configurar Java/JMX una carga de trabajo de ejemplo en Amazon EKS y Kubernetes](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Sample-Workloads-javajmx.html) en la documentación. CloudWatch También puede configurar el CloudWatch agente para que capture métricas de otros objetivos de Prometheus que se ejecuten en su clúster de Amazon EKS.

## Métricas de aplicación
<a name="application-metrics-eks"></a>

Puede crear sus propias métricas personalizadas con el [formato de métricas CloudWatch integrado.](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html) Para incorporar declaraciones en formato métrico integrado, debe enviar las entradas en formato métrico integrado a un punto final con formato métrico integrado. El CloudWatch agente se puede configurar como un [contenedor sidecar en su cápsula Amazon EKS](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Generation_CloudWatch_Agent.html). La configuración del CloudWatch agente se almacena en Kubernetes ConfigMap y el contenedor sidecar del CloudWatch agente la lee para iniciar el punto final con formato métrico integrado.

También puede configurar su aplicación como un objetivo de Prometheus y configurar el agente, con CloudWatch la ayuda de Prometheus, para que descubra, extraiga e incorpore sus métricas. CloudWatch Por ejemplo, puede usar el [exportador JMX de código abierto con sus aplicaciones Java para exponer los JMX](https://github.com/prometheus/jmx_exporter) Beans para que el agente los consuma en Prometheus. CloudWatch 

[https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/Welcome.html](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/Welcome.html) Sin embargo, no recomendamos este enfoque porque combina la supervisión y la lógica de la aplicación.

## Métricas de Amazon EKS en Fargate
<a name="metrics-fargate-eks-workloads"></a>

Fargate aprovisiona automáticamente los nodos de Amazon EKS para ejecutar sus pods de Kubernetes, por lo que no necesita monitorear ni recopilar métricas a nivel de nodo. Sin embargo, debe supervisar las métricas de los pods que se ejecutan en sus nodos de Amazon EKS en Fargate. Container Insights no está disponible actualmente para Amazon EKS en Fargate porque requiere las siguientes capacidades que actualmente no son compatibles:
+ DaemonSets no son compatibles actualmente. Container Insights se implementa ejecutando el CloudWatch agente como si fuera DaemonSet en cada nodo del clúster.
+ HostPath no se admiten los volúmenes persistentes. El contenedor del CloudWatch agente usa los volúmenes persistentes de HostPath como requisito previo para recopilar los datos métricos del contenedor. 
+ Fargate evita los contenedores privilegiados y el acceso a la información del host.

Puede usar el [router de registro integrado para que Fargate](https://docs.aws.amazon.com//eks/latest/userguide/fargate-logging.html) envíe declaraciones en formato métrico integradas a. CloudWatch El router de registros usa Fluent Bit, que tiene un CloudWatch complemento que se puede configurar para admitir sentencias de formato métrico integradas.

Puede recuperar y capturar métricas a nivel de pod para sus nodos de Fargate implementando el servidor Prometheus en su clúster de Amazon EKS para recopilar métricas de sus nodos de Fargate. Como Prometheus requiere almacenamiento persistente, puede implementar Prometheus en Fargate si utiliza Amazon Elastic File System (Amazon EFS) para el almacenamiento persistente. También puede implementar Prometheus en un nodo respaldado por Amazon EC2. Para obtener más información, consulte [Monitorización de Amazon EKS sobre el AWS Fargate uso de Prometheus y](https://aws.amazon.com//blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) Grafana en el blog. AWS 