

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.

# Inicio de sesión en Amazon EKS
<a name="logging"></a>

El registro es un aspecto fundamental de la administración y el mantenimiento de las aplicaciones que se ejecutan en Amazon EKS. Las prácticas de registro eficaces en los entornos de Amazon EKS ayudan a los desarrolladores, los equipos de operaciones y los administradores de sistemas a obtener información valiosa sobre el comportamiento, el rendimiento y el estado de sus aplicaciones en contenedores y su infraestructura subyacente.

La implementación de una estrategia de registro sólida en Amazon EKS es esencial por varios motivos:
+ **Solución de problemas**: los registros ayudan a identificar y diagnosticar los problemas rápidamente, lo que reduce el tiempo de inactividad y mejora la confiabilidad general del sistema.
+ **Cumplimiento**: muchos sectores requieren un registro exhaustivo para fines de auditoría y regulación.
+ **Seguridad**: el análisis de los registros puede ayudarle a detectar e investigar posibles amenazas o infracciones de seguridad.
+ **Optimización del rendimiento**: los registros proporcionan información sobre el rendimiento de las aplicaciones y los sistemas, para que pueda identificar los cuellos de botella y optimizar la utilización de los recursos.
+ **Supervisión y alertas: los** datos de registro se pueden utilizar para configurar sistemas de supervisión y activar alertas en caso de eventos o condiciones específicos.

**Topics**
+ [Tipos de registro](log-types.md)
+ [Prácticas recomendadas](logging-best-practices.md)
+ [Consideraciones importantes](logging-considerations.md)

# Tipos de inicio de sesión en Amazon EKS
<a name="log-types"></a>

