

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.

# Publicar métricas CloudWatch personalizadas de Amazon para un entorno
<a name="health-enhanced-cloudwatch"></a>

Puedes publicar los datos recopilados mediante los informes de salud AWS Elastic Beanstalk mejorados en Amazon CloudWatch como métricas personalizadas. Publicar métricas te CloudWatch permite monitorizar los cambios en el rendimiento de las aplicaciones a lo largo del tiempo e identificar posibles problemas mediante el seguimiento de la forma en que el uso de los recursos y la latencia de las solicitudes aumentan en función de la carga.

Al publicar las métricas en CloudWatch, también las pone a disposición para utilizarlas con [gráficos y [alarmas](using-features.alarms.md) de supervisión](environment-health-console.md#environment-health-console-graphs). Una métrica gratuita se activa automáticamente al utilizar los informes de salud mejorados. *EnvironmentHealth* Las métricas personalizadas no *EnvironmentHealth*conllevan [CloudWatch cargos](https://aws.amazon.com/cloudwatch/pricing/) estándar. 

Para publicar métricas CloudWatch personalizadas para un entorno, primero debe habilitar los informes de estado mejorados del entorno. Para obtener instrucciones, consulte [Habilitación de informes de estado mejorado de Elastic Beanstalk](health-enhanced-enable.md).

**Topics**
+ [Métricas de informes de estado avanzados](#health-enhanced-cloudwatch-metrics)
+ [Configuración de CloudWatch métricas mediante la consola de Elastic Beanstalk](#health-enhanced-cloudwatch-console)
+ [Configuración de métricas CloudWatch personalizadas mediante la CLI de EB](#health-enhanced-cloudwatch-ebcli)
+ [Proporcionar documentos de configuración de métricas personalizadas](#health-enhanced-cloudwatch-configdocument)

## Métricas de informes de estado avanzados
<a name="health-enhanced-cloudwatch-metrics"></a>

Al habilitar los informes de estado mejorados en su entorno, el sistema de informes de estado mejorado publica automáticamente una [métrica CloudWatch personalizada](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html), *EnvironmentHealth*. [Para publicar métricas adicionales CloudWatch, configure su entorno con esas métricas mediante la [consola de [Elastic Beanstalk](#health-enhanced-cloudwatch-console),](#health-enhanced-cloudwatch-ebcli) la CLI de EB o .ebextensions.](command-options.md)

Puede publicar las siguientes métricas de estado mejoradas de su entorno en. CloudWatchMétricas disponibles: todas las plataformas

`EnvironmentHealth`  
*Solo se aplica al entorno. * Esta es la única CloudWatch métrica que publica el sistema mejorado de informes de salud, a menos que configure métricas adicionales. El estado del entorno está representado por uno de los siete [estados](health-enhanced-status.md). En la CloudWatch consola, estos estados se asignan a los siguientes valores:  
+ 0: OK
+ 1: Info
+ 5: Unknown
+ 10: No data
+ 15: Warning
+ 20: Degraded
+ 25: Severe

`InstancesSevere``InstancesDegraded``InstancesWarning``InstancesInfo``InstancesOk``InstancesPending``InstancesUnknown``InstancesNoData`  
*Solo se aplica al entorno. * Estas métricas indican el número de instancias del entorno y el estado de cada una. `InstancesNoData` indica el número de instancias para las que no se reciben datos.

`ApplicationRequestsTotal``ApplicationRequests5xx``ApplicationRequests4xx``ApplicationRequests3xx``ApplicationRequests2xx`  
*Se aplica a la instancia y al entorno. * Indica el número total de solicitudes completado por la instancia o el entorno, así como el número de solicitudes completadas con el código de estado de cada categoría.

`ApplicationLatencyP10``ApplicationLatencyP50``ApplicationLatencyP75``ApplicationLatencyP85``ApplicationLatencyP90``ApplicationLatencyP95``ApplicationLatencyP99``ApplicationLatencyP99.9`  
*Se aplica a la instancia y al entorno. * Indica el período medio de tiempo, en segundos, que tarda en completarse el porcentaje *x* de las solicitudes más rápidas.

`InstanceHealth`  
*Se aplica solo a la instancia. * Indica el estado actual de la instancia. El estado de la instancia está representado por uno de los siete [estados](health-enhanced-status.md). En la CloudWatch consola, estos estados se asignan a los siguientes valores:  
+ 0: OK
+ 1: Info
+ 5: Unknown
+ 10: No data
+ 15: Warning
+ 20: Degraded
+ 25: SevereMétricas disponibles: Linux

`CPUIrq``CPUIdle``CPUUser``CPUSystem``CPUSoftirq``CPUIowait``CPUNice`  
*Se aplica solo a la instancia. * Indica el porcentaje de tiempo que la CPU ha pasado en cada estado durante el último minuto.

`LoadAverage1min`  
*Se aplica solo a la instancia. * Carga media de la CPU de la instancia durante el último minuto.

`RootFilesystemUtil`  
*Se aplica solo a la instancia. * Indica el porcentaje de espacio en disco que está en uso.Métricas disponibles: Windows

`CPUIdle``CPUUser``CPUPrivileged`  
Se aplica solo a la instancia. Indica el porcentaje de tiempo que la CPU ha pasado en cada estado durante el último minuto.

## Configuración de CloudWatch métricas mediante la consola de Elastic Beanstalk
<a name="health-enhanced-cloudwatch-console"></a>

Puede usar la consola de Elastic Beanstalk para configurar su entorno para publicar CloudWatch métricas de informes de estado mejoradas y ponerlas a disposición para su uso con gráficos y alarmas de monitoreo.

**Para configurar métricas CloudWatch personalizadas en la consola de Elastic Beanstalk**

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 **Configuration (Configuración)**.

1. En la categoría de configuración **Monitoring (Supervisión)**, seleccione **Edit (Edición de)**.

1. En **Health reporting (Informe de estado)**, seleccione las métricas de instancia y de entorno que desee publicar en CloudWatch. Para seleccionar varias métricas, presione la tecla **Ctrl** mientras hace la selección.

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

[**Al habilitar las métricas CloudWatch personalizadas, se agregan a la lista de métricas disponibles en la página de monitoreo.**](environment-health-console.md)

## Configuración de métricas CloudWatch personalizadas mediante la CLI de EB
<a name="health-enhanced-cloudwatch-ebcli"></a>

Puede utilizar la CLI de EB para configurar métricas personalizadas. Para ello, guarde la configuración del entorno localmente, agregue una entrada que defina las métricas que se van a publicar y cargue la configuración en Elastic Beanstalk. Puede aplicar la configuración guardada al entorno durante o después de la creación.

**Para configurar métricas CloudWatch personalizadas con la CLI de EB y las configuraciones guardadas**

1. Inicialice la carpeta del proyecto con [**eb init**](eb-cli3-configuration.md).

1. Cree un entorno ejecutando el comando **eb create**.

1. Guarde una plantilla de configuración localmente ejecutando el comando **eb config save**. En el ejemplo siguiente, se utiliza la opción `--cfg` para especificar el nombre de la configuración.

   ```
   $ eb config save --cfg 01-base-state
   Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml
   ```

1. Abra el archivo de configuración guardado en un editor de texto.

1. En `OptionSettings` >`aws:elasticbeanstalk:healthreporting:system:`, añada una `ConfigDocument` clave para habilitar cada una de las CloudWatch métricas que desee. Por ejemplo, en el ejemplo siguiente, `ConfigDocument` publica las métricas `ApplicationRequests5xx` y `ApplicationRequests4xx` en el nivel del entorno y la métrica `ApplicationRequestsTotal` en el nivel de la instancia.

   ```
   OptionSettings:
     ...
     aws:elasticbeanstalk:healthreporting:system:
       ConfigDocument:
         CloudWatchMetrics:
           Environment:
             ApplicationRequests5xx: 60
             ApplicationRequests4xx: 60
           Instance:
             ApplicationRequestsTotal: 60
         Version: 1
       SystemType: enhanced
   ...
   ```

   En el ejemplo, 60 indica el número de segundos entre las mediciones. En la actualidad, este es el único valor que se permite.
**nota**  
Puede combinar `CloudWatchMetrics` y `Rules` en el mismo ajuste de opción de `ConfigDocument`. `Rules` se describen en [Configuración de las reglas de informes de estado avanzados de un entorno](health-enhanced-rules.md).  
Si ha utilizado previamente `Rules` para configurar las reglas de estado avanzado, a continuación, el archivo de configuración que recupere mediante el comando **eb config save** ya tiene una clave `ConfigDocument` con una sección `Rules`. *No lo elimine*; agrega una sección `CloudWatchMetrics` en el mismo valor de la opción `ConfigDocument`.

1. Guarde el archivo de configuración y cierre el editor de texto. En este ejemplo, el archivo de configuración actualizado se ha guardado con otro nombre (`02-cloudwatch-enabled.cfg.yml`) que sea diferente al del archivo de configuración que se descargó. De este modo, se crea una configuración guardada distinta cuando se cargue el archivo. Puede utilizar el mismo nombre que el del archivo descargado para sobrescribir la configuración existente sin crear una nueva.

1. Utilice el comando **eb config put** para cargar el archivo de configuración actualizado a Elastic Beanstalk.

   ```
   $ eb config put 02-cloudwatch-enabled
   ```

   Si utiliza los comandos **eb config** `get` y `put` con configuraciones guardadas, no incluya la extensión de archivo.

1. Aplique la configuración guardada en el entorno que está en ejecución.

   ```
   $ eb config --cfg 02-cloudwatch-enabled
   ```

   La opción `--cfg` especifica el archivo de configuración designado que se aplica al entorno. Puede guardar el archivo de configuración localmente o en Elastic Beanstalk. Si hay un archivo de configuración con el nombre especificado en las dos ubicaciones, la CLI de EB utiliza el archivo local.

## Proporcionar documentos de configuración de métricas personalizadas
<a name="health-enhanced-cloudwatch-configdocument"></a>

El documento de configuración (config) de las métricas CloudWatch personalizadas de Amazon es un documento JSON en el que se enumeran las métricas que se van a publicar en los niveles de entorno e instancia. En el ejemplo siguiente, se muestra un documento de configuración que habilita todas las métricas personalizadas disponibles en Linux.

```
{
  "CloudWatchMetrics": {
    "Environment": {
      "ApplicationLatencyP99.9": 60,
      "InstancesSevere": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "InstancesUnknown": 60,
      "ApplicationLatencyP85": 60,
      "InstancesInfo": 60,
      "ApplicationRequests2xx": 60,
      "InstancesDegraded": 60,
      "InstancesWarning": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "InstancesNoData": 60,
      "InstancesPending": 60,
      "ApplicationLatencyP10": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "InstancesOk": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60
    },
    "Instance": {
      "ApplicationLatencyP99.9": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "ApplicationLatencyP85": 60,
      "CPUUser": 60,
      "ApplicationRequests2xx": 60,
      "CPUIdle": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "RootFilesystemUtil": 60,
      "LoadAverage1min": 60,
      "CPUIrq": 60,
      "CPUNice": 60,
      "CPUIowait": 60,
      "ApplicationLatencyP10": 60,
      "LoadAverage5min": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "CPUSystem": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60,
      "InstanceHealth": 60,
      "CPUSoftirq": 60
    }
  },
  "Version": 1
}
```

En el caso de AWS CLI, se pasa el documento como un valor para la `Value` clave de un argumento de configuración de opciones, que a su vez es un objeto JSON. En este caso, las comillas del documento insertado deben escribirse con caracteres de escape.

```
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
    {
        "Namespace": "aws:elasticbeanstalk:healthreporting:system",
        "OptionName": "ConfigDocument",
        "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": 60,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": 60,\"ApplicationRequests2xx\": 60,\"InstancesDegraded\": 60,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"InstancesNoData\": 60,\"InstancesPending\": 60,\"ApplicationLatencyP10\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"InstancesOk\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60},\"Instance\": {\"ApplicationLatencyP99.9\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"ApplicationLatencyP85\": 60,\"CPUUser\": 60,\"ApplicationRequests2xx\": 60,\"CPUIdle\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": 60,\"LoadAverage1min\": 60,\"CPUIrq\": 60,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": 60,\"LoadAverage5min\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60,\"InstanceHealth\": 60,\"CPUSoftirq\": 60}},\"Version\": 1}"
    }
]'
```

En los archivos de configuración `.ebextensions` de YAML, puede proporcionar el documento JSON tal y como está.

```
  option_settings:
    - namespace: aws:elasticbeanstalk:healthreporting:system
      option_name: ConfigDocument
      value: {
  "CloudWatchMetrics": {
    "Environment": {
      "ApplicationLatencyP99.9": 60,
      "InstancesSevere": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "InstancesUnknown": 60,
      "ApplicationLatencyP85": 60,
      "InstancesInfo": 60,
      "ApplicationRequests2xx": 60,
      "InstancesDegraded": 60,
      "InstancesWarning": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "InstancesNoData": 60,
      "InstancesPending": 60,
      "ApplicationLatencyP10": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "InstancesOk": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60
    },
    "Instance": {
      "ApplicationLatencyP99.9": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "ApplicationLatencyP85": 60,
      "CPUUser": 60,
      "ApplicationRequests2xx": 60,
      "CPUIdle": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "RootFilesystemUtil": 60,
      "LoadAverage1min": 60,
      "CPUIrq": 60,
      "CPUNice": 60,
      "CPUIowait": 60,
      "ApplicationLatencyP10": 60,
      "LoadAverage5min": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "CPUSystem": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60,
      "InstanceHealth": 60,
      "CPUSoftirq": 60
    }
  },
  "Version": 1
}
```