

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.

# Uso de Elastic CloudWatch Beanstalk con Amazon Logs
<a name="AWSHowTo.cloudwatchlogs"></a>

En este tema se explican las funciones de supervisión que el servicio Amazon CloudWatch Logs puede proporcionar a Elastic Beanstalk. También le guía por la configuración y enumera las ubicaciones de los registros de cada plataforma de Elastic Beanstalk. 

La implementación CloudWatch de Logs puede permitirle realizar las siguientes actividades de monitoreo:
+ Supervise y archive la aplicación de Elastic Beanstalk, el sistema y los archivos de registro personalizados de instancias de Amazon EC2 de sus entornos.
+ Configure alarmas que le ayuden a reaccionar a determinados eventos de flujo de registro que extraigan los filtros de las métricas.

El agente de CloudWatch registros instalado en cada instancia de Amazon EC2 de su entorno publica puntos de datos métricos en el CloudWatch servicio para cada grupo de registros que configure. Cada grupo de registros aplica sus propios patrones de filtrado para determinar a qué eventos de flujo de registro se deben enviar CloudWatch como puntos de datos. Las transmisiones de logs que pertenecen al mismo grupo de logs comparten la misma configuración de retención, supervisión y control de acceso. Puede configurar Elastic Beanstalk para que transmita automáticamente los registros al servicio, tal y como se CloudWatch describe en. [Transmitir los registros de las instancias a CloudWatch Logs](#AWSHowTo.cloudwatchlogs.streaming) Para obtener más información sobre CloudWatch Logs, incluida la terminología y los conceptos, consulte la [Guía del usuario de Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html).

Además de los registros de instancias, si permite [mejorar el estado](health-enhanced.md) de su entorno, puede configurarlo para transmitir información de estado a CloudWatch los registros. Consulte [Transmisión de información sobre el estado del entorno de Elastic Beanstalk a Amazon Logs CloudWatch](AWSHowTo.cloudwatchlogs.envhealth.md).

**Topics**
+ [Requisito previo: por ejemplo, la transmisión de CloudWatch registros a Logs](#AWSHowTo.cloudwatchlogs.prereqs)
+ [Cómo configura Elastic Beanstalk los registros CloudWatch](#AWSHowTo.cloudwatchlogs.loggroups)
+ [Transmitir los registros de las instancias a CloudWatch Logs](#AWSHowTo.cloudwatchlogs.streaming)
+ [Solución de problemas CloudWatch de integración de registros](#AWSHowTo.cloudwatchlogs.troubleshoot)
+ [Transmisión de información sobre el estado del entorno de Elastic Beanstalk a Amazon Logs CloudWatch](AWSHowTo.cloudwatchlogs.envhealth.md)

## Requisito previo: por ejemplo, la transmisión de CloudWatch registros a Logs
<a name="AWSHowTo.cloudwatchlogs.prereqs"></a>

Si no tiene la *AWSElasticBeanstalkWebTier*política gestionada por *AWSElasticBeanstalkWorkerTier*Elastic Beanstalk en su perfil de instancia de [Elastic Beanstalk, debe añadir los siguientes permisos](concepts-roles-instance.md) a su perfil para habilitar esta función.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
    "Effect": "Allow",
    "Action": [
      "logs:PutLogEvents",
      "logs:CreateLogStream"
    ],
    "Resource": [
    "*"
    ]
  }
  ]
}
```

------

## Cómo configura Elastic Beanstalk los registros CloudWatch
<a name="AWSHowTo.cloudwatchlogs.loggroups"></a>

Elastic Beanstalk CloudWatch instala un agente de registro con los valores de configuración predeterminados en cada instancia que crea. [Obtenga más información en la documentación del agente. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)

Cuando habilita la transmisión de CloudWatch registros de instancias a Logs, Elastic Beanstalk envía los archivos de registro de las instancias de su entorno a Logs. CloudWatch Las distintas plataformas transmiten registros diferentes. En la siguiente tabla se muestran los registros por plataforma.


****  

|  Plataforma / Ramificación de la plataforma  |  Registros  | 
| --- | --- | 
| Docker |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| ECS en Docker |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Go<br />.NET Core en Linux<br />Java |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Node.js<br />Python |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Tomcat<br />PHP |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| .NET en Windows Server |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

### Archivos de registro en plataformas AMI de Amazon Linux
<a name="AWSHowTo.cloudwatchlogs.loggroups.alami"></a>

**nota**  
 [El 18 de julio de 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk estableció el estado de todas las ramas de plataforma basadas en la AMI AL1 de Amazon Linux () como retiradas.** Para obtener más información sobre la migración a una ramificación de la plataforma Amazon Linux 2023 actual y totalmente compatible, consulte [Migración de su aplicación de Linux de Elastic Beanstalk a Amazon Linux 2023 o Amazon Linux 2](using-features.migration-al.md).

En la siguiente tabla se enumeran los archivos de registro transmitidos desde instancias en ramas de plataforma basadas en la AMI de Amazon Linux (anterior a Amazon Linux 2), por plataforma.


****  

|  Plataforma / Ramificación de la plataforma  |  Registros  | 
| --- | --- | 
| Docker / <br />Ramificación de la plataforma: Docker que se ejecuta en Amazon Linux de 64 bits |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Docker / <br />Ramificación de la plataforma: Multicontainer Docker que se ejecuta en Amazon Linux de 64 bits |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Glassfish (Docker preconfigurado) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Go |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Java /<br />Ramificación de la plataforma: Java 8 que se ejecuta en Amazon Linux de 64 bits<br />Ramificación de la plataforma: Java 7 que se ejecuta en Amazon Linux de 64 bits |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Tomcat |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Node.js |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| PHP |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Python |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby /<br />Ramificación de la plataforma: Puma con Ruby que se ejecuta en Amazon Linux de 64 bits |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby / Ramificación de la plataforma: Passenger con Ruby que se ejecuta en Amazon Linux de 64 bits |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

Elastic Beanstalk configura CloudWatch grupos de registros en Logs para los distintos archivos de registro que transmite. Para recuperar archivos de registro específicos de CloudWatch Logs, debe conocer el nombre del grupo de registros correspondiente. El esquema de nomenclatura del grupo de logs depende del sistema operativo de la plataforma.

En el caso de las plataformas Linux, anteponga `/aws/elasticbeanstalk/{{environment_name}}` a la ubicación de archivo de log para obtener el nombre del grupo de logs. Por ejemplo, para recuperar el archivo `/var/log/nginx/error.log`, especifique el nombre el grupo de logs `/aws/elasticbeanstalk/{{environment_name}}/var/log/nginx/error.log`.

En el caso de las plataformas Windows, consulte en la siguiente tabla el grupo de registros correspondiente a cada archivo de registro.


|  Archivo de log en la instancia  |  Grupo de registro  | 
| --- | --- | 
| `C:\Program Files\Amazon\ElasticBeanstalk\logs\AWSDeployment.log` | `/aws/elasticbeanstalk/<environment-name>/EBDeploy-Log` | 
| `C:\Program Files\Amazon\ElasticBeanstalk\logs\Hooks.log` | `/aws/elasticbeanstalk/<environment-name>/EBHooks-Log` | 
| `C:\inetpub\logs\LogFiles` (todo el directorio) | `/aws/elasticbeanstalk/<environment-name>/IIS-Log` | 

## Transmitir los registros de las instancias a CloudWatch Logs
<a name="AWSHowTo.cloudwatchlogs.streaming"></a>

Puede habilitar la transmisión de CloudWatch registros de instancias a Logs mediante la consola de Elastic Beanstalk, la CLI de EB o las opciones de configuración.

Antes de habilitarlo, configure los permisos de IAM para usarlos con el agente de Logs. CloudWatch Puede asociar la siguiente política personalizada al [perfil de instancia](concepts-roles-instance.md) que asigna a su entorno.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Streaming de registros de instancia mediante la consola de Elastic Beanstalk
<a name="AWSHowTo.cloudwatchlogs.streaming.console"></a>

**Para transmitir los registros de las instancias a CloudWatch los registros**

1. Abra la consola de [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) y, **en** la lista Regiones, seleccione su. Región de AWS

1. En el panel de navegación, elija **Environments** (Entornos) y, a continuación, elija el nombre del entorno en la lista.

1. En el panel de navegación, elija **Configuración**.

1. En la categoría de configuración **Actualizaciones, supervisión y registro**, seleccione **Edición de**.

1. En **Transmisión de registros de instancias a registros**: CloudWatch 
   + Habilite **Log streaming (Streaming de registros)**.
   + Establezca **Retention (Retención)** en el número de días que se guardarán los registros.
   + Seleccione la opción **Lifecycle (Ciclo de vida)** que determina si los registros se guardan una vez finalizado el entorno.

1. Para guardar los cambios, elija **Aplicar** en la parte inferior de la página.

Después de habilitar el streaming de registros, puede volver a la categoría o página de configuración **Software** y buscar el enlace **Log Groups (Grupos de registros)**. Haga clic en este enlace para ver los registros en la CloudWatch consola.

### Streaming de registros de instancias mediante la CLI de EB
<a name="AWSHowTo.cloudwatchlogs.streaming.ebcli"></a>

Para habilitar la transmisión de CloudWatch registros de instancias a Logs mediante la CLI de EB, utilice el [**eb logs**](eb3-logs.md) comando.

```
$ eb logs --cloudwatch-logs enable
```

También se puede utilizar **eb logs** para recuperar registros de CloudWatch los registros. Puede recuperar todos los registros de instancias del entorno o utilizar las numerosas opciones del comando para especificar los subconjuntos de registros que se recuperarán. Por ejemplo, el siguiente comando recupera el conjunto completo de registros de instancias correspondientes a su entorno y los guarda en un directorio en `.elasticbeanstalk/logs`.

```
$ eb logs --all
```

En concreto, la opción `--log-group` le permite recuperar los registros de instancias de un grupo de registros específicos, correspondientes a un determinado archivo de registro en la instancia. Para ello, debe conocer el nombre del grupo de registros que corresponde al archivo de registro que desea recuperar. Puede encontrar esta información en [Cómo configura Elastic Beanstalk los registros CloudWatch](#AWSHowTo.cloudwatchlogs.loggroups).

### Streaming de registros de instancias mediante archivos de configuración
<a name="AWSHowTo.cloudwatchlogs.files"></a>

Al crear o actualizar un entorno, puede usar un archivo de configuración para configurar y configurar la transmisión de CloudWatch registros de instancias a Logs. En el siguiente ejemplo, el archivo de configuración habilita el streaming de logs de instancias predeterminado. Elastic Beanstalk realiza la transmisión del conjunto predeterminado de los archivos de registro de la plataforma del entorno. Para utilizar el ejemplo, copie el texto en un archivo con la extensión `.config` en el directorio `.ebextensions` en el nivel superior del paquete de código fuente de la aplicación.

```
option_settings:
  - namespace: aws:elasticbeanstalk:cloudwatch:logs
    option_name: StreamLogs
    value: true
```

### Streaming de archivos de registro personalizados
<a name="AWSHowTo.cloudwatchlogs.streaming.custom"></a>

La CloudWatch integración de Elastic Beanstalk con los registros no admite directamente la transmisión de los archivos de registro personalizados que genera la aplicación. Para transmitir registros personalizados, utilice un archivo de configuración para instalar directamente el CloudWatch agente y configurar los archivos que se van a insertar. Para ver un archivo de configuración de ejemplo, consulte [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config).

**nota**  
El ejemplo no funciona en la plataforma Windows.

Para obtener más información sobre la configuración de CloudWatch los registros, consulte la [referencia del archivo de configuración del CloudWatch agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html) en la *Guía del CloudWatch usuario de Amazon*.

## Solución de problemas CloudWatch de integración de registros
<a name="AWSHowTo.cloudwatchlogs.troubleshoot"></a>

**Pruebe la CLI de Amazon Q Developer para solucionar problemas con ayuda de la IA**  
 La CLI de Amazon Q Developer puede ayudarle a solucionar rápidamente los problemas de entorno. La CLI de Q permite solucionar problemas comprobando el estado del entorno, revisando eventos, analizando registros y formulando preguntas aclaratorias. Para obtener más información y tutoriales detallados, consulte [Solución de problemas de entornos de Elastic Beanstalk con Amazon](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) Q Developer CLI en los blogs. AWS 

**Imposibilidad de localizar los registros de instancias del entorno**  
Si no encuentra algunos de los registros de instancias del entorno que esperaba en CloudWatch Logs, investigue los siguientes problemas comunes:
+ Su rol de IAM carece de los permisos de IAM necesarios.
+ Lanzó su entorno en un entorno Región de AWS que no admite CloudWatch registros.
+ Uno de sus archivos de log personalizados no existe en la ruta que especificó.

**Falta o intermitencia de registros de aplicaciones**  
Si los registros de la aplicación de Elastic Beanstalk (`/var/log/web.stdout.log`) parecen faltar o son intermitentes, esto puede deberse a la configuración de límite de velocidad predeterminada en rsyslog y journald. Si bien deshabilitar por completo la limitación de velocidad puede resolver este problema, no se recomienda, ya que podría provocar un uso excesivo del disco, una posible denegación de servicio o una degradación del rendimiento del sistema durante ráfagas de registro inesperadas. En su lugar, puede ajustar los límites de velocidad con la siguiente [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config). Esta configuración aumenta el intervalo de límite de velocidad a 600 segundos con límites de ráfaga más altos, lo que proporciona un equilibrio entre el registro adecuado y la protección del sistema. 

**Problemas de limitación**  
Si una operación de Elastic Beanstalk que lanza simultáneamente un gran número de instancias devuelve un `Error: fail to create log stream: ThrottlingException: Rate exceeded` mensaje similar al de que se están reduciendo demasiadas llamadas a la API. CloudWatch 

Para resolver el problema de limitación, realice una de las siguientes acciones:
+ Utilice un tamaño de lote más pequeño con implementaciones sucesivas para reducir las actualizaciones simultáneas.
+ Solicite un aumento de la cuota de servicio límite de transacciones por segundo (TPS) de su AWS cuenta para. *CreateLogStream* Para obtener más información, consulte [Cuotas de CloudWatch registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) y [Gestión de las cuotas del servicio de CloudWatch registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html#service-quotas-manage) en la *Guía del usuario de Amazon CloudWatch Logs*.