En Amazon EKS, el registro implica la captura, el almacenamiento y el análisis de varios tipos de datos de registro que generan los distintos componentes del clúster de [Kubernetes](https://kubernetes.io/), entre los que se incluyen:
+ **Registros del sistema**: información sobre las instancias o [nodos subyacentes de Amazon Elastic Compute Cloud (Amazon EC2](https://aws.amazon.com/pm/ec2/)) [AWS Fargate](https://aws.amazon.com/fargate/)
+ **Registros de componentes de Kubernetes: datos de los componentes** [https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/](https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/)
+ **Registros del tiempo de ejecución del contenedor**[: información del tiempo de ejecución del contenedor, como [Docker o containerd](https://www.docker.com/blog/containerd-vs-docker/)](https://containerd.io/)
+ **Registros de aplicaciones**: resultados de aplicaciones en contenedores

Para gestionar los registros en su entorno de Amazon EKS de forma eficaz, suele emplear una combinación de Servicios de AWS herramientas de terceros y prácticas recomendadas. Esto podría incluir el uso de [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/), [Fluent Bit](https://fluentbit.io/), [Elasticsearch](https://www.elastic.co/elasticsearch), [Kibana](https://www.elastic.co/kibana) y otras herramientas de registro y análisis para recopilar, almacenar y visualizar datos de registro.

En las siguientes secciones se analizan varios aspectos del registro en Amazon EKS, incluidas las prácticas recomendadas, las herramientas y las técnicas para implementar una estrategia de registro integral en sus clústeres de Kubernetes. AWS

## Registros del sistema
<a name="system-logs"></a>

El registro de instancias EC2 subyacentes o nodos de Fargate en Amazon EKS implica diferentes enfoques según el tipo de nodo.

Para implementar el registro de instancias EC2 en Amazon EKS, puede usar las siguientes herramientas:
+ [CloudWatch agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html): instale y configure el CloudWatch agente en sus instancias EC2. Configúrelo para recopilar registros del sistema, como `/var/log/messages` y`/var/log/secure`. Puede utilizar scripts de datos de usuario o herramientas de administración de la configuración para automatizar este proceso.
+ [Fluent Bit](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs-FluentBit.html): Implemente Fluent Bit DaemonSet para recopilar registros de todos los nodos. Configúrelo para reenviar los [CloudWatch registros a Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) u otros sistemas de registro centralizados.
+ [Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html): habilite Container Insights en su clúster de EKS para recopilar automáticamente métricas y registros de las instancias de EC2.
+ Secuencias de comandos personalizadas: desarrolle secuencias de comandos personalizadas para recopilar registros específicos y enviarlos al destino de registro que prefiera.
+ [Agente SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html): utilice el AWS Systems Manager agente (agente SSM) para recopilar y reenviar los registros a CloudWatch Logs.

Para implementar el registro para los nodos de Fargate en Amazon EKS, utilice estas herramientas:
+ [Registro de Fargate](https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html): Fargate recopila `stdout` y `stderr` registra automáticamente en sus contenedores. Configure su perfil de Fargate para enviar estos registros a CloudWatch Logs.
+ [Fluent Bit para Fargate](https://github.com/aws/aws-for-fluent-bit): AWS proporciona una imagen de Fluent Bit específica para el registro de Fargate. Colócalo como un contenedor con sidecar en tus cápsulas Fargate para recolectar y reenviar troncos.
+ [Container Insights para Fargate](https://aws-otel.github.io/docs/getting-started/container-insights/eks-fargate): habilite Container Insights para recopilar métricas y registros de los nodos de Fargate.

## Registros de componentes de Kubernetes
<a name="kubernetes-logs"></a>

La recopilación de registros de los componentes de Kubernetes, como el servidor de API, el programador y el administrador de controladores de Amazon EKS, requiere un enfoque ligeramente diferente al del registro de aplicaciones. Estos componentes se ejecutan como parte del plano de control de Amazon EKS, que administra AWS. A continuación, le indicamos cómo puede recopilar estos registros y acceder a ellos:
+ **Habilite el registro del plano de control:** puede habilitar el registro del plano de control para su clúster de EKS mediante las herramientas Consola de administración de AWS, [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) o de infraestructura como código (IaC), como [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)Terraform. Cuando habilitas el registro en el plano de control, los registros se envían a Amazon CloudWatch Logs. Puede verlos en la CloudWatch consola, en el grupo de `/aws/eks/<cluster-name>/cluster` registros. Dentro de este grupo de registros, cada componente del plano de control tiene su propio flujo de registro, de la siguiente manera:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/amazon-eks-observability-best-practices/log-types.html)

  Para ver los registros de un componente específico, navegue hasta el grupo de registros del clúster y filtre por el nombre del flujo de registro de destino.
+ **Use CloudWatch Logs Insights**: puede usar [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) para realizar consultas complejas en sus registros.
+ **Exportación de registros a Amazon S3**: para almacenarlos a largo plazo o analizarlos más a fondo, puede exportar los registros a Amazon Simple Storage Service [(](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)Amazon S3[)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html).
+ **Utilice herramientas de terceros**: puede utilizar herramientas como Fluent Bit para recopilar estos registros y reenviarlos a otros sistemas de registro, como Elasticsearch o Splunk.
+ **Uso AWS CloudTrail**: El [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)servicio puede proporcionar información adicional sobre las llamadas a la API realizadas a su clúster de EKS.

## Registros de ejecución del contenedor
<a name="runtime-logs"></a>

El registro de los registros del tiempo de ejecución del contenedor en Amazon EKS implica capturar y administrar los registros del tiempo de ejecución del contenedor, que suele ser el `containerd` caso de Amazon EKS. A continuación, le explicamos cómo puede abordar el registro de los registros de tiempo de ejecución de los contenedores en Amazon EKS:
+ Acceda directamente a los registros de los nodos de Amazon EC2. En el caso de los nodos EC2 autogestionados, puede acceder directamente a los registros de tiempo de ejecución del contenedor en el host desde las siguientes ubicaciones:
  + `containerd`registros: `/var/log/containers/`
  + Registros de Docker (si está utilizando el tiempo de ejecución de Docker): `/var/log/docker.log`
+ Usa un DaemonSet para la recopilación de registros.
+ Implemente un agente de recopilación de registros (como Fluent Bit) DaemonSet para recopilar registros de todos los nodos.
+ Configure el CloudWatch agente para recopilar los registros de tiempo de ejecución del contenedor.
+ Habilite Container Insights para recopilar métricas y registros del tiempo de ejecución de los contenedores.
+ Usa Fargate. En el caso de los nodos de Fargate, los registros de tiempo de ejecución de los contenedores se recopilan automáticamente y se puede acceder a ellos a través CloudWatch de los registros.
+ Implemente soluciones de registro personalizadas mediante herramientas como Fluent Bit o Logstash. Configure [CloudWatchalarmas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) o utilice herramientas como Prometheus para monitorear patrones o problemas específicos en los registros de tiempo de ejecución de los contenedores. Considere la posibilidad de utilizar soluciones de registro de terceros que se integren bien con Kubernetes y Amazon EKS, como Datadog, Splunk o Elastic Stack (ELK Stack). Utilice herramientas de agregación de registros para recopilar registros de varias fuentes y reenviarlos a un sistema de registro centralizado.

## Registros de aplicaciones
<a name="app-logs"></a>

Los registros de aplicaciones en Amazon EKS son una parte fundamental del mantenimiento y la solución de problemas de las aplicaciones. Para implementar el registro de aplicaciones en Amazon EKS, puede elegir entre estas opciones:
+ Escribir los registros en`stdout`/`stderr`: La forma más sencilla y nativa de Kubernetes de gestionar los registros de las aplicaciones consiste en escribirlos en y. `stdout` `stderr` Kubernetes captura automáticamente estas transmisiones.
+ Implemente la agregación de registros: utilice un agregador de registros como Fluent Bit para recopilar los registros de todos sus pods.
+ Configure el enrutamiento de registros: configure su agregador de registros para enrutar los registros al destino que desee (como CloudWatch Logs o Elasticsearch).
+ Utilice CloudWatch Container Insights: habilite Container Insights para un registro y una supervisión completos.

# Prácticas recomendadas para iniciar sesión en Amazon EKS
<a name="logging-best-practices"></a>

Las siguientes prácticas recomendadas ayudan a crear un sistema de registro sólido, escalable y eficiente para su entorno Amazon EKS y proporcionan una mejor solución de problemas, supervisión y administración general de sus clústeres de Kubernetes.
+ **Centralice la recopilación** de registros: utilice una solución de registro centralizada, como CloudWatch Logs, Elasticsearch o un servicio de terceros, para agregar los registros de todos los componentes. Esto proporciona un punto de acceso único para el análisis de registros y simplifica la administración.
+ **Implemente un registro estructurado**: utilice formatos de registro estructurados, como JSON, para que los registros se puedan analizar y buscar con mayor facilidad. Incluya los metadatos relevantes, como las marcas de tiempo, los niveles de registro y los identificadores de origen.
+ **Utilice los niveles de registro de forma adecuada**: Implemente los niveles de registro adecuados (como `DEBUG` `INFO``WARN`, y`ERROR`) en sus aplicaciones. Configure los entornos de producción para que registren en los niveles adecuados a fin de evitar un registro excesivo.
+ **Habilite el registro de contenedores**: configure sus contenedores para que se registren en `stdout` y`stderr`. Esto permite a Kubernetes capturar y reenviar estos registros a la solución de registro que elija.
+ **Habilite el registro de aplicaciones**: configure las aplicaciones para que escriban registros en los archivos de registro `stdout` y `stderr` en lugar de escribirlos en ellos. Esto sigue la [metodología de aplicaciones de 12 factores](https://12factor.net/logs) y se alinea con las mejores prácticas nativas de la nube.
+ **Usa Kubernetes DaemonSets para la recopilación de registros**: implementa agentes de recopilación de registros (como Fluent Bit) DaemonSets para asegurarte de que se ejecuten en todos los nodos del clúster.
+ **Implemente políticas de retención**: defina y aplique políticas de retención de registros para cumplir con las regulaciones y administrar los costos de almacenamiento.
+ **Proteja los datos de registro**: cifre los registros en tránsito y en reposo. Implemente controles de acceso para restringir quién puede ver y administrar los registros.
+ **Supervise la ingesta de registros**: configure alertas en caso de errores o retrasos en la ingesta de registros para garantizar un registro continuo.
+ **Utilice anotaciones y etiquetas de Kubernetes: utilice las anotaciones y etiquetas** de Kubernetes para añadir metadatos a sus registros, a fin de mejorar la capacidad de búsqueda y el filtrado.
+ **Implemente el rastreo distribuido: utilice herramientas de rastreo distribuido**, como Jaeger, para correlacionar los registros entre los microservicios. [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ **Optimice el volumen de los registros**: Sea selectivo con lo que registra para evitar costes innecesarios y problemas de rendimiento. Utilice el muestreo para registros de gran volumen y bajo valor.
+ **Implemente la agregación de registros**: utilice herramientas como Logstash para agregar registros de varias fuentes antes de enviarlos a su sistema de registro central.
+ **Úselo Servicios de AWS siempre que sea posible**: servicios como CloudWatch Logs y Container Insights proporcionan una integración perfecta con otros servicios. Servicios de AWS
+ **Implemente el análisis y la visualización** de CloudWatch registros: utilice herramientas como Logs Insights, Elasticsearch con Kibana o soluciones de terceros para el análisis y la visualización de registros.
+ **Implemente un análisis de registros automatizado**: utilice herramientas de aprendizaje automático y basadas en inteligencia artificial para detectar automáticamente anomalías y patrones en sus registros.
+ **Documente su estrategia de registro**: mantenga una documentación clara de su arquitectura, prácticas y herramientas de registro para su equipo.

# Consideraciones importantes para iniciar sesión en Amazon EKS
<a name="logging-considerations"></a>

En esta sección se analizan las consideraciones importantes que se deben tener en cuenta al implementar el registro en Amazon EKS.
+ **Impacto en el rendimiento**: el registro excesivo puede afectar al rendimiento de la aplicación. Tenga en cuenta el volumen y la frecuencia de los registros que se generan.
+ **Administración de costos**: el almacenamiento y el procesamiento de registros pueden generar costos significativos, especialmente a gran escala. Implemente políticas de retención de registros y considere la posibilidad de utilizar la agregación de registros para reducir los costos.
+ **Seguridad y conformidad**: asegúrese de que los registros no contengan información confidencial, como contraseñas o datos personales. Implemente el cifrado para los registros en tránsito y en reposo. Tenga en cuenta los requisitos de cumplimiento, como el Reglamento General de Protección de Datos (GDPR) o la Ley de Portabilidad y Responsabilidad de los Seguros de Salud (HIPAA) cuando maneje los registros.
+ **Escalabilidad**: asegúrese de que su solución de registro pueda escalarse con el tamaño del clúster y el volumen de registro. Considere la posibilidad de utilizar el almacenamiento en búfer y el almacenamiento por lotes para la transmisión de registros.
+ **Retención de registros**: defina e implemente los períodos de retención de registros adecuados. Equilibre los requisitos de cumplimiento con los costos de almacenamiento.
+ **Control de acceso**: Implemente las funciones y políticas AWS Identity and Access Management (de IAM) adecuadas para el acceso a los registros. Siga el [principio de privilegios mínimos](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_permissions_least_privileges.html) para la administración de registros.
+ **Coherencia de registros**: utilice formatos de registro coherentes en diferentes aplicaciones y servicios. Utilice el registro estructurado para facilitar el análisis y el análisis.
+ **Sincronización horaria**: sincronice la hora en todos los nodos para obtener marcas de tiempo consistentes en los registros.
+ **Asignación de recursos**: asigne los recursos adecuados (como la CPU y la memoria) a los agentes de registro. Supervise el uso de recursos de los componentes de registro.
+ **Consideraciones sobre Fargate**: Fargate tiene mecanismos de registro específicos que difieren de los nodos basados en EC2. Comprenda las limitaciones y las capacidades del registro de [Fargate](https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html).
+ **Clústeres con varios inquilinos**: en entornos con varios inquilinos, asegúrese de que los registros estén debidamente aislados entre los inquilinos.
+ **Análisis y análisis de registros**: tenga en cuenta las herramientas y habilidades necesarias para un análisis de registros eficaz. Implemente el análisis de registros para la extracción de datos estructurados.
+ **Supervisión del sistema de registro**: configure la supervisión de la propia infraestructura de registro. Genere alertas para registrar las fallas o los atrasos del sistema.
+ **Impacto en la red**: tenga en cuenta el ancho de banda de red que utiliza la transmisión de registros. Considere la posibilidad de utilizar la compresión para los datos de registro.
+ Eventos de **Kubernetes: no pases por alto los eventos** de Kubernetes como fuente de información importante.
+ **Registro en el plano de control**: comprenda las implicaciones y los costes de habilitar el registro en el plano de control.
+ **Capacidades de depuración**: asegúrese de que su solución de registro permita depurar y solucionar problemas fácilmente.
+ **Integración con las herramientas existentes**: considere cómo se integra su solución de registro Amazon EKS con las herramientas de supervisión y alerta existentes.
+ **Pruebas**: pruebe periódicamente la configuración de registro, especialmente después de actualizar el clúster.
+ **Documentación**: mantenga una documentación clara de su arquitectura y prácticas de registro.
+ **Latencia de agregación de registros**: tenga en cuenta cualquier latencia en la agregación de registros y cómo podría afectar a la supervisión en tiempo real.