

# Monitoreo de infraestructuras
<a name="CloudWatch-Insights-Sections"></a>

Los temas de esta sección explican las características de CloudWatch que pueden ayudar a obtener visibilidad operativa de su recursos de AWS.

**Topics**
+ [Información de contenedores](ContainerInsights.md)
+ [Lambda Insights](Lambda-Insights.md)
+ [Información sobre las bases de datos de CloudWatch](Database-Insights.md)
+ [Uso de Información de colaboradores para analizar datos de alta cardinalidad](ContributorInsights.md)
+ [Detecte problemas comunes de aplicaciones con Información de aplicaciones de CloudWatch](cloudwatch-application-insights.md)
+ [Uso de la vista del estado de recursos en la consola de CloudWatch](servicelens_resource_health.md)

# Información de contenedores
<a name="ContainerInsights"></a>

Utilice Información de contenedores de CloudWatch para recopilar, agregar y resumir métricas y registros de las aplicaciones en contenedores y de los microservicios. Información de contenedores está disponible para las plataformas Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), RedHat OpenShift en AWS (ROSA) y Kubernetes en Amazon EC2. Información de contenedores admite la recopilación de métricas de clústeres implementados en AWS Fargate tanto para Amazon ECS como Amazon EKS.

CloudWatch recopila automáticamente métricas de muchos recursos, como la CPU, la memoria, el disco y la red. Información de contenedores también proporciona información de diagnóstico, como, por ejemplo, errores de reinicio de contenedores, para ayudarlo a aislar problemas y solucionarlos rápidamente. También puede establecer alarmas de CloudWatch en las métricas que recopila Información de contenedores.

Información de contenedores recopila datos como *Eventos de registro de rendimiento* con [embedded metric format](CloudWatch_Embedded_Metric_Format.md) (formato de métricas integradas). Estos eventos de registro de rendimiento son entradas que utilizan un esquema JSON estructurado que permite capturar y almacenar datos de cardinalidad alta a escala. A partir de estos datos, CloudWatch crea métricas agregadas por clúster, nodo pod y servicio como métricas de CloudWatch. Las métricas que recopila Información de contenedores están disponibles en los paneles automáticos de CloudWatch y también se pueden ver en la sección **Métricas** de la consola de CloudWatch. Las métricas no están visibles hasta que las tareas del contenedor hayan estado ejecutándose durante algún tiempo.

Al implementar Información de contenedores, este crea automáticamente un grupo de registro para los eventos del registro de rendimiento. No es necesario que cree este grupo de registro.

CloudWatch no crea automáticamente todas las métricas posibles a partir de los datos del registro con el objetivo de ayudarlo a administrar los costes de Información de contenedores. Sin embargo, puede visualizar métricas adicionales y niveles adicionales de granularidad con Información de registros de CloudWatch para analizar los eventos de registro de rendimiento sin procesar.

Con la versión original de Información de contenedores, las métricas recopiladas y los registros incorporados se cobran como métricas personalizadas. Con Información de contenedores, con una observabilidad mejorada para Amazon EKS, las métricas y los registros de Información de contenedores se cobran por observación en lugar de cobrarse por métrica almacenada o registro incorporado. Para obtener más información sobre los precios de CloudWatch, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

**[Vista previa]** Para Amazon EKS, Información de contenedores con OpenTelemetry proporciona un modo de métricas adicional que recopila métricas mediante el protocolo OpenTelemetry (OTLP) y admite consultas PromQL. Cada métrica está enriquecida con hasta 150 etiquetas, incluidos los atributos de convención semántica de OpenTelemetry y las etiquetas de pod y nodo de Kubernetes. Para obtener más información, consulte [Información de contenedores con métricas de OpenTelemetry para Amazon EKS](container-insights-otel-metrics.md).

En Amazon EKS, RedHatOpenshift en AWS y Kubernetes, Información de contenedores utiliza una versión en contenedores del agente de CloudWatch para detectar todos los contenedores en ejecución en un clúster. A continuación, recopila datos de rendimiento en cada nivel de la pila de rendimiento.

Información de contenedores admite el cifrado con la AWS KMS key para los registros y las métricas que recopila. Para habilitar este cifrado, debe activar manualmente el cifrado de AWS KMS para el grupo de registro que recibe datos de Información de contenedores. Esto hace que Información de contenedores cifre esos datos con la clave KMS proporcionada. Solo se admiten claves simétricas. No utilice claves KMS asimétricas para cifrar sus grupos de registro.

Para obtener más información, consulte [Encrypt Log Data in CloudWatch Logs Using AWS KMS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html) (Cifrar datos de registro en CloudWatch Logs mediante ).

## Plataformas admitidas
<a name="container-insights-platforms"></a>

Información de contenedores está disponible para las plataformas Amazon Elastic Container Service, Amazon Elastic Kubernetes Service, RedHat OpenShift en AWS y Kubernetes en instancias de Amazon EC2.
+ Para Amazon ECS, Información de contenedores recopila métricas por clúster, tarea y servicio en las instancias de Linux y Windows Server. Información de contenedores puede recopilar métricas por instancia solo en instancias de Linux. Las métricas de red están disponibles para los contenedores que usan el modo de red `bridge` y el modo de red `awsvpc`, pero no están disponibles para los contenedores que usan el modo de red `host`.
+ En el caso de Amazon Elastic Kubernetes Service y las plataformas de Kubernetes en instancias de Amazon EC2, Información de contenedores solo se admite en instancias de Linux y Windows.
+ **[Vista previa]** Información de contenedores con métricas de OpenTelemetry está disponibles para Amazon EKS. Para obtener más información, consulte [Información de contenedores con métricas de OpenTelemetry para Amazon EKS](container-insights-otel-metrics.md).

# Información de contenedores con observabilidad mejorada para Amazon ECS
<a name="container-insights-detailed-ecs-metrics"></a>

El 2 de diciembre de 2024, AWS publicó Información de contenedores con observabilidad mejorada para Amazon ECS. Esta versión admite la observabilidad mejorada de los clústeres de Amazon ECS que utilizan los tipos de lanzamiento de Amazon EC2 y Fargate. Después de configurar Información de contenedores con observabilidad mejorada en Amazon ECS, Información de contenedores recopila automáticamente la telemetría detallada de la infraestructura desde el nivel del clúster hasta el nivel del contenedor en su entorno y muestra estos datos de rendimiento críticos en paneles seleccionados, lo que elimina el trabajo pesado de configurar la observabilidad. Para obtener más información sobre cómo configurar Información de contenedores con observabilidad mejorada, consulte [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS-cluster.md).

Información de contenedores con observabilidad mejorada proporciona todas las métricas de Información de contenedores, además de métricas adicionales de tareas y contenedores. Para obtener más información, consulte [Métricas de Información de contenedores de Amazon ECS con observabilidad mejorada](Container-Insights-enhanced-observability-metrics-ECS.md).

Información de contenedores con observabilidad mejorada admite la observabilidad entre cuentas de CloudWatch. Puede utilizar una cuenta de supervisión para supervisar y solucionar problemas en las aplicaciones que abarcan varias cuentas de AWS dentro de una sola región. Para obtener más información, consulte [(Observabilidad entre cuentas de CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html).

# Información de contenedores con observabilidad mejorada para Amazon EKS
<a name="container-insights-detailed-metrics"></a>

El 6 de noviembre de 2023, se lanzó una nueva versión de Información de contenedores. Esta versión admite la observabilidad mejorada de los clústeres de Amazon EKS que se ejecutan en Amazon EC2 y puede recopilar métricas más detalladas estos clústeres. Tras la instalación, recopila automáticamente registros detallados de telemetría de infraestructura y de contenedores para sus clústeres de Amazon EKS. A continuación, puede utilizar paneles seleccionados y de uso inmediato para profundizar en la telemetría de aplicaciones e infraestructuras. 

Información de contenedores con observabilidad mejorada para Amazon EKS, recopila métricas detalladas del estado granular, del rendimiento y del estado hasta el nivel del contenedor, así como métricas del plano de control. Para obtener más información acerca de las métricas y dimensiones adicionales recopiladas, consulte [Métricas de Amazon EKS e Información de contenedores de Kubernetes con observabilidad mejorada](Container-Insights-metrics-enhanced-EKS.md).

Si instaló Información de contenedores mediante el agente CloudWatch en un clúster de Amazon EKS en Amazon EC2, después del 6 de noviembre de 2023, dispondrá de Información de contenedores con observabilidad mejorada para Amazon EKS. De lo contrario, puede actualizar un clúster de Amazon EKS a esta nueva versión siguiendo las instrucciones que se indican en [Actualización a Información de contenedores con observabilidad mejorada para Amazon EKS en CloudWatch](Container-Insights-upgrade-enhanced.md).

La Información de contenedores admite la observabilidad entre cuentas de CloudWatch. Utiliza una cuenta de supervisión para supervisar y solucionar problemas en las aplicaciones que abarcan varias cuentas de AWS dentro de una sola región. Para obtener más información, consulte [Observabilidad entre cuentas de CloudWatch](CloudWatch-Unified-Cross-Account.md).

Información de contenedores con observabilidad mejorada para Amazon EKS también es compatible con los nodos de trabajo de Windows.

Fargate no admite Información de contenedores con observabilidad mejorada para Amazon EKS.

**nota**  
Navegue hasta la consola de Información de contenedores para descubrir si tiene clústeres que puedan actualizarse a Información de contenedores con observabilidad mejorada para Amazon EKS. Para ello, elija **Información**, **Información de contenedores** en el panel de navegación de la consola de CloudWatch. En la consola de Información de contenedores, un anuncio indica si hay algún clúster de Amazon EKS que pueda actualizarse y enlaza con la página de actualización.

# Información de contenedores con métricas de OpenTelemetry para Amazon EKS
<a name="container-insights-otel-metrics"></a>

**Vista previa**  
Información de contenedores con métricas de OpenTelemetry proporciona visibilidad del estado operativo de su infraestructura de clústeres de Amazon EKS. Está disponible en versión preliminar pública sin costo adicional en Este de EE. UU. (Norte de Virginia), Oeste de EE. UU. (Oregón), Europa (Irlanda), Asia-Pacífico (Singapur) y Asia-Pacífico (Sídney).

El complemento de observabilidad de EKS de Amazon CloudWatch recopila métricas de código abierto de sus clústeres de Amazon EKS y las envía a CloudWatch mediante OpenTelemetry Protocol (OTLP) con una granularidad de 30 segundos. Estas métricas utilizan los nombres de métricas de sus fuentes originales, como Advisor, Prometheus Node Exporter, NVIDIA DCGM, Kube State Metrics y AWS Neuron Monitor. Puede consultar estas métricas mediante PromQL en CloudWatch Query Studio o mediante la API de consultas compatible con Prometheus.

Cada métrica se enriquece automáticamente con hasta 150 etiquetas, incluidos los atributos de convención semántica de OpenTelemetry y las etiquetas de pod y nodo de Kubernetes. PromQL gestiona la agregación en el momento de la consulta, por lo que cada métrica se publica una vez por recurso en lugar de hacerlo en varios niveles de agregación. El complemento también correlaciona las métricas de aceleración de AWS Neuron y AWS Elastic Fabric Adapter con los módulos y contenedores específicos que las utilizan, lo que proporciona una visibilidad que no ofrecen los orígenes de métricas por sí solos.

Para usar Información de contenedores con OpenTelemetry en un clúster de Amazon EKS, instale el complemento de observabilidad de EKS de Amazon CloudWatch (versión `v6.0.1-eksbuild.1` o posterior) mediante la consola de Amazon EKS o mediante infraestructura como código.

Para más información sobre la configuración de Información de Contenedores con OpenTelemetry, consulte [Configuración de Información de contenedores](deploy-container-insights.md).

Para obtener más información sobre cómo consultar estas métricas con PromQL, consulte [Consultas PromQL](CloudWatch-PromQL-Querying.md).

## Comparación entre Información de contenedores con OpenTelemetry e Información de contenedores (mejorada)
<a name="container-insights-otel-comparison"></a>

En la siguiente tabla, se resumen las diferencias entre Información de contenedores con OpenTelemetry e Información de contenedores (mejorada).


| Característica | Información de contenedores (mejorada) | Información de contenedores con OpenTelemetry | 
| --- | --- | --- | 
| Nombres de métricas | Métricas en formato CloudWatch (por ejemplo, pod\$1cpu\$1utilization) | Nativos de código abierto (por ejemplo, container\$1cpu\$1usage\$1seconds\$1total) | 
| Etiquetas por métrica | De 3 a 6 dimensiones predefinidas por métrica | Hasta 150 etiquetas, incluidas todas las etiquetas de pod y nodo de Kubernetes | 
| Agregación | Agregación previa en varios niveles (clúster, espacio de nombres, carga de trabajo, módulo) | Métricas sin procesar por recurso; agregadas en el momento de la consulta con PromQL | 
| Lenguaje de consulta | API de Métricas de CloudWatch | PromQL (compatible con Prometheus) | 
| Ingesta de métricas | Registros de CloudWatch en formato EMF | Punto de conexión de OTLP | 

## Cómo se etiquetan las métricas
<a name="container-insights-otel-labels"></a>

Cada métrica recopilada por Información de contenedores con OpenTelemetry contiene etiquetas de tres orígenes.

Etiquetas nativas del origen de telemetría  
Etiquetas de la fuente de métricas original (por ejemplo, cAdvisor proporciona etiquetas como `pod`, `namespace` y `container`). Se conservan como atributos de puntos de datos.

Atributos de recursos de OpenTelemetry  
El complemento agrega atributos de recursos siguiendo las convenciones semánticas de OpenTelemetry para [Kubernetes](https://opentelemetry.io/docs/specs/semconv/resource/k8s/), [Host](https://opentelemetry.io/docs/specs/semconv/resource/host/) y [Nube](https://opentelemetry.io/docs/specs/semconv/resource/cloud/), como `k8s.pod.name`, `k8s.namespace.name`, `k8s.node.name`, `host.name` y `cloud.region`. Estos atributos son consistentes en todos los orígenes de métricas.

Etiquetas de pods y nodos de Kubernetes  
Todas las etiquetas de pods y nodos detectadas por la API de Kubernetes se adjuntan como atributos de recurso con los prefijos `k8s.pod.label` y `k8s.node.label`.

Para obtener más información sobre cómo elegir un complemento de observabilidad de EKS, consulte [Consultas PromQL](CloudWatch-PromQL-Querying.md).

## Métricas admitidas
<a name="container-insights-otel-supported-metrics"></a>

En la siguiente tabla se indican los orígenes y categorías de métricas recopiladas por Información de contenedores con OpenTelemetry.


| Origen de la métrica | Categoría métrica | Requisitos previos | 
| --- | --- | --- | 
| cAdvisor | Métricas de CPU | - | 
| cAdvisor | Métricas de memoria | - | 
| cAdvisor | Métricas de red | - | 
| cAdvisor | Métricas del disco y del sistema de archivos | - | 
| Exportador de nodos de Prometheus | Métricas de CPU | - | 
| Exportador de nodos de Prometheus | Métricas de memoria | - | 
| Exportador de nodos de Prometheus | Métricas de disco | - | 
| Exportador de nodos de Prometheus | Métricas del sistema de archivos | - | 
| Exportador de nodos de Prometheus | Métricas de red | - | 
| Exportador de nodos de Prometheus | Métricas del sistema | - | 
| Exportador de nodos de Prometheus | Métricas de VMStat | - | 
| Exportador de nodos de Prometheus | Métricas de Netstat y sockets | - | 
| DCGM de NVIDIA | Métricas de uso y rendimiento de la GPU | Es necesario instalar el [complemento de dispositivo NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) y el [kit de herramientas de contenedores](https://github.com/NVIDIA/nvidia-container-toolkit) de NVIDIA. | 
| DCGM de NVIDIA | Métricas de memoria de la GPU | Es necesario instalar el [complemento de dispositivo NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) y el [kit de herramientas de contenedores](https://github.com/NVIDIA/nvidia-container-toolkit) de NVIDIA. | 
| DCGM de NVIDIA | Métricas térmicas y de potencia de la GPU | Es necesario instalar el [complemento de dispositivo NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) y el [kit de herramientas de contenedores](https://github.com/NVIDIA/nvidia-container-toolkit) de NVIDIA. | 
| DCGM de NVIDIA | Métricas de limitación de la GPU | Es necesario instalar el [complemento de dispositivo NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) y el [kit de herramientas de contenedores](https://github.com/NVIDIA/nvidia-container-toolkit) de NVIDIA. | 
| DCGM de NVIDIA | Métricas de errores y fiabilidad de la GPU | Es necesario instalar el [complemento de dispositivo NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) y el [kit de herramientas de contenedores](https://github.com/NVIDIA/nvidia-container-toolkit) de NVIDIA. | 
| DCGM de NVIDIA | Métricas NVLink de la GPU | Es necesario instalar el [complemento de dispositivo NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) y el [kit de herramientas de contenedores](https://github.com/NVIDIA/nvidia-container-toolkit) de NVIDIA. | 
| DCGM de NVIDIA | Métricas informacionales de la GPU | Es necesario instalar el [complemento de dispositivo NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) y el [kit de herramientas de contenedores](https://github.com/NVIDIA/nvidia-container-toolkit) de NVIDIA. | 
| AWS Neuron Monitor | Métricas de NeuronCore | Es necesario instalar el [controlador Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html) y el [complemento de dispositivo Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html). | 
| AWS Neuron Monitor | Métricas de NeuronDevice | Es necesario instalar el [controlador Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html) y el [complemento de dispositivo Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html). | 
| AWS Neuron Monitor | Métricas de sistema de Neuron | Es necesario instalar el [controlador Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html) y el [complemento de dispositivo Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html). | 
| AWS Elastic Fabric Adapter | Métricas de EFA | Es necesario instalar el [complemento de dispositivo EFA](https://github.com/aws/eks-charts/tree/master/stable/aws-efa-k8s-device-plugin). | 
| NVMe | Métricas SMART de NVMe | - | 
| Métricas de estado de Kube | Métricas pod, node, Deployment, DaemonSet, StatefulSet, ReplicaSet, Job, CronJob, Service, Namespace, PersistentVolume, PersistentVolumeClaim | - | 
| Servidor de la API de Kubernetes | Métricas del servidor de API y de etcd | - | 

## Imagen del contenedor del agente de CloudWatch
<a name="container-insights-download-limit"></a>

Amazon proporciona una imagen de contenedor de agente de CloudWatch en el registro de contenedores de Amazon Elastic. Para obtener más información, consulte [cloudwatch-agent](https://gallery.ecr.aws/cloudwatch-agent/cloudwatch-agent) en Amazon ECR.

# Configuración de Información de contenedores
<a name="deploy-container-insights"></a>

El proceso de configuración de Información de contenedores es diferente para Amazon ECS, Amazon EKS y Kubernetes. 
+ [Configuración de Información de contenedores en Amazon EKS y Kubernetes](deploy-container-insights-EKS.md)
+ [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS.md)

**Topics**
+ [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS.md)
+ [Configuración de Información de contenedores en Amazon EKS y Kubernetes](deploy-container-insights-EKS.md)
+ [Configuración de Información de contenedores en RedHat OpenShift en AWS (ROSA)](deploy-container-insights-RedHatOpenShift.md)

# Configuración de Información de contenedores en Amazon ECS
<a name="deploy-container-insights-ECS"></a>

Puede utilizar una de las siguientes opciones o ambas para habilitar Información de contenedores en los clústeres de Amazon ECS:
+ Utilice la Consola de administración de AWS o la AWS CLI para comenzar a recopilar métricas de nivel de clúster, de nivel de tarea y de nivel de servicio.
+ Implemente el agente de CloudWatch como servicio daemon para comenzar a recopilar métricas por instancia en clústeres alojados en instancias de Amazon EC2.

**Topics**
+ [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS-cluster.md)
+ [Configuración de Información de contenedores en Amazon ECS mediante AWS Distro para OpenTelemetry](deploy-container-insights-ECS-adot.md)
+ [Implementación del agente de CloudWatch para recopilar métricas de nivel de instancia EC2 en Amazon ECS](deploy-container-insights-ECS-instancelevel.md)
+ [Implementación de AWS Distro para OpenTelemetry a fin de recopilar métricas de nivel de instancia EC2 en clústeres de Amazon ECS](deploy-container-insights-ECS-OTEL.md)
+ [Configurar Firelens para enviar registros a registros de CloudWatch](deploy-container-insights-ECS-logs.md)

# Configuración de Información de contenedores en Amazon ECS
<a name="deploy-container-insights-ECS-cluster"></a>

Puede configurar Información de contenedores con observabilidad mejorada o Información de contenedores en clústeres de Amazon ECS nuevos y existentes mediante la consola de Amazon ECS o la AWS CLI. Información de contenedores recopila métricas en los niveles de clúster, tarea y servicio. Información de contenedores con observabilidad mejorada proporciona dimensiones y métricas adicionales, lo que le permite profundizar en la visibilidad por contenedor. 

Si está utilizando Amazon ECS en una instancia de Amazon EC2, inicie esa instancia con una AMI que incluya el agente de Amazon ECS, versión 1.29 o posterior. Para obtener información sobre cómo se actualiza la versión del agente, consulte [Actualización del agente de contenedor de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html).

**nota**  
Si la clave de AWS KMS administrada por el cliente que utiliza para las métricas de Información de contenedores de Amazon ECS aún no está configurada para funcionar con CloudWatch, debe actualizar la política de claves para permitir los registros cifrados en Registros de CloudWatch. También debe asociar su propia clave de AWS KMS al grupo de registro que se indica en `/aws/ecs/containerinsights/ClusterName/performance`. Para obtener más información, consulte [Cifrar datos de registro en los registros de CloudWatch mediante AWS Key Management Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html).

Le recomendamos que utilice Información de contenedores con observación mejorada en lugar de Información de contenedores, ya que proporciona una visibilidad detallada del entorno de contenedores y reduce el tiempo medio de resolución.

## Configuración de Información de contenedores con observabilidad mejorada
<a name="set-container-insights-ECS-cluster-enhanced"></a>

Puede activar Información de contenedores con observabilidad mejorada mediante la consola de Amazon ECS o la AWS CLI. 

------
#### [ AWS CLI ]

Utilice el siguiente comando para activar Información de contenedores con observabilidad mejorada.

 Establezca la configuración de la cuenta `containerInsights` en `enhanced`.

```
aws ecs put-account-setting --name containerInsights --value enhanced
```

Ejemplo de resultado

```
{
    "setting": {
        "name": "containerInsights",
        "value": "enhanced",
        "principalArn": "arn:aws:iam::123456789012:johndoe",
         "type": user
    }
}
```

**nota**  
De forma predeterminada, `put-account-setting` se aplica solo al usuario autenticado actualmente. Si desea habilitar la configuración en toda la cuenta para todos los usuarios y roles, utilice el usuario raíz como en el siguiente ejemplo.  

```
aws ecs put-account-setting --name containerInsights --value enhanced --principal-arn arn:aws:iam::accountID:root
```

Tras establecer esta configuración de la cuenta, todos los clústeres nuevos utilizan automáticamente Información de contenedores con observabilidad mejorada. Usa el comando `update-cluster-settings` para agregar Información de contenedores con observabilidad mejorada al clúster existente o para actualizar los clústeres que actualmente usan Información de contenedores a Información de contenedores con observabilidad mejorada.

```
aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enhanced
```

------
#### [ Amazon ECS console ]

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En la barra de navegación de la parte superior, seleccione la región para la que desea consultar la configuración de cuenta. 

1. En la página de navegación, elija **Account Settings** (Configuración de cuenta).

1. Elija **Actualizar**.

1. Para usar Información de contenedores con observabilidad mejorada, elija **Información de contenedores con observabilidad mejorada**.

1. Seleccione **Save changes (Guardar cambios)**.

1. En la pantalla de confirmación, seleccione **Confirm (Confirmar)** para guardar la selección.

Tras establecer esta configuración, todos los clústeres nuevos utilizan automáticamente Información de contenedores con observabilidad mejorada. Puede agregar Información de contenedores con observabilidad mejorada a los clústeres existentes o actualizar los clústeres que actualmente usan Información de contenedores a Información de contenedores con observabilidad mejorada. Para obtener más información, consulte [Actualización de un clúster de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-cluster-v2.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

------

## Configuración de Información de contenedores
<a name="set-container-insights-ECS-cluster"></a>

Puede activar Información de contenedores con la consola de Amazon ECS o la AWS CLI. 

------
#### [ AWS CLI ]

Para usar Información de contenedores, establezca la configuración de la cuenta `container Insights` en `enabled`. Use el siguiente comando para activar Información de contenedores.

```
aws ecs put-account-setting --name containerInsights --value enabled
```

Ejemplo de resultado

```
{
    "setting": {
        "name": "container Insights",
        "value": "enabled",
        "principalArn": "arn:aws:iam::123456789012:johndoe",
         "type": user
    }
}
```

Al establecer la configuración de la cuenta `container Insights` en `enabled`, todos los clústeres nuevos tienen habilitado Información de contenedores de forma predeterminada. Usa el comando `update-cluster-settings` para agregar Información de contenedores a un clúster existente.

```
aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enabled
```

------
#### [ Amazon ECS console ]

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En la barra de navegación de la parte superior, seleccione la región para la que desea consultar la configuración de cuenta. 

1. En la página de navegación, elija **Account Settings** (Configuración de cuenta).

1. Elija **Actualizar**.

1. Para usar Información de contenedores, seleccione **Información de contenedores**.

1. Seleccione **Save changes (Guardar cambios)**.

1. En la pantalla de confirmación, seleccione **Confirm (Confirmar)** para guardar la selección.

Tras configurarlo, todos los clústeres nuevos utilizarán Información de contenedores automáticamente. Actualice los clústeres existentes para agregar Información de contenedores. Para obtener más información, consulte [Actualización de un clúster de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-cluster-v2.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

------

# Configuración de Información de contenedores en Amazon ECS mediante AWS Distro para OpenTelemetry
<a name="deploy-container-insights-ECS-adot"></a>

Utilice esta sección si desea utilizar AWS Distro para OpenTelemetry con el fin de configurar Información de contenedores de CloudWatch en un clúster de Amazon ECS. Para obtener más información acerca de AWS Distro para Open Telemetry, consulte [AWS Distro para OpenTelemetry](https://aws.amazon.com/otel/). 

En estos pasos se da por sentado que ya cuenta con un clúster que ejecuta Amazon ECS. Para obtener más información sobre el uso de AWS Distro para OpenTelemetry con Amazon ECS y la configuración de un clúster de Amazon ECS para este fin, consulte [Configuración del recopilador de AWS Distro para OpenTelemetry en Amazon Elastic Container Service](https://aws-otel.github.io/docs/setup/ecs).

## Paso 1: Cree un rol de tarea
<a name="deploy-container-insights-ECS-adot-CreateTaskRole"></a>

El primer paso consiste en crear un rol de tarea en el clúster que el recopilador de OpenTelemetry de AWS usará.

**Cómo crear un rol de tarea para AWS Distro para OpenTelemetry**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, elija **Policies (Políticas)** y, a continuación, seleccione **Create policy (Crear política)**.

1. Elija la pestaña **JSON** y copie la siguiente política:

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

****  

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

------

1. Elija **Revisar política**.

1. En nombre, ingrese **AWSDistroOpenTelemetryPolicy**, después, elija **Create policy** (Crear política).

1. En el panel de navegación de la izquierda, elija **Roles** y, a continuación, seleccione **Create Role** (Crear rol).

1. En la lista de servicios, elija **Elastic Container Service**.

1. Debajo en la misma página, elija **Elastic Container Service Task** (Tarea de Elastic Container Service), luego **Next: Permissions** (Siguiente: Permisos).

1. En la lista de políticas, busque **AWSDistroOpenTelemetryPolicy**.

1. Marque la casilla situada junto a **AWSDistroOpenTelemetryPolicy**.

1. Elija **Next: Tags** (Siguiente: Etiquetas) y, a continuación, seleccione **Next: Review** (Siguiente: Revisar).

1. En **Role name** (Nombre de rol), ingrese **AWSOpenTelemetryTaskRole** y luego elija **Create role** (Crear rol).

## Paso 2: Cree un rol de ejecución de tarea
<a name="deploy-container-insights-ECS-adot-CreateTaskExecutionRole"></a>

El siguiente paso es crear un rol de ejecución de tareas para el recopilador OpenTelemetry de AWS.

**Cómo crear un rol de ejecución de tareas para AWS Distro para OpenTelemetry**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la izquierda, seleccione **Roles** y, a continuación, seleccione **Create Role** (Crear rol).

1. En la lista de servicios, elija **Elastic Container Service**.

1. Debajo en la misma página, elija **Elastic Container Service Task** (Tarea de Elastic Container Service), luego **Next: Permissions** (Siguiente: Permisos).

1. En la lista de políticas, busque **AmazonECSTaskExecutionRolePolicy** y, a continuación, seleccione la casilla de selección situada junto a **AmazonECSTaskExecutionRolePolicy**.

1. En la lista de políticas, busque **CloudWatchLogsFullAccess** y, a continuación, seleccione la casilla de selección situada junto a **CloudWatchLogsFullAccess**.

1. En la lista de políticas, busque **AmazonSSMReadOnlyAccess** y, a continuación, seleccione la casilla de selección situada junto a **AmazonSSMReadOnlyAccess**.

1. Elija **Next: Tags** (Siguiente: Etiquetas) y, a continuación, seleccione **Next: Review** (Siguiente: Revisar).

1. En **Role name** (Nombre de rol), ingrese **AWSOpenTelemetryTaskExecutionRole** y luego elija **Create role** (Crear rol).

## Paso 3: Cree una definición de tarea
<a name="deploy-container-insights-ECS-adot-CreateTaskDefinition"></a>

El siguiente paso es crear una definición de tarea.

**Cómo crear una definición de tarea para AWS Distro para OpenTelemetry**

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En el panel de navegación, elija **Task definitions** (Definiciones de tareas).

1. Elija **Create new task definition** (Crear nueva definición de tarea) y **Create new task definition** (Crear nueva definición de tarea).

1. Para **Task definition family** (Familia de definiciones de tareas), especifique un nombre único para la definición de tareas.

1. Configure los contenedores y, a continuación, elija **Siguiente**.

1. En **Métricas y registro**, seleccione **Usar recopilación de métricas**.

1. Elija **Next (Siguiente)**.

1. Seleccione **Create (Crear)**.

Para obtener más información sobre el uso del recopilador de AWS OpenTelemetry con Amazon ECS, consulte [Configuración del recopilador de AWS Distro para OpenTelemetry en Amazon Elastic Container Service](https://aws-otel.github.io/docs/setup/ecs).

## Paso 4: Ejecute la tarea
<a name="deploy-container-insights-ECS-adot-CreateTaskDefinition"></a>

El paso final es ejecutar la tarea que ha creado.

**Cómo ejecutar la tarea de AWS Distro para OpenTelemetry**

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En el panel de navegación izquierdo, elija **Task Definitions** (Definiciones de tarea) y, a continuación, seleccione la tarea que acaba de crear.

1. Seleccione **Acciones**, **Implementar** y **Ejecutar tarea**. 

1. Elija **Deploy** (Implementar), **Run task** (Ejecución de tareas).

1. En la sección **Opciones de procesamiento**, en **Clúster existente**, elija el clúster.

1. Seleccione **Crear**.

1. A continuación, puede verificar las métricas nuevas en la consola de CloudWatch.

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación izquierdo, en **Metrics** (Métricas).

   Debería ver un espacio de nombres **ECS/ContainerInsights** Elija ese espacio de nombres, se deberían ver ocho métricas.

# Implementación del agente de CloudWatch para recopilar métricas de nivel de instancia EC2 en Amazon ECS
<a name="deploy-container-insights-ECS-instancelevel"></a>

Para implementar el agente de CloudWatch a fin de recopilar métricas de nivel de instancia de los clústeres de Amazon ECS alojados en instancias EC2, utilice una configuración de inicio rápido con una configuración predeterminada o instale el agente manualmente para poder personalizarlo.

Ambos métodos requieren que tenga al menos un clúster de Amazon ECS implementado con un tipo de lanzamiento de EC2 y que el contenedor del agente de CloudWatch tenga acceso al servicio de metadatos de instancias de Amazon EC2 (IMDS). Para más información, consulte [Metadatos de instancia y datos de usuario](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).

Estos métodos también suponen que tiene instalada la AWS CLI. Además, para ejecutar los comandos en los procedimientos siguientes, debe iniciar sesión en una cuenta o rol que tenga las políticas **IAMFullAccess** y **AmazonECS\$1FullAccess**.

**importante**  
Al definir el contenedor del agente de CloudWatch en la definición de la tarea, configure `essential: false`. Esto evita que todo el servicio de Amazon ECS se detenga si el contenedor del agente de CloudWatch falla. Otros contenedores de aplicaciones críticas continuarán ejecutándose incluso si el agente no está disponible temporalmente.

**Topics**
+ [Configuración rápida mediante CloudFormation](#deploy-container-insights-ECS-instancelevel-quickstart)
+ [Configuración manual y personalizada](#deploy-container-insights-ECS-instancelevel-manual)

## Configuración rápida mediante CloudFormation
<a name="deploy-container-insights-ECS-instancelevel-quickstart"></a>

Para utilizar la configuración rápida, escriba el siguiente comando para usar CloudFormation a fin de instalar el agente. Sustituya *cluster-name* (cluster-nombre) y *cluster-region* (clúster-región) por el nombre y la región del clúster de Amazon ECS.

Este comando crea los roles de IAM **CWAgentECSTaskRole** y **CWAgentECSExecutionRole**. Si estos roles ya existen en su cuenta, utilice `ParameterKey=CreateIAMRoles,ParameterValue=False` en lugar de `ParameterKey=CreateIAMRoles,ParameterValue=True` cuando escriba el comando. De lo contrario, el comando fallará.

```
ClusterName=cluster-name
Region=cluster-region
curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cloudformation-quickstart/cwagent-ecs-instance-metric-cfn.json
aws cloudformation create-stack --stack-name CWAgentECS-${ClusterName}-${Region} \
    --template-body file://cwagent-ecs-instance-metric-cfn.json \
    --parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \
                 ParameterKey=CreateIAMRoles,ParameterValue=True \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${Region}
```

**(Alternativa) Uso de sus propios roles de IAM**

Si desea utilizar su propio rol de tarea de ECS personalizado y el rol de ejecución de tareas de ECS en lugar de los roles **CWAgentECSTaskRole** y **CWAgentECSExecutionRole**, asegúrese primero de que el rol que se va a usar como rol de tarea de ECS tiene **CloudWatchAgentServerPolicy** asociada. Además, asegúrese de que el rol que se va a utilizar como rol de ejecución de tareas de ECS tiene asociadas las políticas **CloudWatchAgentServerPolicy** y **AmazonECSTaskExecutionRolePolicy**. A continuación, escriba el siguiente comando. En el comando, sustituya *task-role-arn* por el ARN de su rol de tarea de ECS personalizado y *execution-role-arn* por el ARN de su rol de ejecución de tareas de ECS personalizado.

```
ClusterName=cluster-name
Region=cluster-region
TaskRoleArn=task-role-arn
ExecutionRoleArn=execution-role-arn
curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cloudformation-quickstart/cwagent-ecs-instance-metric-cfn.json
aws cloudformation create-stack --stack-name CWAgentECS-${ClusterName}-${Region} \
    --template-body file://cwagent-ecs-instance-metric-cfn.json \
    --parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \
                 ParameterKey=TaskRoleArn,ParameterValue=${TaskRoleArn} \
                 ParameterKey=ExecutionRoleArn,ParameterValue=${ExecutionRoleArn} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${Region}
```

**Solución de problemas de la configuración rápida**

Para comprobar el estado de la pila de CloudFormation, escriba el siguiente comando.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stacks --stack-name CWAgentECS-$ClusterName-$Region --region $Region
```

Si ve que el `StackStatus` es distinto de `CREATE_COMPLETE` o `CREATE_IN_PROGRESS`, compruebe los eventos de pila para encontrar el error. Escriba el siguiente comando.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stack-events --stack-name CWAgentECS-$ClusterName-$Region --region $Region
```

Para verificar el estado del servicio del servicio del daemon `cwagent`, ingrese el siguiente comando. En la salida, debería ver que el `runningCount` es igual al `desiredCount` en la sección `deployment`. Si no es igual, compruebe la sección `failures` en la salida.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs describe-services --services cwagent-daemon-service --cluster $ClusterName --region $Region
```

También puede utilizar la consola de CloudWatch Logs para verificar el registro del agente. Busque el grupo de registro **/ecs/ecs-cwagent-daemon-service**.

**Eliminación de la pila de CloudFormation del agente de CloudWatch**

Si necesita eliminar la pila de CloudFormation, escriba el siguiente comando.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation delete-stack --stack-name CWAgentECS-${ClusterName}-${Region} --region ${Region}
```

## Configuración manual y personalizada
<a name="deploy-container-insights-ECS-instancelevel-manual"></a>

Siga los pasos de esta sección para implementar manualmente el agente de CloudWatch para recopilar métricas de nivel de instancia de los clústeres de Amazon ECS alojados en instancias EC2.

### Políticas y roles de IAM necesarios
<a name="deploy-container-insights-ECS-instancelevel-IAMRoles"></a>

Se requieren dos roles de IAM. Debe crearlos si aún no existen. Para obtener más información sobre estos roles, consulte [IAM roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) (Roles IAM para tareas) y [Amazon ECS Task Execution Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) (Rol de ejecución de tareas de Amazon ECS).
+ Un *ECS task role* (rol de tarea de ECS), que el agente de CloudWatch utiliza para publicar métricas. Si este rol ya existe, debe asegurarse de que tiene la política `CloudWatchAgentServerPolicy` asociada.
+ Un *ECS task execution role* (rol de ejecución de tareas de ECS), que el agente de Amazon ECS utiliza para lanzar el agente de CloudWatch. Si este rol ya existe, debe asegurarse de que tiene las políticas `AmazonECSTaskExecutionRolePolicy` y `CloudWatchAgentServerPolicy` asociadas.

Si aún no dispone de estos roles, puede utilizar los siguientes comandos para crearlos y asociar las políticas necesarias. Este primer comando crea el rol de tarea de ECS.

```
aws iam create-role --role-name CWAgentECSTaskRole \
    --assume-role-policy-document "{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Sid\": \"\",\"Effect\": \"Allow\",\"Principal\": {\"Service\": \"ecs-tasks.amazonaws.com\"},\"Action\": \"sts:AssumeRole\"}]}"
```

Después de escribir el comando anterior, anote el valor de `Arn` de la salida de los comandos como “TaskRoleArn”. Tendrá que usarse más tarde cuando se cree la definición de tarea. A continuación, escriba el siguiente comando para asociar las políticas necesarias.

```
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
    --role-name CWAgentECSTaskRole
```

Este siguiente comando crea el rol de ejecución de tareas de ECS.

```
aws iam create-role --role-name CWAgentECSExecutionRole \
    --assume-role-policy-document "{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Sid\": \"\",\"Effect\": \"Allow\",\"Principal\": {\"Service\": \"ecs-tasks.amazonaws.com\"},\"Action\": \"sts:AssumeRole\"}]}"
```

Después de escribir el comando anterior, anote el valor de `Arn` de la salida de los comandos como “ExecutionRoleArn”. Tendrá que usarse más tarde cuando se cree la definición de tarea. A continuación, escriba los siguientes comandos para asociar las políticas necesarias.

```
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
    --role-name CWAgentECSExecutionRole
          
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy \
    --role-name CWAgentECSExecutionRole
```

### Cree la definición de tarea y lance el servicio del daemon
<a name="deploy-container-insights-ECS-instancelevel-taskdefinition"></a>

Cree una definición de tarea y úsela para lanzar el agente de CloudWatch como servicio del daemon. Para crear la definición de tarea, escriba el siguiente comando. En las primeras líneas, sustituya los marcadores de posición con los valores reales de la implementación. *logs-region* es la región de la ubicación de Registros de CloudWatch, mientras que *cluster-region* es la región en la se encuentra el clúster. *task-role-arn* es el Arn del rol de tarea de ECS que utiliza, mientras que *execution-role-arn* es el Arn del rol de puesta en marcha de tareas de ECS.

```
TaskRoleArn=task-role-arn
ExecutionRoleArn=execution-role-arn
AWSLogsRegion=logs-region
Region=cluster-region
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cwagent-ecs-instance-metric.json \
    | sed "s|{{task-role-arn}}|${TaskRoleArn}|;s|{{execution-role-arn}}|${ExecutionRoleArn}|;s|{{awslogs-region}}|${AWSLogsRegion}|" \
    | xargs -0 aws ecs register-task-definition --region ${Region} --cli-input-json
```

A continuación, ejecute el siguiente comando para lanzar el servicio de daemon. Sustituya *cluster-name* y *cluster-region* por el nombre y la Región del clúster de Amazon ECS.

**importante**  
Elimine todas las estrategias del proveedor de capacidad antes de ejecutar este comando. De lo contrario, el comando no funcionará.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs create-service \
    --cluster ${ClusterName} \
    --service-name cwagent-daemon-service \
    --task-definition ecs-cwagent-daemon-service \
    --scheduling-strategy DAEMON \
    --region ${Region}
```

Si aparece este mensaje de error, `An error occurred (InvalidParameterException) when calling the CreateService operation: Creation of service was not idempotent`, ya ha creado un servicio de daemon llamado `cwagent-daemon-service`. Debe eliminar ese servicio primero, utilizando el siguiente comando como ejemplo.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs delete-service \
    --cluster ${ClusterName} \
    --service cwagent-daemon-service \
    --region ${Region} \
    --force
```

### (Opcional) Configuración avanzada
<a name="deploy-container-insights-ECS-instancelevel-advanced"></a>

Opcionalmente, puede utilizar SSM para especificar otras opciones de configuración para el agente de CloudWatch en los clústeres de Amazon ECS alojados en instancias EC2. Estas opciones son las siguientes:
+ `metrics_collection_interval`: la frecuencia en segundos con la que el agente de CloudWatch recopila métricas. El valor predeterminado es 60. El rango va de 1 a 172 000.
+ `endpoint_override`: (opcional) especifica un punto de enlace diferente al que enviar los registros. Es posible que desee hacerlo si realiza la publicación desde un clúster de una VPC y desea que los datos de registro vayan a un punto de enlace de la VPC.

  El valor de `endpoint_override` debe ser una cadena que sea una URL.
+ `force_flush_interval`: especifica en segundos la cantidad máxima de tiempo que los registros permanecen en el búfer de memoria antes de enviarse al servidor. Independientemente del valor de este campo, si el tamaño de los registros en el búfer alcanza 1 MB, los registros se envían inmediatamente al servidor. El valor predeterminado es 5 segundos.
+ `region`: de forma predeterminada, el agente publica métricas en la misma Región en la que se encuentra la instancia de contenedor de Amazon ECS. Para anular esto, puede especificar una región diferente aquí. Por ejemplo: ., `"region" : "us-east-1"`

A continuación, se muestra un ejemplo de una configuración personalizada:

```
{
    "agent": {
        "region": "us-east-1"
    },
    "logs": {
        "metrics_collected": {
            "ecs": {
                "metrics_collection_interval": 30
            }
        },
        "force_flush_interval": 5
    }
}
```

**Para personalizar la configuración del agente de CloudWatch en los contenedores de Amazon ECS**

1. Asegúrese de que la política **AmazonSSMReadOnlyAccess** esté asociada al rol de ejecución de tarea de Amazon ECS. Para ello, puede escribir el siguiente comando. Este ejemplo presupone que el rol de ejecución de tarea de Amazon ECS es CWAgentECSExecutionRole. Si utiliza otro rol, sustituya el nombre de ese rol en el siguiente comando.

   ```
   aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess \
           --role-name CWAgentECSExecutionRole
   ```

1. Cree el archivo de configuración personalizado de forma similar al ejemplo anterior. Asigne a este archivo el nombre `/tmp/ecs-cwagent-daemon-config.json`.

1. Ejecute el siguiente comando para colocar esta configuración en el almacén de parámetros. Sustituya *cluster-region* por la Región del clúster de Amazon ECS. Para ejecutar este comando, debe iniciar sesión en un usuario o rol que tenga la política **AmazonSSMFullAccess**.

   ```
   Region=cluster-region
   aws ssm put-parameter \
       --name "ecs-cwagent-daemon-service" \
       --type "String" \
       --value "`cat /tmp/ecs-cwagent-daemon-config.json`" \
       --region $Region
   ```

1. Descargue el archivo de definición de tarea en un archivo local, como `/tmp/cwagent-ecs-instance-metric.json`

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cwagent-ecs-instance-metric.json -o /tmp/cwagent-ecs-instance-metric.json
   ```

1. Modifique el archivo de definición de tarea. Elimine la siguiente sección:

   ```
   "environment": [
                   {
                       "name": "USE_DEFAULT_CONFIG",
                       "value": "True"
                   }
               ],
   ```

   Sustituya esa sección por la siguiente:

   ```
   "secrets": [
                   {
                       "name": "CW_CONFIG_CONTENT",
                       "valueFrom": "ecs-cwagent-daemon-service"
                   }
               ],
   ```

1. Reinicie el agente como servicio de daemon siguiendo estos pasos:

   1. Ejecute el siguiente comando.

      ```
      TaskRoleArn=task-role-arn
      ExecutionRoleArn=execution-role-arn
      AWSLogsRegion=logs-region
      Region=cluster-region
      cat /tmp/cwagent-ecs-instance-metric.json \
          | sed "s|{{task-role-arn}}|${TaskRoleArn}|;s|{{execution-role-arn}}|${ExecutionRoleArn}|;s|{{awslogs-region}}|${AWSLogsRegion}|" \
          | xargs -0 aws ecs register-task-definition --region ${Region} --cli-input-json
      ```

   1. Ejecute el siguiente comando para lanzar el servicio de daemon. Sustituya *cluster-name* y *cluster-region* por el nombre y la Región del clúster de Amazon ECS.

      ```
      ClusterName=cluster-name
      Region=cluster-region
      aws ecs create-service \
          --cluster ${ClusterName} \
          --service-name cwagent-daemon-service \
          --task-definition ecs-cwagent-daemon-service \
          --scheduling-strategy DAEMON \
          --region ${Region}
      ```

      Si aparece este mensaje de error, `An error occurred (InvalidParameterException) when calling the CreateService operation: Creation of service was not idempotent`, ya ha creado un servicio de daemon llamado `cwagent-daemon-service`. Debe eliminar ese servicio primero, utilizando el siguiente comando como ejemplo.

      ```
      ClusterName=cluster-name
      Region=Region
      aws ecs delete-service \
          --cluster ${ClusterName} \
          --service cwagent-daemon-service \
          --region ${Region} \
          --force
      ```

# Implementación de AWS Distro para OpenTelemetry a fin de recopilar métricas de nivel de instancia EC2 en clústeres de Amazon ECS
<a name="deploy-container-insights-ECS-OTEL"></a>

Siga los pasos de esta sección para usar AWS Distro para OpenTelemetry a fin de recopilar métricas de nivel de instancia EC2 en un clúster de Amazon ECS. Para obtener más información acerca de AWS Distro para OpenTelemetry, consulte [AWS Distro para OpenTelemetry](https://aws.amazon.com/otel/).

En estos pasos se presupone que ya tiene un clúster que ejecuta Amazon ECS. Este clúster debe implementarse con el tipo de lanzamiento EC2. Para obtener más información acerca del uso de AWS Distro para OpenTelemetry con Amazon ECS y acerca de la configuración de un clúster de Amazon ECS para este fin, consulte [Configuración del recopilador de AWS Distro para OpenTelemetry en las métricas de nivel de instancia EC2 de Amazon Elastic Container Service para ECS EC2](https://aws-otel.github.io/docs/setup/ecs#3-setup-the-aws-otel-collector-for-ecs-ec2-instance-metrics). 

**Topics**
+ [Configuración rápida mediante CloudFormation](#container-insights-ECS-OTEL-quicksetup)
+ [Configuración manual y personalizada](#container-insights-ECS-OTEL-custom)

## Configuración rápida mediante CloudFormation
<a name="container-insights-ECS-OTEL-quicksetup"></a>

Descargue el archivo de plantilla de CloudFormation para instalar el recopilador AWS Distro para OpenTelemetry para Amazon ECS en EC2. Ejecute el siguiente comando curl.

```
curl -O https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/ecs/aws-otel-ec2-instance-metrics-daemon-deployment-cfn.yaml
```

Después de descargar el archivo de plantilla, ábralo y reemplace *PATH\$1TO\$1CloudFormation\$1TEMPLATE* con la ruta donde guardó el archivo de plantilla. A continuación, exporte los siguientes parámetros y ejecute el comando CloudFormation, tal y como se muestra en el siguiente comando.
+ **Cluster\$1Name**: el nombre del clúster de Amazon ECS
+ **AWS\$1Region**: la Región a la que se enviarán los datos
+ **PATH\$1TO\$1CloudFormation\$1TEMPLATE**: la ruta en la que guardó el archivo de plantilla de CloudFormation.
+ **comando**: para habilitar el recopilador de AWS Distro para OpenTelemetry para que recopile las métricas de nivel de instancia para Amazon ECS en Amazon EC2, debe especificar `--config=/etc/ecs/otel-instance-metrics-config.yaml` para este parámetro.

```
ClusterName=Cluster_Name
Region=AWS_Region
command=--config=/etc/ecs/otel-instance-metrics-config.yaml
aws cloudformation create-stack --stack-name AOCECS-${ClusterName}-${Region} \
--template-body file://PATH_TO_CloudFormation_TEMPLATE \
--parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \
ParameterKey=CreateIAMRoles,ParameterValue=True \
ParameterKey=command,ParameterValue=${command} \
--capabilities CAPABILITY_NAMED_IAM \
--region ${Region}
```

Después de ejecutar este comando, utilice la consola de Amazon ECS para ver si la tarea se está ejecutando.

### Solución de problemas de la configuración rápida
<a name="container-insights-ECS-OTEL-quicksetup-troubleshooting"></a>

Para comprobar el estado de la pila de CloudFormation, escriba el siguiente comando.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stack --stack-name AOCECS-$ClusterName-$Region --region $Region
```

Si ve que el valor de `StackStatus` es distinto de `CREATE_COMPLETE` o `CREATE_IN_PROGRESS`, verifique los eventos de pila para encontrar el error. Escriba el siguiente comando.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stack-events --stack-name AOCECS-$ClusterName-$Region --region $Region
```

Para verificar el estado del servicio del daemon `AOCECS`, ingrese el siguiente comando. En la salida, debería ver que el `runningCount` es igual al `desiredCount` en la sección de implementación. Si no es igual, verifique la sección de errores en la salida.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs describe-services --services AOCECS-daemon-service --cluster $ClusterName --region $Region
```

También puede utilizar la consola de CloudWatch Logs para verificar el registro del agente. Busque el grupo de registro **/aws/ecs/containerinsights/\$1ClusterName\$1/performance**.

## Configuración manual y personalizada
<a name="container-insights-ECS-OTEL-custom"></a>

Siga los pasos de esta sección para implementar manualmente AWS Distro para OpenTelemetry a fin de recopilar métricas de nivel de instancia de los clústeres de Amazon ECS alojados en instancias de Amazon EC2.

### Paso 1: Políticas y roles necesarios
<a name="container-insights-ECS-OTEL-custom-iam"></a>

Se requieren dos roles de IAM. Debe crearlos si aún no existen. Para obtener más información sobre los roles, consulte [Create IAM policy](https://aws-otel.github.io/docs/setup/ecs/create-iam-policy) (Crear una política de IAM) y [Create IAM role](https://aws-otel.github.io/docs/setup/ecs/create-iam-role) (Crear un rol de IAM).

### Paso 2: Cree una definición de tarea
<a name="container-insights-ECS-OTEL-custom-task"></a>

Cree una definición de tarea y úsela para lanzar AWS Distro para OpenTelemetry como servicio del daemon.

Si desea utilizar la plantilla de definición de tareas para la creación de uno de esos recursos, siga las instrucciones que aparecen en [Crear una definición de tarea de EC2 de ECS para una instancia de EC2 con el recopilador de AWS OTel](https://aws-otel.github.io/docs/setup/ecs/task-definition-for-ecs-ec2-instance).

Si desea utilizar la consola de Amazon ECS para crear la definición de tarea, siga las instrucciones que aparecen en [Instalar el recopilador de AWS OTel mediante la creación de una definición de tarea a través de la consola de AWS para métricas de instancias de EC2 de Amazon ECS](https://aws-otel.github.io/docs/setup/ecs/create-task-definition-instance-console).

### Paso 3: Lance el servicio del daemon
<a name="container-insights-ECS-OTEL-custom-launch"></a>

Para lanzar AWS Distro para OpenTelemetry como un servicio daemon, siga las instrucciones que se indican en [Ejecutar la tarea en Amazon Elastic Container Service (Amazon ECS) con el servicio del daemon](https://aws-otel.github.io/docs/setup/ecs/run-daemon-service).

### (Opcional) Configuración avanzada
<a name="container-insights-ECS-OTEL-custom-advancdeconfig"></a>

Opcionalmente, puede utilizar SSM para especificar otras opciones de configuración para AWS Distro para OpenTelemetry en los clústeres de Amazon ECS alojados en instancias de Amazon EC2. Para obtener más información sobre la creación de un archivo de configuración, consulte [Custom OpenTelemetry Configuration](https://aws-otel.github.io/docs/setup/ecs#5-custom-opentelemetry-configuration) (Configuración personalizada de OpenTelemetry). Para obtener más información acerca de las opciones que pueden usarse en el archivo de configuración, consulte [Receptor de Información de contenedores de AWS](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/awscontainerinsightreceiver/README.md).

# Configurar Firelens para enviar registros a registros de CloudWatch
<a name="deploy-container-insights-ECS-logs"></a>

FireLens para Amazon ECS le permite utilizar parámetros de definición de tarea para dirigir registros a Amazon CloudWatch Logs para el almacenamiento y el análisis de registros. FireLens funciona con [Fluent Bit](https://fluentbit.io/) y [Fluentd](https://www.fluentd.org/). AWS le proporciona una imagen Fluent Bit o puede utilizar su propia imagen de Fluentd o Fluent Bit. La creación de definiciones de tareas de Amazon ECS con una configuración de FireLens se admite mediante los SDK de AWS, la AWS CLI y la Consola de administración de AWS. Para obtener más información sobre CloudWatch Logs, consulte [What is CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) (¿Qué es CloudWatch Logs?).

Existen consideraciones clave al utilizar FireLens para Amazon ECS. Para obtener información, consulte [Considerations](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-considerations) (Consideraciones).

Para buscar las imágenes de AWS para Fluent Bit, consulte [ Uso de AWS para la imagen de Fluent Bit](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/firelens-using-fluentbit.html).

Para crear una definición de tarea que utilice una configuración FireLens, consulte [Creating a task definition that uses a FireLens configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/firelens-taskdef.html) (Creación de una definición de tarea que utilice una configuración de FireLens).

**Ejemplo**

En el siguiente ejemplo de definición de tarea se muestra cómo se especifica una configuración de registro que reenvíe registros a un grupo de registros de CloudWatch Logs. Para obtener más información, consulte [¿Qué es Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) en la *Guía del usuario de Amazon CloudWatch Logs*.

En las opciones de configuración de registro, especifique el nombre del grupo de registro y la región en la que existe. Para que Fluent Bit cree el grupo de registro en su nombre, especifique `"auto_create_group":"true"`. También puede especificar el ID de la tarea como prefijo del flujo de registros, para facilitar el filtrado. Para obtener más información, consulte la sección [Fluent Bit Plugin for CloudWatch Logs](https://github.com/aws/amazon-cloudwatch-logs-for-fluent-bit/blob/mainline/README.md).

```
{
	"family": "firelens-example-cloudwatch",
	"taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role",
	"containerDefinitions": [
		{
			"essential": true,
			"image": "906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:latest",
			"name": "log_router",
			"firelensConfiguration": {
				"type": "fluentbit"
			},
			"logConfiguration": {
				"logDriver": "awslogs",
				"options": {
					"awslogs-group": "firelens-container",
					"awslogs-region": "us-west-2",
					"awslogs-create-group": "true",
					"awslogs-stream-prefix": "firelens"
				}
			},
			"memoryReservation": 50
		 },
		 {
			 "essential": true,
			 "image": "nginx",
			 "name": "app",
			 "logConfiguration": {
				 "logDriver":"awsfirelens",
				 "options": {
					"Name": "cloudwatch_logs",
					"region": "us-west-2",
					"log_key": "log",
                                 "log_group_name": "/aws/ecs/containerinsights/my-cluster/application",
					"auto_create_group": "true",
					"log_stream_name": "my-task-id"
				}
			},
			"memoryReservation": 100
		}
	]
}
```

# Configuración de Información de contenedores en Amazon EKS y Kubernetes
<a name="deploy-container-insights-EKS"></a>

Información de contenedores es compatible con las versiones 1.23 y posteriores de Amazon EKS. El método de instalación de inicio rápido solo es compatible con las versiones 1.24 y posteriores.

El proceso general para configurar Información de contenedores en Amazon EKS o Kubernetes es el siguiente:

1. Compruebe que se cumplen los requisitos previos necesarios.

1. Configure el complemento de observabilidad de EKS de Amazon CloudWatch, el agente de CloudWatch o Distro para OpenTelemetry de AWS en el clúster para que envíe métricas a CloudWatch. 
**nota**  
Para usar Información de contenedores con observabilidad mejorada para Amazon EKS, debe usar el complemento de observabilidad de EKS de Amazon CloudWatch o el agente CloudWatch. Para obtener más información sobre Información de contenedores, consulte [Información de contenedores con observabilidad mejorada para Amazon EKS](container-insights-detailed-metrics.md).  
Para usar Información de contenedores con Fargate, debe usar Distro para OpenTelemetry de AWS. Fargate no admite Información de contenedores con observabilidad mejorada para Amazon EKS.
**nota**  
Información de contenedores ahora es compatible con los nodos de trabajo de Windows en un clúster de Amazon EKS. Información de contenedores con observabilidad mejorada para Amazon EKS también es compatible con Windows. Para obtener información sobre cómo habilitar Información de contenedores en Windows, consulte [Uso del agente CloudWatch con observabilidad mejorada de Información de contenedores habilitada](Container-Insights-EKS-agent.md).

   Para usar Información de contenedores con métricas de OpenTelemetry, instale la versión `v6.0.1-eksbuild.1` o posterior del complemento de observabilidad de EKS de Amazon CloudWatch. Para obtener más información, consulte [Información de contenedores con métricas de OpenTelemetry para Amazon EKS](container-insights-otel-metrics.md).

   Configure Fluent Bit o FluentD para enviar registros a registros de CloudWatch. (Esta opción está habilitada de forma predeterminada si instala el complemento de observabilidad de EKS de Amazon CloudWatch).

   Puede realizar estos pasos a la vez como parte de la configuración de inicio rápido si está utilizando el agente de CloudWatch o realizarlos por separado.

1. (Opcional) Configure el registro del plano de control de Amazon EKS.

1. (Opcional) Configure el agente de CloudWatch como un punto de enlace de StatsD en el clúster para que envíe las métricas de StatsD a CloudWatch.

1. (Opcional) Habilite App Mesh Envoy Access Logs.

Con la versión original de Información de contenedores, las métricas recopiladas y los registros incorporados se cobran como métricas personalizadas. Con Información de contenedores, con una observabilidad mejorada para Amazon EKS, las métricas y los registros de Información de contenedores se cobran por observación en lugar de cobrarse por métrica almacenada o registro incorporado. Para obtener más información sobre los precios de CloudWatch, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

**Topics**
+ [Verificación de los requisitos previos de Información de contenedores en CloudWatch](Container-Insights-prerequisites.md)
+ [Uso del agente CloudWatch con observabilidad mejorada de Información de contenedores habilitada](Container-Insights-EKS-agent.md)
+ [Uso de AWS Distro para OpenTelemetry](Container-Insights-EKS-otel.md)
+ [Envíe los registros a CloudWatch Logs](Container-Insights-EKS-logs.md)
+ [Actualización o eliminación de Información de contenedores en Amazon EKS y en Kubernetes](ContainerInsights-update-delete.md)

# Verificación de los requisitos previos de Información de contenedores en CloudWatch
<a name="Container-Insights-prerequisites"></a>

Antes de instalar Información de contenedores en Amazon EKS o Kubernetes, verifique lo siguiente: Estos prerrequisitos se aplican tanto si utiliza el agente de CloudWatch como AWS Distro para OpenTelemetry a fin de configurar Información de contenedores en clústeres de Amazon EKS.
+ Cuenta con un clúster funcional de Amazon EKS o de Kubernetes con nodos asociados en una de las Regiones que admite Información de contenedores para Amazon EKS y Kubernetes. Para ver la lista de las regiones de admitidas, consulte [Información de contenedores](ContainerInsights.md).
+ Tiene `kubectl` instalado y se está ejecutando. Para obtener más información, consulte [Installing `kubectl`](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) en la *Guía del usuario de Amazon EKS*.
+ Si utiliza Kubernetes con AWS en lugar de utilizar Amazon EKS, los siguientes prerrequisitos también son necesarios:
  + Asegúrese de que el clúster de Kubernetes tiene activado el control de acceso basado en roles (RBAC). Para obtener más información, consulte [Using RBAC Authorization](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) en la documentación de Kubernetes. 
  + El kubelet ha habilitado el modo de autorización de Webhook. Para obtener más información, consulte [Kubelet authentication/authorization](https://kubernetes.io/docs/reference/access-authn-authz/kubelet-authn-authz/) en la documentación de Kubernetes.

También debe conceder permisos de IAM para permitir que los nodos de trabajo de Amazon EKS envíen métricas y registros a CloudWatch. Hay dos formas de hacer esto:
+ Adjunte una política al rol de IAM de los nodos de trabajo. Esto funciona tanto para clústeres de Amazon EKS como para otros clústeres de Kubernetes.
+ Utilice un rol de IAM para las cuentas de servicio para el clúster y adjunte la política a este rol. Esto solo funciona para clústeres de Amazon EKS.

La primera opción concede permisos a CloudWatch para todo el nodo, mientras que el uso de un rol de IAM para la cuenta de servicio da acceso a CloudWatch sólo a los pods adecuados de DaemonSet .

**Asociación de una política al rol de IAM de los nodos de trabajo**

Siga estos pasos para adjuntar la política al rol de IAM de los nodos de trabajo. Esto funciona tanto para los clústeres de Amazon EKS como para clústeres de Kubernetes fuera de Amazon EKS. 

**Para adjuntar la política necesaria al rol de IAM de los nodos de trabajo**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Seleccione una de las instancias de nodo de trabajo y elija el rol de IAM en la descripción.

1. En la página del rol de IAM, elija **Attach policies** (Adjuntar políticas).

1. En la lista de políticas, seleccione la casilla junto a **CloudWatchAgentServerPolicy**. Si es necesario, utilice el cuadro de búsqueda para encontrar la política.

1. Seleccione **Asociar políticas**.

Si está ejecutando un clúster de Kubernetes fuera de Amazon EKS, es posible que no tenga adjunto un rol de IAM a los nodos de trabajo. En ese caso, primero debe adjuntar un rol de IAM a la instancia y, a continuación, agregar la política tal y como se explica en los pasos anteriores. Para obtener más información sobre cómo se asocia un rol a una instancia, consulte [Attaching an IAM Role to an Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role) en la *Guía del usuario de Amazon EC2*.

Si ejecuta un clúster de Kubernetes fuera de Amazon EKS y desea que se recopilen las id. de volumen de EBS en las métricas, debe agregar otra política al rol de IAM asociado a la instancia. Añada lo siguiente como política insertada. Para obtener más información consulte [Adding and Removing IAM Identity Permissions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) (Incorporación y eliminación de permisos de identidad de IAM) en la *Guía del usuario de IAM*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:DescribeVolumes"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

**Uso de un rol de cuenta de servicio de IAM**

Este método solo funciona en clústeres de Amazon EKS.

**Para conceder permiso a CloudWatch con un rol de cuenta de servicio IAM**

1. Si aún no lo ha hecho, debe habilitar los roles de IAM para las cuentas de servicio en el clúster. Para obtener más información, consulte [Habilitación de roles de IAM para cuentas de servicio en el clúster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). 

1. Si aún no lo ha hecho, debe configurar la cuenta de servicio para usar un rol de IAM. Para obtener más información, consulte [Configuración de una cuenta de servicio de Kubernetes para asumir un rol de IAM](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html). 

   Cuando cree el rol, adjunte la política de IAM **CloudWatchAgentServerPolicy** al rol además de la política que cree para el rol. Además, la cuenta de servicio de Kubernetes asociada que está vinculada a este rol debe crearse en el espacio de nombres de `amazon-cloudwatch`, donde se implementarán los daemonsets CloudWatch y Fluent Bit en los próximos pasos

1. Si aún no lo ha hecho, debe adjuntar el rol de IAM con una cuenta de servicio en el clúster. Para obtener más información, consulte [Configuración de una cuenta de servicio de Kubernetes para asumir un rol de IAM](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html).

# Uso del agente CloudWatch con observabilidad mejorada de Información de contenedores habilitada
<a name="Container-Insights-EKS-agent"></a>

Utilice las instrucciones de una de las siguientes secciones para configurar Información de contenedores en un clúster de Amazon EKS o un clúster de Kubernetes mediante el agente de CloudWatch. El método de instalación de inicio rápido solo es compatible con las versiones 1.24 y posteriores de Amazon EKS.

**nota**  
Puede instalar Información de contenedores siguiendo las instrucciones de cualquiera de las siguientes secciones. No es necesario seguir los tres conjuntos de instrucciones.

**Topics**
+ [Inicio rápido con el complemento de observabilidad de EKS de Amazon CloudWatch](Container-Insights-setup-EKS-addon.md)
+ [Configuración de inicio rápido para Información de contenedores en Amazon EKS y Kubernetes](Container-Insights-setup-EKS-quickstart.md)
+ [Configuración del agente de CloudWatch para recopilar las métricas del clúster](Container-Insights-setup-metrics.md)

# Inicio rápido con el complemento de observabilidad de EKS de Amazon CloudWatch
<a name="Container-Insights-setup-EKS-addon"></a>

Puede usar el complemento Amazon EKS para instalar Información de contenedores con observabilidad mejorada para Amazon EKS. El complemento instala el agente de CloudWatch para enviar métricas de infraestructura desde el clúster, instala Fluent Bit para enviar los registros del contenedor y también permite a [Application Signals](CloudWatch-Application-Monitoring-Sections.md) de CloudWatch enviar la telemetría de rendimiento de las aplicaciones.

Cuando utiliza la versión 1.5.0 o posterior del complemento de Amazon EKS, Información de contenedores se habilita en los nodos de trabajo de Linux y Windows del clúster. Application Signals no es compatible con Windows en Amazon EKS.

El complemento Amazon EKS no es compatible con los clústeres que ejecutan Kubernetes en lugar de Amazon EKS.

Para obtener más información acerca del complemento observabilidad EKS de Amazon CloudWatch, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md).

Si usa la versión 3.1.0 o una versión posterior del complemento, puede usar EKS Pod Identity para conceder los permisos necesarios al complemento. La opción recomendada es EKS Pod Identity, ya que ofrece ventajas como los privilegios mínimos, la rotación de credenciales y la auditabilidad. Además, al usar EKS Pod Identity también puede instalar el complemento de EKS como parte de la propia creación del clúster.

**Cómo instalar el complemento de observabilidad de EKS de Amazon CloudWatch**

1. Siga los pasos de [asociación de EKS Pod Identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-association.html#pod-id-association-create/) para crear el rol de IAM y configurar el agente de EKS Pod Identity.

1. Asocie una política de IAM que conceda los permisos necesarios para su rol. Reemplace *my-role* por el nombre de su rol de IAM del paso anterior.

   ```
   aws iam attach-role-policy \
    --role-name my-role \
   --policy-arn=arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
   ```

1. Ingrese el siguiente comando, usando el rol de IAM que creó en el paso anterior:

   ```
   aws eks create-addon \
   --addon-name amazon-cloudwatch-observability \
   --cluster-name my-cluster-name \
   --pod-identity-associations serviceAccount=cloudwatch-agent,roleArn=arn:aws:iam::111122223333:role/my-role
   ```

# Configuración de inicio rápido para Información de contenedores en Amazon EKS y Kubernetes
<a name="Container-Insights-setup-EKS-quickstart"></a>

**importante**  
Si va a instalar Información de contenedores en un clúster de Amazon EKS, recomendamos que utilice el complemento observabilidad de EKS de Amazon CloudWatch para la instalación, en lugar de seguir las instrucciones de esta sección. Además, para recuperar las redes de computación acelerada, debe usar el complemento de EKS Observabilidad de Amazon CloudWatch. Para obtener más información e instrucciones, consulte [Inicio rápido con el complemento de observabilidad de EKS de Amazon CloudWatch](Container-Insights-setup-EKS-addon.md).

Para completar la configuración de Información de contenedores, puede seguir las instrucciones de inicio rápido de esta sección. Si instala Información de contenedores en un clúster de Amazon EKS y sigue las instrucciones de esta sección a partir del 6 de noviembre de 2023, se instalará con observabilidad mejorada para Amazon EKS en el clúster.

**importante**  
Antes de completar los pasos de esta sección, debe haber verificado los prerrequisitos incluidos los permisos de IAM. Para obtener más información, consulte [Verificación de los requisitos previos de Información de contenedores en CloudWatch](Container-Insights-prerequisites.md). 

También puede seguir las instrucciones de las dos secciones siguientes: [Configuración del agente de CloudWatch para recopilar las métricas del clúster](Container-Insights-setup-metrics.md) y [Envíe los registros a CloudWatch Logs](Container-Insights-EKS-logs.md). Estas secciones proporcionan más detalles sobre cómo funciona el agente de CloudWatch con Amazon EKS y con Kubernetes, pero se requiere que realice más pasos de instalación.

Con la versión original de Información de contenedores, las métricas recopiladas y los registros incorporados se cobran como métricas personalizadas. Con Información de contenedores, con una observabilidad mejorada para Amazon EKS, las métricas y los registros de Información de contenedores se cobran por observación en lugar de cobrarse por métrica almacenada o registro incorporado. Para obtener más información sobre los precios de CloudWatch, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

**nota**  
Amazon ha lanzado recientemente Fluent Bit como la solución de registro predeterminada para Información de contenedores con importantes mejoras de rendimiento. Se recomienda que utilice Fluent Bit en lugar de Fluentd.

## Inicio rápido con el operador del agente de CloudWatch y Fluent Bit
<a name="Container-Insights-setup-EKS-quickstart-FluentBit"></a>

Hay dos configuraciones para Fluent Bit: una versión optimizada y una versión que proporciona una experiencia más similar a Fluentd. La configuración de inicio rápido utiliza la versión optimizada. Para obtener más detalles sobre la configuración compatible con Fluentd, consulte [Configure Fluent Bit como DaemonSet para enviar registros a CloudWatch Logs](Container-Insights-setup-logs-FluentBit.md).

El operador del agente de CloudWatch es un contenedor adicional que se instala en un clúster de Amazon EKS. Sigue el modelo del operador OpenTelemetry para Kubernetes. El operador administra el ciclo de vida de los recursos de Kubernetes en un clúster. Instala el agente deCloudWatch, DCGM Exporter (NVIDIA) y AWS Neuron Monitor en un clúster de Amazon EKS y los administra. Fluent Bit y el agente de CloudWatch para Windows se instalan directamente en un clúster de Amazon EKS sin que el operador los administre. 

Si busca una solución de autoridad de certificación más segura y con más características, el operador del agente de CloudWatch necesita cert-manager, una solución ampliamente adoptada para la administración de certificados TLS en Kubernetes. El uso de cert-manager simplifica el proceso de obtención, renovación, administración y uso de estos certificados. Asegura que los certificados sean válidos y estén actualizados, e intenta renovarlos en un momento configurado antes de que caduquen. Además, cert-manager también facilita la emisión de certificados desde una variedad de orígenes compatibles, como AWS Certificate Manager Private Certificate Authority.

**Implementación de Información de contenedores mediante el inicio rápido**

1. Instale cert-manager si aún no está instalado en el clúster. Para obtener más información, consulte [cert-manager Installation](https://cert-manager.io/docs/installation/).

1. Introduzca el siguiente comando para instalar las definiciones de recursos personalizados (CRDS).

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl apply --server-side -f -
   ```

1. Introduzca el siguiente comando para instalar el operador. En este comando, *my\$1cluster\$1name* es el nombre del clúster de Amazon EKS o el de Kubernetes y *my\$1cluster\$1region* es el nombre de la región en la que se publican los registros. Le recomendamos que utilice la misma región en la que implemente el clúster para reducir los costes de transferencia de datos salientes de AWS.

   ```
   ClusterName=my-cluster-name
   RegionName=my-cluster-region
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -
   ```

   Por ejemplo, para implementar Información de contenedores en el clúster denominado `MyCluster` y publicar los registros y las métricas en el Oeste de EE. UU (Oregón), ingrese el siguiente comando.

   ```
   ClusterName='MyCluster'
   RegionName='us-west-2'
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -
   ```

**Migración desde Información de contenedores**

Si ya tiene Información de contenedores configurado en un clúster de Amazon EKS y desea migrar a Información de contenedores con observabilidad mejorada para Amazon EKS, consulte [Actualización a Información de contenedores con observabilidad mejorada para Amazon EKS en CloudWatch](Container-Insights-upgrade-enhanced.md)

**Eliminación de Información de contenedores**

Si desea eliminar Información de contenedores después de utilizar la configuración de inicio rápido, escriba los siguientes comandos.

```
ClusterName=my-cluster-name 
RegionName=my-cluster-region
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl delete -f -
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl delete -f -
```

# Configuración del agente de CloudWatch para recopilar las métricas del clúster
<a name="Container-Insights-setup-metrics"></a>

**importante**  
Si instala Información de contenedores en un clúster de Amazon EKS, recomendamos que utilice el complemento observabilidad de EKS de Amazon CloudWatch, en lugar de seguir las instrucciones de esta sección. Para obtener más información e instrucciones, consulte [Inicio rápido con el complemento de observabilidad de EKS de Amazon CloudWatch](Container-Insights-setup-EKS-addon.md).

Para configurar Información de contenedores para recopilar métricas de, puede seguir los pasos de [Configuración de inicio rápido para Información de contenedores en Amazon EKS y Kubernetes](Container-Insights-setup-EKS-quickstart.md) o los de esta sección. En los pasos que se describen a continuación, configure el agente de CloudWatch para que pueda recopilar las métricas de los clústeres.

Si instala Información de contenedores en un clúster de Amazon EKS y sigue las instrucciones de esta sección a partir del 6 de noviembre de 2023, se instalará con observabilidad mejorada para Amazon EKS en el clúster.

## Paso 1: Cree un espacio de nombres para CloudWatch
<a name="create-namespace-metrics"></a>

Siga el paso que se describe a continuación para crear un espacio de nombres denominado `amazon-cloudwatch` para CloudWatch. Puede omitir este paso si ya ha creado este espacio de nombres.

**Para crear un espacio de nombres para CloudWatch**
+ Escriba el siguiente comando.

  ```
  kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cloudwatch-namespace.yaml
  ```

## Paso 2: Cree una cuenta de servicio en el clúster
<a name="create-service-account"></a>

Utilice uno de los siguientes métodos para crear una cuenta de servicio para el agente de CloudWatch, si todavía no dispone de una.
+ Uso de `kubectl`
+ Utilizar un archivo `kubeconfig`

### Uso de `kubectl` para la autenticación
<a name="use-kubectl"></a>

**Para utilizar `kubectl` con el fin de crear una cuenta de servicio para el agente de CloudWatch**
+ Escriba el siguiente comando.

  ```
  kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-serviceaccount.yaml
  ```

Si no ha seguido los pasos anteriores, pero ya tiene una cuenta de servicio que desea utilizar para el agente de CloudWatch, debe asegurarse de que sigue las siguientes reglas. Además, en el resto de los pasos de la instalación de Información de contenedores debe utilizar el nombre de esa cuenta de servicio en lugar de `cloudwatch-agent`.

```
rules:
  - apiGroups: [""]
    resources: ["pods", "nodes", "endpoints"]
    verbs: ["list", "watch"]
  - apiGroups: [ "" ]
    resources: [ "services" ]
    verbs: [ "list", "watch" ]
  - apiGroups: ["apps"]
    resources: ["replicasets", "daemonsets", "deployments", "statefulsets"]
    verbs: ["list", "watch"]
  - apiGroups: ["batch"]
    resources: ["jobs"]
    verbs: ["list", "watch"]
  - apiGroups: [""]
    resources: ["nodes/proxy"]
    verbs: ["get"]
  - apiGroups: [""]
    resources: ["nodes/stats", "configmaps", "events"]
    verbs: ["create", "get"]
  - apiGroups: [""]
    resources: ["configmaps"]
    resourceNames: ["cwagent-clusterleader"]
    verbs: ["get","update"]
  - nonResourceURLs: ["/metrics"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [ "discovery.k8s.io" ]
    resources: [ "endpointslices" ]
    verbs: [ "list", "watch", "get" ]
```

### Uso de `kubeconfig` para la autenticación
<a name="use-kubeconfig"></a>

También puede utilizar un archivo `kubeconfig` para la autenticación. Este método evita la necesidad de una cuenta de servicio al especificar directamente la ruta de `kubeconfig` en la configuración del agente de CloudWatch. Además, permite dejar de depender de la API del plano de control de Kubernetes para la autenticación, lo que agiliza la configuración y puede aumentar la seguridad, ya que la autenticación se administra a través del archivo kubeconfig. 

Para usar este método, actualice el archivo de configuración de su agente de CloudWatch para especificar la ruta del archivo `kubeconfig`, como en el siguiente ejemplo.

```
{
  "logs": {
    "metrics_collected": {
      "kubernetes": {
        "cluster_name": "YOUR_CLUSTER_NAME",
        "enhanced_container_insights": false,
        "accelerated_compute_metrics": false,
        "tag_service": false,
        "kube_config_path": "/path/to/your/kubeconfig" 
        "host_ip": "HOSTIP"
      }
    }
  }
}
```

Para crear un archivo `kubeconfig`, cree una solicitud de firma de certificado (CSR) para el usuario `admin/{create_your_own_user}` con el rol `system:masters` de Kubernetes. Luego, firme con la autoridad de certificación (CA) del clúster de Kubernetes y cree el archivo `kubeconfig`.

## Paso 3: Cree un ConfigMap para el agente de CloudWatch
<a name="create-configmap"></a>

Siga los pasos que se describen a continuación para crear un ConfigMap para el agente de CloudWatch.

**Para crear un ConfigMap para el agente de CloudWatch**

1. Descargue el archivo YAML de ConfigMap en el host de cliente de `kubectl` ejecutando el siguiente comando:

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-configmap-enhanced.yaml
   ```

1. Edite el archivo YAML que ha descargado, tal y como se indica a continuación:
   + **cluster\$1name**: en la sección `kubernetes`, reemplace `{{cluster_name}}` con el nombre del clúster. Elimine los caracteres `{{}}`. De forma alternativa, si utiliza un clúster de Amazon EKS, puede eliminar el campo `"cluster_name"` y el valor. Si lo hace, el agente de CloudWatch detecta el nombre del clúster a partir de las etiquetas de Amazon EC2.

1. (Opcional) Realice más cambios en ConfigMap en función de sus requisitos de supervisión, tal y como se indica a continuación:
   + **metrics\$1collection\$1interval**: en la sección `kubernetes`, puede especificar la frecuencia con la que el agente recopila las métricas. El valor predeterminado es de 60 segundos. El valor predeterminado del intervalo de recopilación de cadvisor en kubelet es de 15 segundos, por lo que no debe establecer este valor en menos de 15 segundos.
   + **endpoint\$1override**: en la sección `logs`, puede especificar el punto de enlace de CloudWatch Logs si desea anular el punto de enlace predeterminado. Es posible que desee hacerlo si realiza la publicación desde un clúster de una VPC y desea que los datos vayan a un punto de enlace de la VPC.
   + **force\$1flush\$1interval**: en la sección `logs`, puede especificar el intervalo para los eventos de registro por lotes antes de que se publiquen en CloudWatch Logs. El valor predeterminado es de 5 segundos.
   + **Región**: de forma predeterminada, el agente publica las métricas en la Región donde se encuentra el nodo de trabajo. Para cambiar este comportamiento, puede agregar un campo `region` en la sección `agent`: por ejemplo `"region":"us-west-2"`
   + Sección **statsd**: si desea que el agente CloudWatch Logs se ejecute también como agente de escucha StatsD en cada nodo de trabajo de su clúster, puede agregar una la sección`statsd` a las `metrics`, como en el ejemplo siguiente. Para obtener información sobre otras opciones de StatsD para esta sección, consulte [Recuperación de las métricas personalizadas con StatsD](CloudWatch-Agent-custom-metrics-statsd.md).

     ```
     "metrics": {
       "metrics_collected": {
         "statsd": {
           "service_address":":8125"
         }
       }
     }
     ```

     A continuación, se muestra un ejemplo completo de la sección JSON. Si utiliza un archivo `kubeconfig` para la autenticación, agregue el parámetro `kube_config_path` para especificar la ruta del archivo kubeconfig.

     ```
     {
         "agent": {
             "region": "us-east-1"
         },
         "logs": {
             "metrics_collected": {
                 "kubernetes": {
                     "cluster_name": "MyCluster",
                     "metrics_collection_interval": 60,
                     "kube_config_path": "/path/to/your/kubeconfig" //if using kubeconfig for authentication
                 }
             },
             "force_flush_interval": 5,
             "endpoint_override": "logs.us-east-1.amazonaws.com"
         },
         "metrics": {
             "metrics_collected": {
                 "statsd": {
                     "service_address": ":8125"
                 }
             }
         }
     }
     ```

1. Cree el ConfigMap en el clúster ejecutando el siguiente comando.

   ```
   kubectl apply -f cwagent-configmap-enhanced.yaml
   ```

## Paso 4: Implemente el agente de CloudWatch como un DaemonSet
<a name="deploy-agent-yaml"></a>

Para terminar la instalación del agente de CloudWatch y comenzar a recopilar las métricas de contenedor, siga los pasos que se describen a continuación.

**Para implementar el agente de CloudWatch como un DaemonSet**

1. 
   + Si no desea utilizar StatsD en el clúster, escriba el siguiente comando.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-daemonset.yaml
     ```
   + Si desea utilizar StatsD, siga estos pasos:

     1. Descargue el archivo YAML del DaemonSet en el host de cliente de `kubectl` ejecutando el siguiente comando.

        ```
        curl -O  https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-daemonset.yaml
        ```

     1. Borre el comentario de la sección `port` en el archivo `cwagent-daemonset.yaml` como se indica a continuación: 

        ```
        ports:
          - containerPort: 8125
            hostPort: 8125
            protocol: UDP
        ```

     1. Implemente el agente de CloudWatch en el clúster con el siguiente comando.

        ```
        kubectl apply -f cwagent-daemonset.yaml
        ```

     1. Implemente el agente de CloudWatch en los nodos de Windows de su clúster ejecutando el siguiente comando. El oyente StatsD no es compatible con el agente de CloudWatch en Windows.

        ```
        kubectl apply -f cwagent-daemonset-windows.yaml
        ```

1. Compruebe que el agente está implementado ejecutando el siguiente comando.

   ```
   kubectl get pods -n amazon-cloudwatch
   ```

Cuando finaliza, el agente de CloudWatch crea un grupo de registros denominado `/aws/containerinsights/Cluster_Name/performance` y envía los eventos de registro de rendimiento a este grupo de registros. Si también configura el agente como un agente de escucha de StatsD, el agente también escucha las métricas de StatsD en el puerto 8125 con la dirección IP del nodo en el que está programado el pod de la aplicación.

### Solución de problemas
<a name="ContainerInsights-deploy-troubleshooting"></a>

Si el agente no se implementa correctamente, pruebe lo siguiente:
+ Ejecute el siguiente comando para obtener la lista de pods.

  ```
  kubectl get pods -n amazon-cloudwatch
  ```
+ Ejecute el siguiente comando y compruebe los eventos de la parte inferior de la salida.

  ```
  kubectl describe pod pod-name -n amazon-cloudwatch
  ```
+ Ejecute el siguiente comando para comprobar los registros.

  ```
  kubectl logs pod-name  -n amazon-cloudwatch
  ```

# Uso de AWS Distro para OpenTelemetry
<a name="Container-Insights-EKS-otel"></a>

Puede configurar Información de contenedores de manera que recopile métricas de clústeres de Amazon EKS mediante el recopilador de AWS Distro para OpenTelemetry. Para obtener más información acerca de AWS Distro para OpenTelemetry, consulte [AWS Distro para OpenTelemetry](https://aws.amazon.com/otel/). 

**importante**  
Si hace la instalación mediante AWS Distro para OpenTelemetry, instalará Información de contenedores, pero no obtendrá Información de contenedores con observabilidad mejorada para Amazon EKS. No recopilarás las métricas detalladas compatibles con Información de contenedores con observabilidad mejorada para Amazon EKS.

La forma de configurar Información de contenedores depende de si el clúster está alojado en instancias de Amazon EC2 o en AWS Fargate.

## Clústeres de Amazon EKS alojados en Amazon EC2
<a name="Container-Insights-EKS-otel-EC2"></a>

Si aún no lo ha hecho, asegúrese de que ha cumplido los prerrequisitos incluidos los roles de IAM necesarios. Para obtener más información, consulte [Verificación de los requisitos previos de Información de contenedores en CloudWatch](Container-Insights-prerequisites.md).

Amazon proporciona un gráfico de Helm que puede utilizar para configurar la supervisión de Amazon Elastic Kubernetes Service en Amazon EC2. Esta supervisión utiliza el recolector de AWS Distro para OpenTelemetry (ADOT) para las métricas, y Fluent Bit para los registros. Por lo tanto, el gráfico de Helm es útil para los clientes que utilizan Amazon EKS en Amazon EC2 y desean recopilar métricas y registros para enviarlos a Información de contenedores de CloudWatch. Para obtener más información acerca de este gráfico de Helm, consulte [Gráfico de Helm de ADOT para EKS en métricas y registros de EC2 en Información de contenedores de Amazon CloudWatch](https://github.com/aws-observability/aws-otel-helm-charts/tree/main/charts/adot-exporter-for-eks-on-ec2). 

También puede utilizar las instrucciones del resto de esta sección.

En primer lugar, implemente el recopilador de AWS Distro para OpenTelemetry como DaemonSet si escribe el siguiente comando. 

```
curl https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/eks/otel-container-insights-infra.yaml |
kubectl apply -f -
```

Utilice el siguiente comando para confirmar que el recopilador se está ejecutando.

```
kubectl get pods -l name=aws-otel-eks-ci -n aws-otel-eks
```

Si el resultado de este comando incluye varios pods en el estado `Running`, el recopilador se está ejecutando y recopilando métricas del clúster. El recopilador crea un grupo de registros denominado `aws/containerinsights/cluster-name/performance` y le envía los eventos de registro de rendimiento.

Para obtener información sobre cómo ver las métricas Información de contenedores en CloudWatch, consulte [Visualización de las métricas de Información de contenedores](Container-Insights-view-metrics.md).

AWS también ha proporcionado documentación sobre GitHub para esta situación. Si desea personalizar las métricas y los registros que Información de contenedores publica, consulte [https://aws-otel.github.io/docs/getting-started/container-insights/eks-infra](https://aws-otel.github.io/docs/getting-started/container-insights/eks-infra).

## Clústeres de Amazon EKS alojados en Fargate
<a name="Container-Insights-EKS-otel-Fargate"></a>

Para obtener instrucciones acerca de cómo configurar e implementar un recopilador ADOT de manera que recopile métricas del sistema de cargas de trabajo implementadas en un clúster de Amazon EKS en Fargate y las envíe a Información de contenedores de CloudWatch, consulte [Información de contenedores de EKS en Fargate](https://aws-otel.github.io/docs/getting-started/container-insights/eks-fargate) en la documentación de AWS Distro para OpenTelemetry.

# Envíe los registros a CloudWatch Logs
<a name="Container-Insights-EKS-logs"></a>

Para enviar registros de los contenedores a Registros de Amazon CloudWatch, puede utilizar Fluent Bit. Para obtener más información, consulte [Fluent Bit](https://fluentbit.io/).

**nota**  
A partir del 10 de febrero de 2025, AWS ha dejado de admitir FluentD como reenviador de registros a Registros de CloudWatch. Recomendamos que utilice Fluent Bit, que es una alternativa ligera y eficiente en el uso de recursos. Las implantaciones existentes de FluentD seguirán en funcionamiento. Migre las canalizaciones de registro a Fluent Bit para garantizar la compatibilidad continuada y un rendimiento óptimo.   
Información de contenedores anteriormente también admitía el uso de FluentD para enviar registros desde los contenedores. FluentD ha quedado obsoleto y ya no es compatible con Información de contenedores. En su lugar, utilice Fluent Bit.

**Topics**
+ [Configure Fluent Bit como DaemonSet para enviar registros a CloudWatch Logs](Container-Insights-setup-logs-FluentBit.md)
+ [(Opcional) Configure el registro del plano de control de Amazon EKS](Container-Insights-setup-control-plane-logging.md)
+ [(Opcional) Habilitar la característica Use\$1Kubelet para clústeres grandes](ContainerInsights-use-kubelet.md)

# Configure Fluent Bit como DaemonSet para enviar registros a CloudWatch Logs
<a name="Container-Insights-setup-logs-FluentBit"></a>

Las siguientes secciones le ayudan a implementar Fluent Bit para enviar registros desde contenedores a CloudWatch Logs.

**Topics**
+ [Configuración de Fluent Bit](#Container-Insights-FluentBit-setup)
+ [Compatibilidad con registros de varias líneas](#ContainerInsights-fluentbit-multiline)
+ [(Opcional) Reducción del volumen de registros del Fluent Bit](#ContainerInsights-fluentbit-volume)
+ [Solución de problemas](#Container-Insights-FluentBit-troubleshoot)
+ [Panel de control](#Container-Insights-FluentBit-dashboard)

## Configuración de Fluent Bit
<a name="Container-Insights-FluentBit-setup"></a>

Para configurar Fluent Bit para recopilar registros de los contenedores, puede seguir los pasos de [Configuración de inicio rápido para Información de contenedores en Amazon EKS y Kubernetes](Container-Insights-setup-EKS-quickstart.md) o puede seguir los pasos de esta sección.

Con cualquiera de los métodos, el rol de IAM que está adjunto a los nodos del clúster debe tener permisos suficientes. Para obtener más información sobre los permisos necesarios para ejecutar un clúster de Amazon EKS, consulte [Amazon EKS IAM Policies, Roles, and Permissions](https://docs.aws.amazon.com/eks/latest/userguide/IAM_policies.html) (Permisos, roles y políticas de IAM de Amazon EKS) en la *Guía del usuario de Amazon EKS*.

En los pasos que se describen a continuación, va a configurar Fluent Bit como DaemonSet para enviar registros a CloudWatch Logs. Cuando se completa este paso, Fluent Bit crea los siguientes grupos de registros si todavía no existen.

**importante**  
Si ya tiene Fluentd configurado en Información de contenedores y el DaemonSet de Fluentd no funciona según lo esperado (esto puede ocurrir si utiliza el tiempo de ejecución `containerd`), debe desinstalarlo antes de instalar FluentBit para evitar que Fluentd procese los mensajes de registro de errores de Fluentd. De lo contrario, debe desinstalar Fluentd inmediatamente después de haber instalado FluentBit correctamente. Desinstalar Fluentd después de instalar Fluent Bit garantiza la continuidad del registro durante este proceso de migración. Solo se necesita uno de Fluent Bit o Fluentd para enviar registros a registros de CloudWatch.


| Nombre de grupo de registro | Fuente de registros | 
| --- | --- | 
|  `/aws/containerinsights/Cluster_Name/application`  |  Todos los archivos de registros de `/var/log/containers`  | 
|  `/aws/containerinsights/Cluster_Name/host`  |  Archivos de registros de `/var/log/dmesg`, `/var/log/secure` y `/var/log/messages`  | 
|  `/aws/containerinsights/Cluster_Name/dataplane`  |  Los registros en `/var/log/journal` para `kubelet.service`, `kubeproxy.service` y `docker.service`.  | 

**Para instalar Fluent Bit con el fin de enviar registros desde contenedores a CloudWatch Logs**

1. Si aún no tiene un espacio de nombres llamado `amazon-cloudwatch`, cree uno con el siguiente comando:

   ```
   kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cloudwatch-namespace.yaml
   ```

1. Ejecute el siguiente comando para crear un ConfigMap denominado `cluster-info` con el nombre del clúster y la Región a la que se enviarán los registros. Sustituya *cluster-name* y *cluster-region* por el nombre y la Región del clúster.

   ```
   ClusterName=cluster-name
   RegionName=cluster-region
   FluentBitHttpPort='2020'
   FluentBitReadFromHead='Off'
   [[ ${FluentBitReadFromHead} = 'On' ]] && FluentBitReadFromTail='Off'|| FluentBitReadFromTail='On'
   [[ -z ${FluentBitHttpPort} ]] && FluentBitHttpServer='Off' || FluentBitHttpServer='On'
   kubectl create configmap fluent-bit-cluster-info \
   --from-literal=cluster.name=${ClusterName} \
   --from-literal=http.server=${FluentBitHttpServer} \
   --from-literal=http.port=${FluentBitHttpPort} \
   --from-literal=read.head=${FluentBitReadFromHead} \
   --from-literal=read.tail=${FluentBitReadFromTail} \
   --from-literal=logs.region=${RegionName} -n amazon-cloudwatch
   ```

   En este comando, `FluentBitHttpServer` para supervisar las métricas del complemento está activado de forma predeterminada. Para desactivarlo, cambie la tercera línea del comando a `FluentBitHttpPort=''` (cadena vacía) en el comando.

   Además, de forma predeterminada, Fluent Bit lee los archivos de registro en cola y capturará solo los registros nuevos después de implementarlos. Si desea lo contrario, establezca `FluentBitReadFromHead='On'` y recopilará todos los registros en el sistema de archivos.

1. Descargue e implemente el daemonSet de Fluent Bit en el clúster con uno de los siguientes comandos.
   + Si desea la configuración optimizada de Fluent Bit para computadoras con Linux, ejecute este comando.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluent-bit/fluent-bit.yaml
     ```
   + Si desea la configuración optimizada de Fluent Bit para computadoras con Windows, ejecute este comando.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluent-bit/fluent-bit-windows.yaml
     ```
   + Si utiliza computadoras con Linux y desea la configuración de Fluent Bit que sea más similar a Fluentd, ejecute este comando.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluent-bit/fluent-bit-compatible.yaml
     ```
**importante**  
De forma predeterminada, la configuración daemonset de Fluent Bit establece el nivel de registro en INFO, lo que puede generar mayores costes de ingesta de registros de CloudWatch. Si quiere reducir el volumen y los costes de la ingesta de registros, puede cambiar el nivel de registro a ERROR.  
Para obtener más información acerca de cómo reducir el volumen del registro, consulte [(Opcional) Reducción del volumen de registros del Fluent Bit](#ContainerInsights-fluentbit-volume)

1. Especifique el siguiente comando para validar la implementación. Cada nodo debe tener un pod denominado **fluent-bit-\$1**.

   ```
   kubectl get pods -n amazon-cloudwatch
   ```

Los pasos anteriores crean los siguientes recursos en el clúster:
+ Una cuenta de servicio denominada `Fluent-Bit` en el espacio de nombres `amazon-cloudwatch`. Esta cuenta de servicio se utiliza para ejecutar el DaemonSet de FluentD. Para obtener más información, consulte [Managing Service Accounts](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/) en la documentación de Kubernetes.
+ Un rol de clúster denominado `Fluent-Bit-role` en el espacio de nombres `amazon-cloudwatch`. Este rol de clúster concede los permisos `get`, `list` y `watch` para los registros de los pods a la cuenta de servicio `Fluent-Bit`. Para obtener información, consulte [API Overview](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#api-overview/) en la documentación de Kubernetes.
+ Un ConfigMap denominado `Fluent-Bit-config` en el espacio de nombres `amazon-cloudwatch`. Este ConfigMap contiene la configuración que va a utilizar Fluent Bit. Para obtener más información, consulte [Configure a Pod to Use a ConfigMap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/) en la documentación de tareas de Kubernetes.

Si desea verificar la configuración de Fluent Bit, siga estos pasos.

**Verifique la configuración de Fluent Bit**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, seleccione **Grupos de registro**.

1. Asegúrese de que está en la Región donde ha implementado Fluent Bit.

1. Verifique la lista de los grupos de registros de la Región. Debería ver lo siguiente:
   + `/aws/containerinsights/Cluster_Name/application`
   + `/aws/containerinsights/Cluster_Name/host`
   + `/aws/containerinsights/Cluster_Name/dataplane`

1. Desplácese a uno de estos grupos de registro y verifique la **Last Event Time** (Hora del último evento) para los flujos de registro. Si es reciente en relación con el momento en el que implementó Fluent Bit, se verifica la configuración.

   Puede haber un ligero retraso en la creación del grupo de registro de `/dataplane`. Esto es normal, ya que estos grupos de registro sólo se crean cuando el Fluent Bit comienza a enviar registros para ese grupo de registros.

## Compatibilidad con registros de varias líneas
<a name="ContainerInsights-fluentbit-multiline"></a>

Para obtener información sobre cómo usar Fluent Bit con registros de varias líneas, consulte las siguientes secciones de la documentación de Fluent Bit:
+ [Análisis multilínea](https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/multiline-parsing)
+ [Líneas múltiples y contenedores (v1.8)](https://docs.fluentbit.io/manual/pipeline/inputs/tail#multiline-and-containers-v1.8)
+ [Núcleo multilínea (v1.8)](https://docs.fluentbit.io/manual/pipeline/inputs/tail#multiline-core-v1.8)
+ [Utilice siempre líneas múltiples en la entrada trasera](https://github.com/aws/aws-for-fluent-bit/blob/mainline/troubleshooting/debugging.md#always-use-multiline-the-tail-input)

## (Opcional) Reducción del volumen de registros del Fluent Bit
<a name="ContainerInsights-fluentbit-volume"></a>

De forma predeterminada, se envían registros de aplicaciones de Fluent Bit y metadatos de Kubernetes a CloudWatch. Si desea reducir el volumen de datos que se envía a CloudWatch, puede detener el envío de uno o ambos de estos orígenes de datos a CloudWatch. Si siguió los pasos de esta página para configurar Fluent Bit, descargue el archivo YAML del manifiesto de Kubernetes desde el comando kubectl `apply` que ejecutó anteriormente y modifíquelo con sus cambios, los cuales podrá volver a aplicar en su clúster. Como alternativa, si utiliza el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm, consulte [Configuraciones adicionales (Opcional)](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration) para acceder a información sobre la administración de la configuración de Fluent Bit con la configuración avanzada del complemento o el gráfico de Helm.

Para detener los registros de aplicaciones de Fluent Bit, elimine la siguiente sección del archivo `Fluent Bit configuration`.

```
[INPUT]
        Name                tail
        Tag                 application.*
        Path                /var/log/containers/fluent-bit*
        Parser              docker
        DB                  /fluent-bit/state/flb_log.db
        Mem_Buf_Limit       5MB
        Skip_Long_Lines     On
        Refresh_Interval    10
```

Para evitar que los metadatos de Kubernetes se agreguen a los eventos de registro que se envían a CloudWatch, incluya los siguientes filtros en la sección `application-log.conf` en la configuración de Fluent Bit. Sustituya *<Metadata\$11>* y los campos similares por los identificadores de metadatos reales.

```
application-log.conf: |
    [FILTER]
        Name                nest
        Match               application.*
        Operation           lift
        Nested_under        kubernetes
        Add_prefix          Kube.

    [FILTER]
        Name                modify
        Match               application.*
        Remove              Kube.<Metadata_1>
        Remove              Kube.<Metadata_2>
        Remove              Kube.<Metadata_3>
    
    [FILTER]
        Name                nest
        Match               application.*
        Operation           nest
        Wildcard            Kube.*
        Nested_under        kubernetes
        Remove_prefix       Kube.
```

## Solución de problemas
<a name="Container-Insights-FluentBit-troubleshoot"></a>

Si no ve estos grupos de registros y está mirando en la Región correcta, verifique los registros de los pods del DaemonSet de Fluent Bit para buscar el error.

Ejecute el siguiente comando y asegúrese de que el estado es `Running`.

```
kubectl get pods -n amazon-cloudwatch
```

Si los registros tienen errores relacionados con los permisos de IAM, consulte el rol de IAM que está adjunto a los nodos del clúster. Para obtener más información sobre los permisos necesarios para ejecutar un clúster de Amazon EKS, consulte [Amazon EKS IAM Policies, Roles, and Permissions](https://docs.aws.amazon.com/eks/latest/userguide/IAM_policies.html) (Permisos, roles y políticas de IAM de Amazon EKS) en la *Guía del usuario de Amazon EKS*.

Si el estado del pod es `CreateContainerConfigError`, obtenga el error exacto ejecutando el siguiente comando.

```
kubectl describe pod pod_name -n amazon-cloudwatch
```

## Panel de control
<a name="Container-Insights-FluentBit-dashboard"></a>

Puede crearse un panel para supervisar las métricas de cada complemento en ejecución. Puede ver los datos de los bytes de entrada y salida y de las tasas de procesamiento de registros, así como los errores de salida y las tasas de intento y error. Para visualizar estas métricas, se deberá instalar el agente de CloudWatch con la colección de métricas de Prometheus para los clústeres de Amazon EKS y de Kubernetes. Para obtener más información acerca de cómo se configuran estos paneles, consulte [Instale el agente de CloudWatch con la colección de métricas de Prometheus en clústeres de Amazon EKS y de KubernetesInstale el agente de CloudWatch con la obtención de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes](ContainerInsights-Prometheus-Setup.md).

**nota**  
Antes de configurar este panel, debe configurar Información de contenedores de para las métricas de Prometheus. Para obtener más información, consulte [Supervisión de métricas de Información de contenedores de Prometheus](ContainerInsights-Prometheus.md).

**Para crear un panel para las métricas de Prometheus de Fluent Bit**

1. Cree variables de entorno, mediante el reemplazo de los valores de la derecha en las siguientes líneas para que concuerden con la implementación.

   ```
   DASHBOARD_NAME=your_cw_dashboard_name
   REGION_NAME=your_metric_region_such_as_us-west-1
   CLUSTER_NAME=your_kubernetes_cluster_name
   ```

1. Ejecute el siguiente comando para crear el panel.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/fluent-bit/cw_dashboard_fluent_bit.json \
   | sed "s/{{YOUR_AWS_REGION}}/${REGION_NAME}/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/${CLUSTER_NAME}/g" \
   | xargs -0 aws cloudwatch put-dashboard --dashboard-name ${DASHBOARD_NAME} --dashboard-body
   ```

# (Opcional) Configure el registro del plano de control de Amazon EKS
<a name="Container-Insights-setup-control-plane-logging"></a>

Si utiliza Amazon EKS, tiene la opción de habilitar el registro del plano de control de Amazon EKS, para proporcionar registros de auditoría y de diagnóstico directamente desde el plano de control de Amazon EKS a CloudWatch Logs. Para obtener más información, consulte [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) (Registro del plano de control de Amazon EKS).

# (Opcional) Habilitar la característica Use\$1Kubelet para clústeres grandes
<a name="ContainerInsights-use-kubelet"></a>

De forma predeterminada, la característica Use\$1Kubelet está deshabilitada en el complemento FluentBit Kubernetes. Habilitar esta característica puede reducir el tráfico hacia el servidor de la API y mitigar el problema de que el servidor de la API sea un cuello de botella. Recomendamos que habilite esta característica para clústeres grandes.

Para habilitar Use\$1Kubelet, agregue primero los nodos y los permisos de nodos/proxy a la configuración de ClusterRole.

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: fluent-bit-role
rules:
  - nonResourceURLs:
      - /metrics
    verbs:
      - get
  - apiGroups: [""]
    resources:
      - namespaces
      - pods
      - pods/logs
      - nodes
      - nodes/proxy
    verbs: ["get", "list", "watch"]
```

En la configuración de Daemonset, esta característica necesita acceso a la red de host. La versión de la imagen de `amazon/aws-for-fluent-bit` debería ser 2.12.0 o posterior, o la versión de imagen de bits fluida debería ser 1.7.2 o posterior.

```
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluent-bit
  namespace: amazon-cloudwatch
  labels:
    k8s-app: fluent-bit
    version: v1
    kubernetes.io/cluster-service: "true"
spec:
  selector:
    matchLabels:
      k8s-app: fluent-bit
  template:
    metadata:
      labels:
        k8s-app: fluent-bit
        version: v1
        kubernetes.io/cluster-service: "true"
    spec:
      containers:
      - name: fluent-bit
        image: amazon/aws-for-fluent-bit:2.19.0
        imagePullPolicy: Always
        env:
            - name: AWS_REGION
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: logs.region
            - name: CLUSTER_NAME
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: cluster.name
            - name: HTTP_SERVER
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: http.server
            - name: HTTP_PORT
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: http.port
            - name: READ_FROM_HEAD
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: read.head
            - name: READ_FROM_TAIL
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: read.tail
            - name: HOST_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name      
            - name: CI_VERSION
              value: "k8s/1.3.8"
        resources:
            limits:
              memory: 200Mi
            requests:
              cpu: 500m
              memory: 100Mi
        volumeMounts:
        # Please don't change below read-only permissions
        - name: fluentbitstate
          mountPath: /var/fluent-bit/state
        - name: varlog
          mountPath: /var/log
          readOnly: true
        - name: varlibdockercontainers
          mountPath: /var/lib/docker/containers
          readOnly: true
        - name: fluent-bit-config
          mountPath: /fluent-bit/etc/
        - name: runlogjournal
          mountPath: /run/log/journal
          readOnly: true
        - name: dmesg
          mountPath: /var/log/dmesg
          readOnly: true
      terminationGracePeriodSeconds: 10
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
      volumes:
      - name: fluentbitstate
        hostPath:
          path: /var/fluent-bit/state
      - name: varlog
        hostPath:
          path: /var/log
      - name: varlibdockercontainers
        hostPath:
          path: /var/lib/docker/containers
      - name: fluent-bit-config
        configMap:
          name: fluent-bit-config
      - name: runlogjournal
        hostPath:
          path: /run/log/journal
      - name: dmesg
        hostPath:
          path: /var/log/dmesg
      serviceAccountName: fluent-bit
      tolerations:
      - key: node-role.kubernetes.io/master
        operator: Exists
        effect: NoSchedule
      - operator: "Exists"
        effect: "NoExecute"
      - operator: "Exists"
        effect: "NoSchedule"
```

La configuración del complemento de Kubernetes debería ser similar a la siguiente:

```
[FILTER]
        Name                kubernetes
        Match               application.*
        Kube_URL            https://kubernetes.default.svc:443
        Kube_Tag_Prefix     application.var.log.containers.
        Merge_Log           On
        Merge_Log_Key       log_processed
        K8S-Logging.Parser  On
        K8S-Logging.Exclude Off
        Labels              Off
        Annotations         Off
        Use_Kubelet         On
        Kubelet_Port        10250 
        Buffer_Size         0
```

# Actualización o eliminación de Información de contenedores en Amazon EKS y en Kubernetes
<a name="ContainerInsights-update-delete"></a>

Siga los pasos de estas secciones para actualizar la imagen de contenedor del agente de CloudWatch o para eliminar Información de contenedores de un clúster de Amazon EKS o de Kubernetes.

**Topics**
+ [Actualización a Información de contenedores con observabilidad mejorada para Amazon EKS en CloudWatch](Container-Insights-upgrade-enhanced.md)
+ [Actualización de la imagen del contenedor del agente de CloudWatch](ContainerInsights-update-image.md)
+ [Eliminación del agente de CloudWatch y Fluen Bit para Información de contenedores](ContainerInsights-delete-agent.md)

# Actualización a Información de contenedores con observabilidad mejorada para Amazon EKS en CloudWatch
<a name="Container-Insights-upgrade-enhanced"></a>

**importante**  
Si va a actualizar o instalar Información de contenedores en un clúster de Amazon EKS, recomendamos que utilice el complemento de EKS de observabilidad de Amazon CloudWatch para la instalación, en lugar de seguir las instrucciones de esta sección. Además, para recuperar las métricas de computación acelerada, debe usar el complemento de EKS de observabilidad de Amazon CloudWatch. Para obtener más información e instrucciones, consulte [Inicio rápido con el complemento de observabilidad de EKS de Amazon CloudWatch](Container-Insights-setup-EKS-addon.md).

Información de contenedores con observabilidad mejorada para Amazon EKS es la versión más reciente de Información de contenedores. Recopila métricas detalladas de los clústeres que ejecutan Amazon EKS y ofrece paneles seleccionados y de uso inmediato para analizar en detalle la telemetría de las aplicaciones y la infraestructura. Para obtener más información sobre Información de contenedores, consulte [Información de contenedores con observabilidad mejorada para Amazon EKS](container-insights-detailed-metrics.md).

Si instaló la versión original de Información de contenedores en un clúster de Amazon EKS y desea actualizarla a una versión más reciente con observabilidad mejorada, siga las instrucciones de esta sección.

**importante**  
Antes de completar los pasos de esta sección, debe haber verificado los requisitos previos, incluido cert-manager. Para obtener más información, consulte [Inicio rápido con el operador del agente de CloudWatch y Fluent Bit](Container-Insights-setup-EKS-quickstart.md#Container-Insights-setup-EKS-quickstart-FluentBit).

**Para actualizar un clúster de Amazon EKS a Información de contenedores con observabilidad mejorada para Amazon EKS**

1. Introduzca el siguiente comando para instalar el operador del agente de CloudWatch. En este comando, *my\$1cluster\$1name* es el nombre del clúster de Amazon EKS o el de Kubernetes y *my\$1cluster\$1region* es el nombre de la región en la que se publican los registros. Le recomendamos que utilice la misma región en la que implemente el clúster para reducir los costes de transferencia de datos salientes de AWS.

   ```
   ClusterName=my-cluster-name
   RegionName=my-cluster-region
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -
   ```

   Si observa un error provocado por un conflicto de recursos, es probable que se deba a que ya tiene instalados en el clúster el agente de CloudWatch y Fluent Bit con sus componentes asociados, como ServiceAccount, ClusterRole y ClusterRoleBinding. Cuando el operador del agente de CloudWatch intenta instalar el agente de CloudWatch y sus componentes asociados, si detecta algún cambio en el contenido, por defecto no se realiza la instalación o la actualización para evitar sobrescribir el estado de los recursos del clúster. Le recomendamos que elimine cualquier agente de CloudWatch existente con la configuración de Información de contenedores que haya instalado anteriormente en el clúster y, a continuación, instale el operador del agente de CloudWatch.

1. (Opcional) Para aplicar una configuración de Fluent Bit personalizada existente, debe actualizar el mapa de configuración asociado al daemonset de Fluent Bit. El operador del agente de CloudWatch proporciona una configuración predeterminada para Fluent Bit y usted puede anular o modificar la configuración predeterminada según sea necesario. Para aplicar una configuración personalizada, siga estos pasos.

   1. Introduzca el siguiente comando para abrir la configuración existente.

      ```
      kubectl edit cm fluent-bit-config -n amazon-cloudwatch
      ```

   1. Realice los cambios en el archivo y, a continuación, introduzca `:wq` para guardarlo y salir del modo de edición.

   1. Introduzca el siguiente comando para reiniciar Fluent Bit.

      ```
      kubectl rollout restart ds fluent-bit -n amazon-cloudwatch
      ```

# Actualización de la imagen del contenedor del agente de CloudWatch
<a name="ContainerInsights-update-image"></a>

**importante**  
Si va a actualizar o instalar Información de contenedores en un clúster de Amazon EKS, recomendamos que utilice el complemento de EKS de observabilidad de Amazon CloudWatch para la instalación, en lugar de seguir las instrucciones de esta sección. Además, para recuperar las métricas de computación acelerada, debe usar el complemento de EKS de observabilidad de Amazon CloudWatch o el operador del agente de CloudWatch. Para obtener más información e instrucciones, consulte [Inicio rápido con el complemento de observabilidad de EKS de Amazon CloudWatch](Container-Insights-setup-EKS-addon.md).

Si necesita actualizar la imagen de contenedor a la versión más reciente, siga los pasos de esta sección.

**Para actualizar la imagen de contenedor, realice el siguiente procedimiento:**

1. Introduzca el siguiente comando para comprobar la definición del recurso personalizado (CRD) de `amazoncloudwatchagent`.

   ```
   kubectl get crds amazoncloudwatchagents.cloudwatch.aws.amazon.com -n amazon-cloudwatch
   ```

   Si este comando devuelve un error que indica que falta el CRD, el clúster no tiene Información de contenedores con observabilidad mejorada para Amazon EKS configurado con el operador del agente de CloudWatch. En este caso, consulte [Actualización a Información de contenedores con observabilidad mejorada para Amazon EKS en CloudWatch](Container-Insights-upgrade-enhanced.md).

1. Especifique el siguiente comando para aplicar el archivo `cwagent-version.yaml` más reciente.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-version.yaml | kubectl apply -f -
   ```

# Eliminación del agente de CloudWatch y Fluen Bit para Información de contenedores
<a name="ContainerInsights-delete-agent"></a>

Si instaló Información de contenedores mediante la instalación del complemento observabilidad de CloudWatch para Amazon EKS, puede eliminar Información de contenedores y el agente de CloudWatch introduciendo el siguiente comando:

**nota**  
El complemento de Amazon EKS ahora es compatible con Información de contenedores en los nodos de trabajo de Windows. Si elimina el complemento de Amazon EKS, también se eliminará Información de contenedores para Windows.

```
aws eks delete-addon —cluster-name my-cluster —addon-name amazon-cloudwatch-observability
```

Para eliminar todos los recursos relacionados con el agente de CloudWatch y Fluent Bit, introduzca el siguiente comando. En este comando, *My\$1Cluster\$1Name* es el nombre del clúster de Amazon EKS o el de Kubernetes y *My\$1Region* es el nombre de la región en la que se publican los registros.

```
ClusterName=My_Cluster_Name
RegionName=My-Region
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl delete -f -
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl delete -f -
```

# Configuración de Información de contenedores en RedHat OpenShift en AWS (ROSA)
<a name="deploy-container-insights-RedHatOpenShift"></a>

Información de contenedores de CloudWatch con observabilidad mejorada es compatible con RedHat OpenShift en AWS (ROSA). Esta versión admite una observabilidad mejorada para los clústeres ROSA. Después de instalar el gráfico de Helm del operador del agente de CloudWatch, Información de contenedores recopila automáticamente telemetría detallada de la infraestructura desde el nivel del clúster hasta el nivel del contenedor en su entorno. A continuación, muestra estos datos de rendimiento en paneles seleccionados, lo que elimina el trabajo pesado en la configuración de la observabilidad. 

**nota**  
En el caso de RedHat para OpenShift en AWS (ROSA), cuando se instala el operador del agente de CloudWatch mediante gráficos de Helm, el agente de CloudWatch también está habilitado de forma predeterminada para recibir tanto métricas como seguimientos de sus aplicaciones que están instrumentadas para Application Signals. Si desea pasar opcionalmente reglas de configuración personalizadas, puede hacerlo pasando una configuración de agente personalizada mediante el gráfico de Helm, tal como se describe en (Opcional) [Configuración adicional], como se indica en [Configuraciones adicionales (Opcional)](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).

**Cómo instalar Información de contenedores con observabilidad mejorada en un clúster de RedHat OpenShift en AWS (ROSA)**

1. Instale Helm si es necesario. Para obtener más información, consulte la [Guía de inicio rápido](https://helm.sh/docs/intro/quickstart/) en la documentación de Helm.

1. Introduzca los siguientes comandos para instalar el operador del agente de CloudWatch. Reemplace *my-cluster-name* por el nombre del clúster y *my-cluster-region* por la región en la que se ejecuta el clúster.

   ```
   helm repo add aws-observability https://aws-observability.github.io/helm-charts
   helm repo update aws-observability
   helm install --wait --create-namespace \
       --namespace amazon-cloudwatch amazon-cloudwatch-observability \
       aws-observability/amazon-cloudwatch-observability \
       --set clusterName=my-cluster-name \
       --set region=my-cluster-region \
       --set k8sMode=ROSA
   ```

1. Configure la autorización para el operador del agente siguiendo los pasos de la Opción 1, Opción 2 u Opción 3 en [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md).

# Visualización de las métricas de Información de contenedores
<a name="Container-Insights-view-metrics"></a>

Una vez que haya configurado Información de contenedores y esté recopilando las métricas, podrá ver esas métricas en la consola de CloudWatch.

Para que las métricas de Información de contenedores aparezcan en el panel, debe completar la configuración de Información de contenedores. Para obtener más información, consulte [Configuración de Información de contenedores](deploy-container-insights.md).

Este procedimiento explica cómo se pueden ver las métricas que Información de contenedores genera automáticamente a partir de los datos de registro recopilados. En el resto de esta sección se explica cómo profundizar en los datos y utilizar Información de registros de CloudWatch para ver más métricas en más niveles de granularidad.

**Cómo ver las métricas de Información de contenedores**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Información** y, luego, **Información de contenedores**.

1. Utilice los cuadros desplegables situados junto a la parte superior para seleccionar el tipo de recurso que desea ver, así como el recurso específico.

Se puede establecer una alarma de CloudWatch en cualquiera de las métricas que recopila Información de contenedores. Para obtener más información, consulte [Uso de las alarmas de Amazon CloudWatch](CloudWatch_Alarms.md)

**nota**  
Si ya ha configurado Información de aplicaciones de CloudWatch para supervisar las aplicaciones en contenedores, el panel de Información de aplicaciones aparece debajo del panel de Información de contenedores. Si aún no ha habilitado Información de aplicaciones, puede hacerlo si selecciona **Configuración automática de Información de aplicaciones** debajo de la vista de rendimiento en el panel de Información de contenedores.  
Para obtener más información acerca de Información de aplicaciones y aplicaciones en contenedores, consulte [Habilitación del monitoreo de recursos de Información de aplicaciones para Amazon ECS y Amazon EKS](appinsights-setting-up-console.md#appinsights-container-insights).

## Visualización de los colaboradores principales
<a name="Container-Insights-view-metrics-topn"></a>

Para algunas de las vistas de la supervisión del rendimiento de Información de contenedores, también puede ver los colaboradores principales por memoria o CPU, o los recursos activos más recientes. Está disponible cuando selecciona cualquiera de los siguientes paneles en el cuadro desplegable situado cerca de la parte superior de la página:
+ Servicios de ECS
+ Tareas de ECS
+ Espacios de nombres de EKS
+ Servicios de EKS
+ Pods de EKS

Cuando está visualizando uno de estos tipos de recursos, la parte inferior de la página muestra una tabla ordenada inicialmente por el uso de la CPU. Puede cambiarlo para ordenarlo por uso de la memoria o por la actividad reciente. Para ver más detalles acerca de una de las filas de la tabla, puede seleccionar la casilla de verificación situada junto a esa fila y, a continuación, elegir **Actions** (Acciones) y elija una de las opciones en el menú **Actions** (Acciones).

## Uso de Información de registros de CloudWatch para ver datos de Información de contenedores
<a name="Container-Insights-CloudWatch-Logs-Insights"></a>

Información de contenedores recopila métricas mediante los eventos de registro de rendimiento con el uso del [embedded metric format](CloudWatch_Embedded_Metric_Format.md) (formato de métricas integradas). Los registros se almacenan en CloudWatch Logs. CloudWatch genera varias métricas automáticamente a partir de los registros que se pueden ver en la consola de CloudWatch. También puede realizarse un análisis más profundo de los datos de rendimiento que se recopilan mediante las consultas de Información de registros de CloudWatch.

Para obtener más información sobre Información de registros de CloudWatch, consulte [Analyze Log Data with CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html). Para obtener más información sobre los campos de los registros puede utilizar en las consultas, consulte [Eventos de registro de rendimiento de Información de contenedores para Amazon EKS y Kubernetes](Container-Insights-reference-performance-logs-EKS.md).

**Para utilizar Información de registros de CloudWatch para consultar los datos de las métricas de contenedores**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Registros** y luego, **Información de registros**.

   Cerca de la parte superior de la pantalla se encuentra el editor de consultas. La primera vez que se abre Información de registros de CloudWatch, este cuadro contiene una consulta predeterminada que muestra los 20 eventos del registro más recientes.

1. En el cuadro situado encima del editor de consultas, seleccione uno de los grupos de registros de Información de contenedores que desee consultar. Para que funcionen las siguientes consultas de ejemplo, el nombre del grupo de registros debe terminar por **performance**.

   Al seleccionar un grupo de registros, Información de registros de CloudWatch detecta automáticamente los campos de los datos en el grupo de registros y los muestra en **Discovered fields** (Campos detectados) en el panel derecho. También muestra un gráfico de barras de eventos de registro en este grupo de registro con el paso del tiempo. Este gráfico de barras muestra la distribución de los eventos en el grupo de registros que coincide con la consulta y el intervalo de tiempo, no solo los eventos que se muestran en la tabla.

1. En el editor de consultas, sustituya la consulta predeterminada por la consulta siguiente y elija **Run query (Ejecutar consulta)**.

   ```
   STATS avg(node_cpu_utilization) as avg_node_cpu_utilization by NodeName
   | SORT avg_node_cpu_utilization DESC
   ```

   Esta consulta muestra una lista de nodos, ordenada por el promedio de utilización de la CPU del nodo.

1. Para probar otro ejemplo, sustituya esa consulta por otra y elija **Run query** (Ejecutar consulta). Se enumerarán más consultas de ejemplo más adelante en esta página.

   ```
   STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName
   | SORT avg_number_of_container_restarts DESC
   ```

   Esta consulta muestra una lista de pods ordenada por el número medio de reinicios del contenedor.

1. Si desea probar otra consulta, puede incluir campos de la lista situada a la derecha de la pantalla. Para obtener más información sobre la sintaxis de consulta, consulte [CloudWatch Logs Insights Query Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).

**Para ver las listas de recursos**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. La vista predeterminada contiene los recursos que Información de contenedores supervisa y las alarmas que se han configurado en estos recursos. Para ver un mapa visual de los recursos, elija **Vista de mapa**.

1. En la vista de mapa, puede detener el puntero sobre cualquier recurso del mapa para ver sus métricas básicas. Elija cualquier recurso para ver gráficos más detallados sobre él.

## Caso de uso: Visualización de métricas de nivel de tarea en contenedores de Amazon ECS
<a name="Container-Insights-CloudWatch-Logs-Insights-example"></a>

En el siguiente ejemplo se ilustra cómo se utiliza Información de registros de CloudWatch para profundizar en los registros de Información de contenedores. Para obtener más ejemplos, consulte el blog [Presentación de Información de contenedores de Amazon CloudWatch para Amazon ECS](https://aws.amazon.com/blogs/mt/introducing-container-insights-for-amazon-ecs/)).

 Información de contenedores no genera automáticamente métricas en el nivel de granularidad de la tarea. La siguiente consulta muestra métricas de nivel de tarea para el uso de la CPU y de la memoria.

```
stats avg(CpuUtilized) as CPU, avg(MemoryUtilized) as Mem by TaskId, ContainerName
| sort Mem, CPU desc
```

## Otras consultas de muestra para Información de contenedores
<a name="Container-Insights-sample-queries"></a>

**Lista de pods ordenada por el número medio de reinicios del contenedor**

```
STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName
| SORT avg_number_of_container_restarts DESC
```

**Pods solicitados frente a pods en ejecución**

```
fields @timestamp, @message 
| sort @timestamp desc 
| filter Type="Pod" 
| stats min(pod_number_of_containers) as requested, min(pod_number_of_running_containers) as running, ceil(avg(pod_number_of_containers-pod_number_of_running_containers)) as pods_missing by kubernetes.pod_name 
| sort pods_missing desc
```

**Número de errores de nodos del clúster**

```
stats avg(cluster_failed_node_count) as CountOfNodeFailures 
| filter Type="Cluster" 
| sort @timestamp desc
```

**Errores de registro de aplicaciones por nombre de contenedor**

```
stats count() as countoferrors by kubernetes.container_name 
| filter stream="stderr" 
| sort countoferrors desc
```

# Métricas que Información de contenedores recopila
<a name="Container-Insights-metrics"></a>

Información de contenedores recopila un conjunto de métricas para Amazon ECS y AWS Fargate en Amazon ECS y un conjunto diferente para Amazon EKS, AWS Fargate en Amazon EKS, RedHat OpenShift en AWS (ROSA) y Kubernetes.

Las métricas no están visibles hasta que las tareas del contenedor hayan estado ejecutándose durante algún tiempo.

**Topics**
+ [Métricas de Información de contenedores de Amazon ECS con observabilidad mejorada](Container-Insights-enhanced-observability-metrics-ECS.md)
+ [Métricas de Información de contenedores de Amazon ECS](Container-Insights-metrics-ECS.md)
+ [Métricas de Amazon EKS e Información de contenedores de Kubernetes con observabilidad mejorada](Container-Insights-metrics-enhanced-EKS.md)
+ [Métricas de Información de contenedores de Kubernetes y de Amazon EKS](Container-Insights-metrics-EKS.md)
+ [Referencia de registros de rendimiento de Información de contenedores](Container-Insights-reference.md)
+ [Supervisión de métricas de Información de contenedores de Prometheus](ContainerInsights-Prometheus.md)
+ [Integración con Información de aplicaciones](container-insights-appinsights.md)
+ [Consulta de los eventos del ciclo de vida de Amazon ECS en Información de contenedores](container-insights-ECS-lifecycle-events.md)
+ [Solución de problemas de Información de contenedores](ContainerInsights-troubleshooting.md)
+ [Creación de su propia imagen de Docker del agente de CloudWatch](ContainerInsights-build-docker-image.md)
+ [Implementación de otras características del agente de CloudWatch en los contenedores](ContainerInsights-other-agent-features.md)

# Métricas de Información de contenedores de Amazon ECS con observabilidad mejorada
<a name="Container-Insights-enhanced-observability-metrics-ECS"></a>

Información de contenedores con observabilidad mejorada proporciona más visibilidad de las cargas de trabajo en contenedores, ya que ofrece lo siguiente:
+ Más detalle de las métricas tanto por tarea como por contenedor
+ Capacidades mejoradas de supervisión y solución de problemas
+ Integración con Registros de CloudWatch para hacer lo siguiente:
  + Correlacionar las anomalías de las métricas con las entradas de registro
  + Llevar a cabo un análisis de la causa raíz más rápido
  + Reducir el tiempo de resolución de problemas complejos relacionados con los contenedores

**Casos de uso**

Información de contenedores con observabilidad mejorada amplía las capacidades de Información de contenedores estándar. Permite los siguientes casos de uso:
+ **Solución de problemas por tarea**: identifique los cuellos de botella en el rendimiento por tarea. Analice las métricas por tarea y compárelas con los recursos reservados para determinar si las tareas tienen suficiente capacidad de procesamiento. 
+ **Optimización de los recursos por contenedor**: haga un seguimiento del uso en comparación con los niveles de reserva para identificar los contenedores que tienen recursos limitados o que están sobreaprovisionados. 
+ **Evaluación del estado de los contenedores**: supervise los recuentos de reinicios y las transiciones de estado para detectar contenedores inestables que requieran intervención. 
+ **Supervisión del rendimiento de las aplicaciones**: haga un seguimiento de la forma en que las aplicaciones se comunican entre sí, supervise los patrones de uso de los recursos y optimice el rendimiento del almacenamiento de datos.
+ **Supervisión operativa**: supervise las implementaciones, haga un seguimiento de los conjuntos de tareas para las implementaciones azul/verde y mantenga el estado de la plataforma mediante métricas de servicio.

Para obtener más información sobre las métricas de Amazon ECS, consulte [Casos de uso de métricas de utilización de los servicios de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_utilization-metrics-explanation.html) y, para obtener información sobre Información de contenedores con observabilidad mejorada, [Métricas de Información de contenedores de Amazon ECS con observabilidad mejorada](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-enhanced-observability-metrics-ECS.html).

Información de contenedores también muestra estadísticas de clústeres, servicios y de daemon al promediar los datos de todas las tareas. Esto proporciona una visión de más alto nivel del estado de su servicio y de daemon, lo que ayuda tanto a la supervisión del entorno como a la planificación de la capacidad.

**nota**  
Las métricas de Daemons administrados de Amazon ECS utilizan el mismo espacio de nombres `ECS/ContainerInsights` y la misma dimensión `ServiceName` que las métricas de servicio. En el caso de las métricas de daemon, el valor de la dimensión `ServiceName` utiliza el formato `daemon:daemon-name`. Por ejemplo, un daemon denominado `my-daemon` tiene una dimensión `ServiceName` con el valor `daemon:my-daemon`. Todas las métricas de la tabla siguiente que incluyen la dimensión `ServiceName` también se aplican a Daemons administrados.

En la siguiente tabla, se muestran las métricas y dimensiones que recopila Información de contenedores con observabilidad mejorada para Amazon ECS. Estas métricas se encuentran en el espacio de nombres `ECS/ContainerInsights`. Para obtener más información, consulte [Métricas](cloudwatch_concepts.md#Metric).

Si no ve ninguna métrica de Información de contenedores en la consola, asegúrese de haber completado la configuración de Información de contenedores con observabilidad mejorada. Las métricas no aparecen antes de haber configurado por completo Información de contenedores con observabilidad mejorada. Para obtener más información, consulte [Configuración de Información de contenedores con observabilidad mejorada](deploy-container-insights-ECS-cluster.md#set-container-insights-ECS-cluster-enhanced).

Las métricas siguientes están disponibles para todos los tipos de lanzamiento.


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `ContainerInstanceCount`  |  `ClusterName`  |  El número de instancias EC2 que ejecutan el agente de Amazon ECS que están registradas en un clúster. Esta métrica se recopila únicamente para las instancias de contenedor que ejecutan tareas de Amazon ECS en el clúster. No se recopila para las instancias de contenedor vacías que no tienen ninguna tarea de Amazon ECS. Unidad: recuento  | 
|  `ContainerCpuUtilized`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  Las unidades de CPU utilizadas por contenedores en el recurso especificado por el conjunto de dimensiones que está utilizando. También se aplica a Daemons administrados. Unidad: ninguna  | 
|  `ContainerCpuReserved`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  Las unidades de CPU reservadas por los contenedores en el recurso especificado por el conjunto de dimensiones que está utilizando. Esta métrica se recopila en función de la reserva de CPU establecida en la definición de la tarea, por ejemplo, a nivel de tarea o de todos los contenedores. Si esto no se especifica en la definición de la tarea, se utiliza la reserva de CPU de la instancia. También se aplica a Daemons administrados. Unidad: ninguna  | 
|  `ContainerCpuUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   | El porcentaje total de las unidades de CPU utilizadas por contenedores en el recurso especificado por el conjunto de dimensiones que está utilizando. Unidad: porcentaje | 
|  `ContainerMemoryUtilized`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  La memoria que están utilizando los contenedores en el recurso especificado por el conjunto de dimensiones que está utilizando. También se aplica a Daemons administrados. Unidades: megabytes  | 
|  `ContainerMemoryReserved`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  La memoria reservada por los contenedores en el recurso que se especifica mediante el conjunto de dimensiones que está utilizando.  Esta métrica se recopila en función de la reserva de memoria establecida en la definición de la tarea, por ejemplo, a nivel de tarea o de todos los contenedores. Si esto no se especifica en la definición de la tarea, se utiliza la reserva de memoria de la instancia. También se aplica a Daemons administrados. Unidades: megabytes  | 
|  `ContainerMemoryUtilization`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  | El porcentaje total de memoria que están utilizando los contenedores en el recurso especificado por el conjunto de dimensiones que está utilizando. También se aplica a Daemons administrados. Unidad: porcentaje | 
|  `ContainerNetworkRxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  El número de bytes recibidos por el contenedor que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. Esta métrica solo está disponible para los contenedores en tareas que utilizan modos de redes `awsvpc` o `bridge`. También se aplica a Daemons administrados. Unidad: bytes/segundo  | 
|  `ContainerNetworkTxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  El número de bytes transmitidos por el contenedor que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. Esta métrica solo está disponible para los contenedores en tareas que utilizan modos de redes `awsvpc` o `bridge`. También se aplica a Daemons administrados. Unidad: bytes/segundo  | 
|  `ContainerStorageReadBytes`  |  `ClusterName` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `TaskId`, `ContainerName`  |  La cantidad de bytes leídos desde el almacenamiento en el contenedor en el recurso que se especifica mediante las dimensiones que está utilizando. Esto no incluye los bytes de lectura de sus dispositivos de almacenamiento. Esta métrica se obtiene del tiempo de ejecución de Docker. También se aplica a Daemons administrados. Unidades: bytes  | 
|  `ContainerStorageWriteBytes`  |  `ClusterName` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `TaskId`, `ContainerName`  |  El número de bytes escritos en almacenamiento en el contenedor que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. También se aplica a Daemons administrados. Unidades: bytes  | 
|  `CpuUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  Las unidades de CPU utilizadas por tareas en el recurso especificado por el conjunto de dimensiones que está utilizando. También se aplica a Daemons administrados. Unidad: ninguna  | 
|  `CpuReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Las unidades de CPU reservadas por las tareas en el recurso especificado por el conjunto de dimensiones que está utilizando. Esta métrica se recopila en función de la reserva de CPU establecida en la definición de la tarea, por ejemplo, a nivel de tarea o de todos los contenedores. Si esto no se especifica en la definición de la tarea, se utiliza la reserva de CPU de la instancia. También se aplica a Daemons administrados. Unidad: ninguna  | 
|  `DeploymentCount`  |  `ServiceName`, `ClusterName`  |  El número de implementaciones en un servicio Amazon ECS. Unidad: recuento  | 
|  `DesiredTaskCount`  |  `ServiceName`, `ClusterName`  |  El número deseado de tareas para un servicio Amazon ECS. Unidad: recuento  | 
|  `EBSFilesystemSize`  |  `ClusterName` ,`TaskDefinitionFamily`, `VolumeName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La cantidad total, en gigabytes (GB), del almacenamiento del sistema de archivos de Amazon EBS que se asigna a los recursos especificados por las dimensiones que está utilizando. Esta métrica solo está disponible para tareas que utilicen la infraestructura de Amazon ECS en Fargate mediante la versión de la plataforma `1.4.0` o posterior o instancias de Amazon EC2 que utilicen la versión de agente de contenedor `1.79.0` o posterior. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  `EBSFilesystemUtilized`  |  `ClusterName` ,`TaskDefinitionFamily`, `VolumeName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La cantidad total, en gigabytes (GB), del almacenamiento del sistema de archivos de Amazon EBS que utilizan los recursos especificados según las dimensiones que está utilizando. Esta métrica solo está disponible para tareas que utilicen la infraestructura de Amazon ECS en Fargate mediante la versión de la plataforma `1.4.0` o posterior o instancias de Amazon EC2 que utilicen la versión de agente de contenedor `1.79.0` o posterior. Para las tareas que se ejecutan en Fargate, Fargate reserva espacio en el disco que solo utiliza Fargate. El espacio que usa Fargate no tiene ningún costo, pero verá este almacenamiento adicional con herramientas como `df`. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  `TaskEBSFilesystemUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ClusterName`, `ServiceName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `TaskId`  |  El porcentaje del almacenamiento del sistema de archivos de Amazon EBS que está utilizando la tarea especificada según las dimensiones que se están utilizando. Esta métrica solo está disponible para tareas que utilicen la infraestructura de Amazon ECS en Fargate mediante la versión de la plataforma `1.4.0` o posterior o instancias de Amazon EC2 que utilicen la versión de agente de contenedor `1.79.0` o posterior. También se aplica a Daemons administrados. Unidad: porcentaje  | 
|  EphemeralStorageReserved [1](#ci-enhanced-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  El número de bytes reservados desde el almacenamiento efímero en el recurso que se especifica mediante las dimensiones que está utilizando. El almacenamiento efímero se utiliza para el sistema de archivos raíz del contenedor y para cualquier volumen host de montaje enlazado definido en la imagen del contenedor y la definición de la tarea. La cantidad de almacenamiento efímero no se puede cambiar en una tarea en ejecución. Esta métrica solo está disponible para tareas que utilicen la versión de la plataforma Fargate de Linux 1.4.0 o una posterior. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  EphemeralStorageUtilized [1](Container-Insights-metrics-ECS.md#ci-metrics-ecs-storage-fargate-note)  |  `ClusterName` `ClusterName`, `TaskDefinitionFamily` `ClusterName`, `ServiceName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  El número de bytes que se usan desde el almacenamiento efímero en el recurso que se especifica mediante las dimensiones que está utilizando. El almacenamiento efímero se utiliza para el sistema de archivos raíz del contenedor y para cualquier volumen host de montaje enlazado definido en la imagen del contenedor y la definición de la tarea. La cantidad de almacenamiento efímero no se puede cambiar en una tarea en ejecución. Esta métrica solo está disponible para tareas que utilicen la versión de la plataforma Fargate de Linux 1.4.0 o una posterior. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  `MemoryUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  La memoria que están utilizando las tareas en el recurso especificado por el conjunto de dimensiones que está utilizando. También se aplica a Daemons administrados. Unidades: megabytes  | 
|  `MemoryReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  La memoria reservada por las tareas en el recurso que se especifica mediante el conjunto de dimensiones que está utilizando.  Esta métrica se recopila en función de la reserva de memoria establecida en la definición de la tarea, por ejemplo, a nivel de tarea o de todos los contenedores. Si esto no se especifica en la definición de la tarea, se utiliza la reserva de memoria de la instancia. También se aplica a Daemons administrados. Unidades: megabytes  | 
|  `NetworkRxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  El número de bytes recibidos por el recurso que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. Esta métrica solo está disponible para los contenedores en tareas que utilizan modos de redes `awsvpc` o `bridge`. También se aplica a Daemons administrados. Unidad: bytes/segundo  | 
|  `NetworkTxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  El número de bytes transmitidos por el recurso que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. Esta métrica solo está disponible para los contenedores en tareas que utilizan modos de redes `awsvpc` o `bridge`. También se aplica a Daemons administrados. Unidad: bytes/segundo  | 
|  `PendingTaskCount`  |  `ServiceName`, `ClusterName`  |  El número de tareas que actualmente tienen el estado `PENDING`. Unidad: recuento  | 
|  `RunningTaskCount`  |  `ServiceName`, `ClusterName`  |  El número de tareas que actualmente tienen el estado `RUNNING`. Unidad: recuento  | 
|  `RestartCount`  |  `ClusterName` `ClusterName`, `ServiceName` `ClusterName`, `TaskDefinitionFamily` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `TaskDefinitionFamily`, `ClusterName`, `TaskId`, `ContainerName`  |  La cantidad de veces que se ha reiniciado un contenedor de una tarea de Amazon ECS. Esta métrica se recopila únicamente para los contenedores que tienen una política de reinicio habilitada. También se aplica a Daemons administrados. Unidad: recuento  | 
|  `UnHealthyContainerHealthStatus`  |  `ClusterName` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `TaskId`, `ContainerName`  |  El número de contenedores en mal estado según el estado de la comprobación de estado del contenedor. Un contenedor se considera en mal estado cuando así se indica en la comprobación de estado. Esta métrica se recopila únicamente para los contenedores que tienen una comprobación de estado configurada en la definición de la tarea. El valor de la métrica es 1 cuando el estado del contenedor es `UNHEALTHY` y 0 cuando es `HEALTHY`. Unidad: recuento  | 
|  `ServiceCount`  |  `ClusterName`  |  El número de servicios en el clúster. Unidad: recuento  | 
|  `StorageReadBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  La cantidad de bytes leídos desde el almacenamiento en la instancia en el recurso que se especifica mediante las dimensiones que está utilizando. Esto no incluye los bytes de lectura de sus dispositivos de almacenamiento. Esta métrica se obtiene del tiempo de ejecución de Docker. También se aplica a Daemons administrados. Unidades: bytes  | 
|  `StorageWriteBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  El número de bytes escritos en almacenamiento en el recurso que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. También se aplica a Daemons administrados. Unidades: bytes  | 
|  `TaskCount`  |  `ClusterName`  |  El número de tareas que se ejecutan en el clúster. Unidad: recuento  | 
|  `TaskCpuUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  El porcentaje total de unidades de CPU que utiliza una tarea.  También se aplica a Daemons administrados. Unidad: porcentaje  | 
|  `TaskEphemeralStorageUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  El porcentaje total de almacenamiento efímero que utiliza una tarea.  También se aplica a Daemons administrados. Unidad: porcentaje  | 
|  `TaskMemoryUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  El porcentaje total de memoria que utiliza una tarea.  También se aplica a Daemons administrados. Unidad: porcentaje  | 
|  `TaskSetCount`  |  `ServiceName`, `ClusterName`  |  El número de conjuntos de tareas en el servicio. Unidad: recuento  | 

**nota**  
Las métricas `EphemeralStorageReserved` y `EphemeralStorageUtilized` solo están disponibles para tareas que se ejecuten en la versión 1.4.0 o una versión posterior de la plataforma Fargate de Linux.  
Fargate reserva espacio en el disco. Solo lo usa Fargate. No se cobra por esto. No se muestra en estas métricas. Sin embargo, puede ver este almacenamiento adicional en otras herramientas, como `df`.

Las siguientes métricas están disponibles al completar los pasos en [Implementación del agente de CloudWatch para recopilar métricas de nivel de instancia EC2 en Amazon ECS](deploy-container-insights-ECS-instancelevel.md) y usar el tipo de lanzamiento de EC2.


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `instance_cpu_limit`  |  `ClusterName`  |  El número máximo de unidades de CPU que se pueden asignar a una única instancia de EC2 en el clúster. Unidad: ninguna  | 
|  `instance_cpu_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje de CPU reservado actualmente en una única instancia EC2 en el clúster. Unidad: porcentaje  | 
|  `instance_cpu_usage_total`  |  `ClusterName`  |  El número de unidades de CPU utilizadas en una única instancia EC2 en el clúster. Unidad: ninguna  | 
|  `instance_cpu_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje total de unidades de CPU utilizadas en una única instancia EC2 en el clúster.  Unidad: porcentaje  | 
|  `instance_filesystem_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje total de capacidad del sistema de archivos utilizada en una única instancia EC2 en el clúster.  Unidad: porcentaje  | 
|  `instance_memory_limit`  |  `ClusterName`  |  La cantidad máxima de memoria, en bytes, que se puede asignar a una única instancia de EC2 en este clúster.  Unidades: bytes  | 
|  `instance_memory_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje de memoria reservada actualmente en una única instancia de EC2 en el clúster. Unidad: porcentaje  | 
|  `instance_memory_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje total de memoria utilizada en una única instancia de EC2 en el clúster.  Si utiliza el recolector de elementos no utilizados ZGC de Java para la aplicación, es posible que esta métrica no sea precisa.  Unidad: porcentaje  | 
|  `instance_memory_working_set`  |  `ClusterName`  |  La cantidad de memoria, en bytes, utilizada en una única instancia de EC2 en el clúster.  Si utiliza el recolector de elementos no utilizados ZGC de Java para la aplicación, es posible que esta métrica no sea precisa.  Unidades: bytes  | 
|  `instance_network_total_bytes`  |  `ClusterName`  |  El número total de bytes por segundo transmitidos y recibidos a través de la red en una única instancia de EC2 en el clúster. Unidad: bytes/segundo  | 
|  `instance_number_of_running_tasks`  |  `ClusterName`  |  El número de tareas en ejecución en una única instancia de EC2 en el clúster. Unidad: recuento  | 

# Métricas de Información de contenedores de Amazon ECS
<a name="Container-Insights-metrics-ECS"></a>

Las métricas de Información de contenedores proporcionan métricas adicionales sobre red, almacenamiento y almacenamiento efímero. Estas métricas proporcionan más información que las métricas estándar de Amazon ECS. Información de contenedores se integra con Registros de CloudWatch. Puede correlacionar los cambios en las métricas con las entradas de registro para facilitar la solución de problemas. Información de contenedores también muestra estadísticas de clústeres, servicios y de daemon al promediar los datos de todas las tareas. Esto proporciona una visión de más alto nivel del estado de su servicio y de daemon, lo que ayuda tanto a la supervisión del entorno como a la planificación de la capacidad.

**Casos de uso**
+ **Identificación y solución de problemas**: haga un seguimiento de las implementaciones fallidas mediante el análisis de los patrones de transición del estado de las tareas, lo que permite identificar rápidamente los puntos de error. Diagnostique los problemas de configuración mediante un examen exhaustivo de las secuencias de inicio de las tareas y los comportamientos de inicialización.
+ **Evaluación del estado por clúster y servicio**: muestra el rendimiento medio de las tareas en todo el clúster. Este método modera los valores atípicos para ofrecer una visión más estable del estado de los clústeres y los servicios. Utilice esta información para la supervisión de los servicios generales, donde los valores extremos pueden resultar engañosos. 
+ **Problemas de disponibilidad del servicio**: detecte los errores de implementación mediante la supervisión de métricas de recuento de tareas en ejecución. Correlacione los registros de eventos del servicio con las métricas de rendimiento para comprender los impactos en la infraestructura. Haga un seguimiento de los patrones de reinicio de las tareas para identificar problemas de infraestructura o servicios inestables
+ **Planificación de la capacidad para una carga media**: ayuda a determinar las necesidades de recursos en función de los patrones de comportamiento típicos de las tareas, proporciona métricas coherentes que permiten una planificación eficaz a largo plazo y reduce el impacto de los picos efímeros en las decisiones de capacidad.
+ **Proporciona métricas adicionales**: recopila métricas adicionales de red, almacenamiento y almacenamiento efímero que no están disponibles en las métricas aconsejadas

Para obtener más información sobre las métricas de Amazon ECS, consulte [Casos de uso de métricas de utilización de los servicios de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_utilization-metrics-explanation.html) y, para obtener información sobre Información de contenedores con observabilidad mejorada, [Métricas de Información de contenedores de Amazon ECS con observabilidad mejorada](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-enhanced-observability-metrics-ECS.html).

**nota**  
Las métricas de Daemons administrados de Amazon ECS utilizan el mismo espacio de nombres `ECS/ContainerInsights` y la misma dimensión `ServiceName` que las métricas de servicio. En el caso de las métricas de daemon, el valor de la dimensión `ServiceName` utiliza el formato `daemon:daemon-name`. Por ejemplo, un daemon denominado `my-daemon` tiene una dimensión `ServiceName` con el valor `daemon:my-daemon`. Todas las métricas de la tabla siguiente que incluyen la dimensión `ServiceName` también se aplican a Daemons administrados.

En la siguiente tabla, se muestran las métricas y dimensiones que recopila Información de contenedores para Amazon ECS. Estas métricas se encuentran en el espacio de nombres `ECS/ContainerInsights`. Para obtener más información, consulte [Métricas](cloudwatch_concepts.md#Metric).

Si no ve ninguna métrica de Información de contenedores en la consola, asegúrese de haber completado la configuración de Información de contenedores. Las métricas no aparecen antes de haber configurado por completo Información de contenedores. Para obtener más información, consulte [Configuración de Información de contenedores](deploy-container-insights.md).

Las siguientes métricas están disponibles al completar los pasos en [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS-cluster.md).


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `ContainerInstanceCount`  |  `ClusterName`  |  El número de instancias EC2 que ejecutan el agente de Amazon ECS que están registradas en un clúster. Esta métrica se recopila únicamente para las instancias de contenedor que ejecutan tareas de Amazon ECS en el clúster. No se recopila para las instancias de contenedor vacías que no tienen ninguna tarea de Amazon ECS. Unidad: recuento  | 
|  `CpuUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Las unidades de CPU utilizadas por tareas en el recurso especificado por el conjunto de dimensiones que está utilizando. También se aplica a Daemons administrados. Unidad: ninguna  | 
|  `CpuReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Las unidades de CPU reservadas por las tareas en el recurso especificado por el conjunto de dimensiones que está utilizando. Esta métrica se recopila en función de la reserva de CPU establecida en la definición de la tarea, por ejemplo, a nivel de tarea o de todos los contenedores. Si esto no se especifica en la definición de la tarea, se utiliza la reserva de CPU de la instancia. También se aplica a Daemons administrados. Unidad: ninguna  | 
|  `DeploymentCount`  |  `ServiceName`, `ClusterName`  |  El número de implementaciones en un servicio Amazon ECS. Unidad: recuento  | 
|  `DesiredTaskCount`  |  `ServiceName`, `ClusterName`  |  El número deseado de tareas para un servicio Amazon ECS. Unidad: recuento  | 
|  `EBSFilesystemSize`  |  `VolumeName`, `TaskDefinitionFamily`, `ClusterName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La cantidad total, en gigabytes (GB), del almacenamiento del sistema de archivos de Amazon EBS que se asigna a los recursos especificados por las dimensiones que está utilizando. Esta métrica solo está disponible para tareas que utilicen la infraestructura de Amazon ECS en Fargate mediante la versión de la plataforma `1.4.0` o posterior o instancias de Amazon EC2 que utilicen la versión de agente de contenedor `1.79.0` o posterior. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  `EBSFilesystemUtilized`  |  `VolumeName`, `TaskDefinitionFamily`, `ClusterName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La cantidad total, en gigabytes (GB), del almacenamiento del sistema de archivos de Amazon EBS que utilizan los recursos especificados según las dimensiones que está utilizando. Esta métrica solo está disponible para tareas que utilicen la infraestructura de Amazon ECS en Fargate mediante la versión de la plataforma `1.4.0` o posterior o instancias de Amazon EC2 que utilicen la versión de agente de contenedor `1.79.0` o posterior. Para las tareas que se ejecutan en Fargate, Fargate reserva espacio en el disco que solo utiliza Fargate. El espacio que usa Fargate no tiene ningún costo, pero verá este almacenamiento adicional con herramientas como `df`. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  EphemeralStorageReserved [1](#ci-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  El número de bytes reservados desde el almacenamiento efímero en el recurso que se especifica mediante las dimensiones que está utilizando. El almacenamiento efímero se utiliza para el sistema de archivos raíz del contenedor y para cualquier volumen host de montaje enlazado definido en la imagen del contenedor y la definición de la tarea. La cantidad de almacenamiento efímero no se puede cambiar en una tarea en ejecución. Esta métrica solo está disponible para tareas que utilicen la versión de la plataforma Fargate de Linux 1.4.0 o una posterior. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  EphemeralStorageUtilized [1](#ci-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  El número de bytes que se usan desde el almacenamiento efímero en el recurso que se especifica mediante las dimensiones que está utilizando. El almacenamiento efímero se utiliza para el sistema de archivos raíz del contenedor y para cualquier volumen host de montaje enlazado definido en la imagen del contenedor y la definición de la tarea. La cantidad de almacenamiento efímero no se puede cambiar en una tarea en ejecución. Esta métrica solo está disponible para tareas que utilicen la versión de la plataforma Fargate de Linux 1.4.0 o una posterior. También se aplica a Daemons administrados. Unidad: Gigabytes (GB)  | 
|  `InstanceOSFilesystemUtilization`  |  `CapacityProviderName`, `ClusterName`, `ContainerInstanceId`, `EC2InstanceId` `ClusterName`  |  El porcentaje de espacio total en disco que se utiliza por volumen del sistema operativo.  | 
|  `InstanceDataFilesystemUtilization`  |  `CapacityProviderName`, `ClusterName`, `ContainerInstanceId`, `EC2InstanceId` `ClusterName`  |  El porcentaje de espacio total en disco que se utiliza por volumen de datos.  | 
|  `MemoryUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  La memoria que están utilizando las tareas en el recurso especificado por el conjunto de dimensiones que está utilizando.  Si utiliza el recolector de elementos no utilizados ZGC de Java para la aplicación, es posible que esta métrica no sea precisa. Aunque `MemoryUtilized` y `MemoryReserved` están marcadas como “Megabytes”, las unidades reales están en MiB (Mebibytes).  También se aplica a Daemons administrados. Unidades: megabytes  | 
|  `MemoryReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  La memoria reservada por las tareas en el recurso que se especifica mediante el conjunto de dimensiones que está utilizando. Esta métrica se recopila en función de la reserva de memoria establecida en la definición de la tarea, por ejemplo, a nivel de tarea o de todos los contenedores. Si esto no se especifica en la definición de la tarea, se utiliza la reserva de memoria de la instancia. También se aplica a Daemons administrados. Unidades: megabytes  Aunque `MemoryUtilized` y `MemoryReserved` están marcadas como “Megabytes”, las unidades reales están en MiB (Mebibytes).   | 
|  `NetworkRxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  El número de bytes recibidos por el recurso que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. Esta métrica solo está disponible para los contenedores en tareas que utilizan modos de redes `awsvpc` o `bridge`. También se aplica a Daemons administrados. Unidad: bytes/segundo  | 
|  `NetworkTxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  El número de bytes transmitidos por el recurso que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. Esta métrica solo está disponible para los contenedores en tareas que utilizan modos de redes `awsvpc` o `bridge`. También se aplica a Daemons administrados. Unidad: bytes/segundo  | 
|  `PendingTaskCount`  |  `ServiceName`, `ClusterName`  |  El número de tareas que actualmente tienen el estado `PENDING`. Unidad: recuento  | 
|  `RunningTaskCount`  |  `ServiceName`, `ClusterName`  |  El número de tareas que actualmente tienen el estado `RUNNING`. Unidad: recuento  | 
|  `RestartCount`  |  `ClusterName` `ClusterName`, `ServiceName` `ClusterName`, `TaskDefinitionFamily`  |  La cantidad de veces que se ha reiniciado un contenedor de una tarea de Amazon ECS. Esta métrica se recopila únicamente para los contenedores que tienen una política de reinicio habilitada. También se aplica a Daemons administrados. Unidad: recuento  | 
|  `ServiceCount`  |  `ClusterName`  |  El número de servicios en el clúster. Unidad: recuento  | 
|  `StorageReadBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  La cantidad de bytes leídos desde el almacenamiento en la instancia en el recurso que se especifica mediante las dimensiones que está utilizando. Esto no incluye los bytes de lectura de sus dispositivos de almacenamiento. Esta métrica se obtiene del tiempo de ejecución de Docker. También se aplica a Daemons administrados. Unidades: bytes  | 
|  `StorageWriteBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  El número de bytes escritos en almacenamiento en el recurso que se especifica mediante las dimensiones que está utilizando. Esta métrica se obtiene del tiempo de ejecución de Docker. También se aplica a Daemons administrados. Unidades: bytes  | 
|  `TaskCount`  |  `ClusterName`  |  El número de tareas que se ejecutan en el clúster. Unidad: recuento  | 
|  `TaskSetCount`  |  `ServiceName`, `ClusterName`  |  El número de conjuntos de tareas en el servicio. Unidad: recuento  | 

**nota**  
Las métricas `EphemeralStorageReserved` y `EphemeralStorageUtilized` solo están disponibles para tareas que se ejecuten en la versión 1.4.0 o una versión posterior de la plataforma Fargate de Linux.  
Fargate reserva espacio en el disco. Solo lo usa Fargate. No se cobra por esto. No se muestra en estas métricas. Sin embargo, puede ver este almacenamiento adicional en otras herramientas, como `df`.

Las siguientes métricas están disponibles al completar los pasos en [Implementación del agente de CloudWatch para recopilar métricas de nivel de instancia EC2 en Amazon ECS](deploy-container-insights-ECS-instancelevel.md)


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `instance_cpu_limit`  |  `ClusterName`  |  El número máximo de unidades de CPU que se pueden asignar a una única instancia EC2 en el clúster. Unidad: ninguna  | 
|  `instance_cpu_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje de CPU reservado actualmente en una única instancia EC2 en el clúster. Unidad: porcentaje  | 
|  `instance_cpu_usage_total`  |  `ClusterName`  |  El número de unidades de CPU utilizadas en una única instancia EC2 en el clúster. Unidad: ninguna  | 
|  `instance_cpu_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje total de unidades de CPU utilizadas en una única instancia EC2 en el clúster.  Unidad: porcentaje  | 
|  `instance_filesystem_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje total de capacidad del sistema de archivos utilizada en una única instancia EC2 en el clúster.  Unidad: porcentaje  | 
|  `instance_memory_limit`  |  `ClusterName`  |  La cantidad máxima de memoria, en bytes, que se puede asignar a una única instancia EC2 en este clúster.  Unidades: bytes  | 
|  `instance_memory_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje de memoria reservada actualmente en una única instancia EC2 en el clúster. Unidad: porcentaje  | 
|  `instance_memory_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  El porcentaje total de memoria utilizada en una única instancia EC2 en el clúster.  Si utiliza el recolector de elementos no utilizados ZGC de Java para la aplicación, es posible que esta métrica no sea precisa.  Unidad: porcentaje  | 
|  `instance_memory_working_set`  |  `ClusterName`  |  La cantidad de memoria, en bytes, utilizada en una única instancia EC2 en el clúster.  Si utiliza el recolector de elementos no utilizados ZGC de Java para la aplicación, es posible que esta métrica no sea precisa.  Unidades: bytes  | 
|  `instance_network_total_bytes`  |  `ClusterName`  |  El número total de bytes por segundo transmitidos y recibidos a través de la red en una única instancia EC2 en el clúster. Unidad: bytes/segundo  | 
|  `instance_number_of_running_tasks`  |  `ClusterName`  |  El número de tareas en ejecución en una única instancia EC2 en el clúster. Unidad: recuento  | 

# Métricas de Amazon EKS e Información de contenedores de Kubernetes con observabilidad mejorada
<a name="Container-Insights-metrics-enhanced-EKS"></a>

En las siguientes tablas, se muestran las métricas y las dimensiones que recopila Información de contenedores con observabilidad mejorada para Amazon EKS y Kubernetes. Estas métricas se encuentran en el espacio de nombres `ContainerInsights`. Para obtener más información, consulte [Métricas](cloudwatch_concepts.md#Metric).

Si no ve ninguna métrica de Información de contenedores con observabilidad mejorada en la consola, asegúrese de haber completado la configuración de Información de contenedores con observabilidad mejorada. Las métricas no aparecen antes de haber configurado por completo Información de contenedores con observabilidad mejorada. Para obtener más información, consulte [Configuración de Información de contenedores](deploy-container-insights.md).

Si utiliza la versión 1.5.0 o posterior del complemento de Amazon EKS o la versión 1.300035.0 del agente CloudWatch, la mayoría de las métricas que se muestran en la siguiente tabla se recopilan para los nodos de Linux y Windows. Consulte la columna **Nombre de métrica** de la tabla para ver qué métricas no se recopilan para Windows.

Con la versión anterior de Información de contenedores, que ofrece métricas agregadas por clúster y servicio, las métricas se cargan como métricas personalizadas. Con Información de contenedores, con una observabilidad mejorada para Amazon EKS, las métricas de Información de contenedores se cobran por observación en lugar de cobrarse por métrica almacenada o registro ingerido. Para obtener más información sobre los precios de CloudWatch, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/). 

**nota**  
En Windows, las métricas de red como `pod_network_rx_bytes` y `pod_network_tx_bytes` no se recopilan para los contenedores de procesos del host.  
En los clústeres de RedHat OpenShift en AWS (ROSA), no se recopilan métricas de disco como `node_diskio_io_serviced_total` y `node_diskio_io_service_bytes_total`.


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `cluster_failed_node_count`  |  `ClusterName`  |  El número de nodos de trabajo con errores en el clúster. Se considera que un nodo ha fallado si está sufriendo de cualquiera de las *condiciones de nodo*. Para obtener más información, consulte [Conditions](https://kubernetes.io/docs/concepts/architecture/nodes/#condition) (Condiciones) en la documentación de Kubernetes.  | 
|  `cluster_node_count`  |  `ClusterName`  |  El número total de nodos de trabajo en el clúster.  | 
|  `namespace_number_of_running_pods`  |  `Namespace` `ClusterName` `ClusterName`  |  El número de pods que se ejecutan por espacio de nombres en el recurso que se especifica mediante las dimensiones que está utilizando.  | 
|  `node_cpu_limit`  |  `ClusterName`  `ClusterName`, `InstanceId`, `NodeName`   |  El número máximo de unidades de CPU que se pueden asignar a un único nodo en este clúster.  | 
|  `node_cpu_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje de unidades de CPU que están reservadas para los componentes de nodos, como kubelet, kube-proxy y Docker. Fórmula: `node_cpu_request / node_cpu_limit`  `node_cpu_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_cpu_usage_total`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  El número de unidades de CPU que se utilizan en los nodos del clúster.  | 
|  `node_cpu_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje total de unidades de CPU que se utilizan en los nodos del clúster. Fórmula: `node_cpu_usage_total / node_cpu_limit`  | 
|  `node_filesystem_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje total de capacidad de sistema de archivos que se utiliza en los nodos del clúster. Fórmula: `node_filesystem_usage / node_filesystem_capacity`  `node_filesystem_usage` y `node_filesystem_capacity` no se informan directamente como métricas, sino que son campos en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_limit`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad máxima de memoria, en bytes, que se puede asignar a un único nodo en este clúster.  | 
|  `node_filesystem_inodes`  No está disponible en Windows.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad total de inodos (utilizados y no utilizados) en un nodo.  | 
|  `node_filesystem_inodes_free` No está disponible en Windows.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad total de inodos no utilizados en un nodo.  | 
|  `node_gpu_limit` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  El número total de GPU disponibles en el nodo.  | 
|  `node_gpu_usage_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  El número de GPU que utilizan los pods en ejecución en el nodo.  | 
|  `node_gpu_reserved_capacity` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  | 
|  `node_memory_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje de memoria que se utiliza actualmente en los nodos del clúster. Fórmula: `node_memory_request / node_memory_limit`  `node_memory_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje de memoria que utiliza actualmente el nodo o los nodos. Es el porcentaje de uso de memoria de nodo sobre la limitación de memoria de nodo. Fórmula: `node_memory_working_set / node_memory_limit`.   | 
|  `node_memory_working_set`  |  `ClusterName`  `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad de memoria, en bytes, que se utiliza en el conjunto de trabajo de los nodos del clúster.  | 
|  `node_network_total_bytes`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El número total de bytes por segundo transmitidos y recibidos a través de la red por nodo en un clúster. Fórmula: `node_network_rx_bytes + node_network_tx_bytes`  `node_network_rx_bytes` y `node_network_tx_bytes` no se informan directamente como métricas, sino que son campos en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_number_of_running_containers`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El número de contenedores en ejecución por nodo en un clúster.  | 
|  `node_number_of_running_pods`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El número de pods en ejecución por nodo en un clúster.  | 
|  `node_status_allocatable_pods`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad de pods que se pueden asignar a un nodo en función de sus recursos asignables, que se define como el resto de la capacidad de un nodo después de tener en cuenta las reservas de daemons del sistema y los umbrales de expulsión forzoso.  | 
|  `node_status_capacity_pods`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Cantidad de pods que se pueden asignar a un nodo en función de su capacidad.  | 
|  `node_status_condition_ready`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indica si la condición de estado `Ready` del nodo es verdadera para los nodos de Amazon EC2.  | 
|  `node_status_condition_memory_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indica si la condición de estado `MemoryPressure` del nodo es verdadera.  | 
|  `node_status_condition_pid_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indica si la condición de estado `PIDPressure` del nodo es verdadera.  | 
|  `node_status_condition_disk_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indica si la condición de estado `OutOfDisk` del nodo es verdadera.  | 
|  `node_status_condition_unknown`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indica si alguna de las condiciones de estado del nodo es Desconocida.  | 
|  `node_interface_network_rx_dropped`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad de paquetes que una interfaz de red del nodo recibió y luego descartó.  | 
|  `node_interface_network_tx_dropped`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad de paquetes que debían transmitirse pero que una interfaz de red del nodo descartó.  | 
|  `node_diskio_io_service_bytes_total`  No está disponible en Windows ni en clústeres ROSA.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad total de bytes transferidos por todas las operaciones de E/S del nodo.  | 
|  `node_diskio_io_serviced_total` No está disponible en Windows ni en clústeres ROSA.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  La cantidad total de operaciones de E/S del nodo.  | 
|  `pod_cpu_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  `ClusterName`, `Namespace`, `Service`   |  La capacidad de la CPU reservada por pod en un clúster. Fórmula: `pod_cpu_request / node_cpu_limit`  `pod_cpu_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  El porcentaje de unidades de CPU que utilizan los pods. Fórmula: `pod_cpu_usage_total / node_cpu_limit`  | 
|  `pod_cpu_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  El porcentaje de unidades de CPU utilizadas por pods en relación con el límite de pods. Fórmula: `pod_cpu_usage_total / pod_cpu_limit`  | 
|  `pod_memory_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  `ClusterName`, `Namespace`, `Service`   |  El porcentaje de memoria reservada para los pods. Fórmula: `pod_memory_request / node_memory_limit`  `pod_memory_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  El porcentaje de memoria que utiliza actualmente el pod o los pods. Fórmula: `pod_memory_working_set / node_memory_limit`  | 
|  `pod_memory_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  El porcentaje de memoria utilizada por los pods en relación con el límite de pods. Si algún contenedor del pod no tiene definido un límite de memoria, esta métrica no aparecerá. Fórmula: `pod_memory_working_set / pod_memory_limit`  | 
|  `pod_network_rx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  El número de bytes por segundo que se están recibiendo a través de la red por el pod. Fórmula: `sum(pod_interface_network_rx_bytes)`  `pod_interface_network_rx_bytes` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_network_tx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace,` `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  El número de bytes por segundo que se están transmitiendo a través de la red por el pod. Fórmula: `sum(pod_interface_network_tx_bytes)`  `pod_interface_network_tx_bytes` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_request`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Las solicitudes de la CPU para el pod. Fórmula: `sum(container_cpu_request)`  `pod_cpu_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_request`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Las solicitudes de memoria para el pod. Fórmula: `sum(container_memory_request)`  `pod_memory_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_limit`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  El límite de la CPU definido para los contenedores del pod. Si algún contenedor del pod no tiene definido un límite de la CPU, esta métrica no aparecerá.  Fórmula: `sum(container_cpu_limit)`  `pod_cpu_limit` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_limit`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  El límite de memoria definido para los contenedores del pod. Si algún contenedor del pod no tiene definido un límite de memoria, esta métrica no aparecerá.  Fórmula: `sum(container_memory_limit)`  `pod_cpu_limit` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_status_failed`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica que todos los contenedores del pod terminaron y que al menos un contenedor terminó con un estado distinto de cero o lo canceló el sistema.   | 
|  `pod_status_ready`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica que todos los contenedores del pod están listos y alcanzaron el estado de `ContainerReady`.   | 
|  `pod_status_running`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica que todos los contenedores del pod están en ejecución.   | 
|  `pod_status_scheduled`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica que el pod se programó para un nodo.   | 
|  `pod_status_unknown`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica que no se puede obtener el estado del pod.   | 
|  `pod_status_pending`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica que el clúster aceptó el pod, pero que uno o más de los contenedores aún no están listos.   | 
|  `pod_status_succeeded`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica que todos los contenedores del pod terminaron correctamente y no se reiniciarán.   | 
|  `pod_number_of_containers`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores definido en la especificación del pod.   | 
|  `pod_number_of_running_containers`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que se encuentran actualmente en el estado `Running`.   | 
|  `pod_container_status_terminated`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que se encuentran en el estado `Terminated`.   | 
|  `pod_container_status_running`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que se encuentran en el estado `Running`.   | 
|  `pod_container_status_waiting`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que se encuentran en el estado `Waiting`.   | 
|  `pod_container_status_waiting_reason_crash_loop_back_off`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que están pendientes debido a un error `CrashLoopBackOff`, en el que un contenedor repetidamente no se puede iniciar.  | 
|  `pod_container_status_waiting_reason_create_container_config_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que están pendientes con la razón `CreateContainerConfigError`. Esto se debe a un error al crear la configuración del contenedor.  | 
|  `pod_container_status_waiting_reason_create_container_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que están pendientes con la razón `CreateContainerError` debido a un error al crear el contenedor.  | 
|  `pod_container_status_waiting_reason_image_pull_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica el número de contenedores del pod que están pendientes gracias a `ErrImagePull`, `ImagePullBackOff` o `InvalidImageName`. Estas situaciones se deben a un error al extraer la imagen del contenedor.  | 
|  `pod_container_status_waiting_reason_start_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indica la cantidad de contenedores del pod que están pendientes con la razón `StartError` debido a un error al iniciar el contenedor.  | 
|  `pod_container_status_terminated_reason_oom_killed`   |  `ContainerName`, `FullPodName`, `PodName`, `Namespace`, `ClusterName` `ContainerName`, `PodName`, `Namespace`, `ClusterName` `ClusterName`  |  Indica que se ha cerrado un pod por superar el límite de memoria. Esta métrica solo se muestra cuando se produce este problema.  | 
|  `pod_interface_network_rx_dropped`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  La cantidad de paquetes que esta interfaz de red recibió y luego descartó para el pod.   | 
|  `pod_interface_network_tx_dropped`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  La cantidad de paquetes que debían transmitirse pero que se descartaron para el pod.   | 
| `pod_memory_working_set` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  | La memoria en bytes que utiliza actualmente un pod. | 
| `pod_cpu_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  | El número de unidades de CPU que utiliza un pod. | 
|  `container_cpu_utilization`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  El porcentaje de unidades de CPU que utiliza el contenedor. Fórmula: `container_cpu_usage_total / node_cpu_limit`  `container_cpu_utilization` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_cpu_utilization_over_container_limit`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  El porcentaje de unidades de CPU que utiliza el contenedor en relación con el límite de pods. Si algún contenedor no tiene definido un límite de la CPU, esta métrica no aparecerá. Fórmula: `container_cpu_usage_total / container_cpu_limit`  `container_cpu_utilization_over_container_limit` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_memory_utilization`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  El porcentaje de unidades de memoria que utiliza el contenedor. Fórmula: `container_memory_working_set / node_memory_limit`  `container_memory_utilization` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_memory_utilization_over_container_limit`    |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  El porcentaje de unidades de memoria que utiliza el contenedor en relación con el límite del contenedor. Si algún contenedor no tiene definido un límite de memoria, esta métrica no aparecerá. Fórmula: `container_memory_working_set / container_memory_limit`  `container_memory_utilization_over_container_limit` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_memory_failures_total`  No está disponible en Windows.  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  La cantidad de errores de asignación de memoria que experimentó el contenedor.  | 
|  `pod_number_of_container_restarts`  |  PodName, `Namespace`, `ClusterName`  |  El número total de reinicios del contenedor en un pod.  | 
|  `service_number_of_running_pods`  |  Servicio, `Namespace`, `ClusterName` `ClusterName`  |  El número de pods que ejecutan el servicio o servicios en el clúster.  | 
|  `replicas_desired`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  La cantidad de pods deseada para una carga de trabajo, tal como se define en la especificación de la carga de trabajo.  | 
|  `replicas_ready`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  La cantidad de pods de una carga de trabajo que alcanzó el estado listo.  | 
|  `status_replicas_available`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  La cantidad de pods disponibles para una carga de trabajo. Un pod está disponible cuando está listo para cumplir con los `minReadySeconds` definidos en la especificación de la carga de trabajo.  | 
|  `status_replicas_unavailable`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  La cantidad de pods de una carga de trabajo que no están disponibles. Un pod está disponible cuando está listo para cumplir con los `minReadySeconds` definidos en la especificación de la carga de trabajo. Los pods no están disponibles si no cumplen este criterio.  | 
|  `apiserver_storage_objects`  |  `ClusterName` `ClusterName`, `resource`  |  La cantidad de objetos almacenados en etcd en el momento de la última comprobación.  | 
|  `apiserver_storage_db_total_size_in_bytes`  |  `ClusterName` `ClusterName`, `endpoint`  |  El tamaño total del archivo de base de datos de almacenamiento asignado físicamente en bytes. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes. Unidades: bytes Estadísticas significativas: suma, promedio, mínimo, máximo  | 
|  `apiserver_request_total`  |  `ClusterName` `ClusterName`, `code`, `verb`  |  La cantidad total de solicitudes de la API al servidor de la API de Kubernetes.  | 
|  `apiserver_request_duration_seconds`  |  `ClusterName` `ClusterName`, `verb`  |  La latencia de respuesta a las solicitudes de la API al servidor de la API de Kubernetes.  | 
|  `apiserver_admission_controller_admission_duration_seconds`  |  `ClusterName` `ClusterName`, `operation`  |  La latencia del controlador de admisión en segundos. Un controlador de admisión es un código que intercepta las solicitudes al servidor de la API de Kubernetes.  | 
|  `rest_client_request_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  La latencia de respuesta que experimentan los clientes que llaman al servidor de la API de Kubernetes. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes.  | 
|  `rest_client_requests_total`   |  `ClusterName` `ClusterName`, `code`, `method`  |  La cantidad total de solicitudes de la API al servidor de la API de Kubernetes que hacen los clientes. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes.  | 
|  `etcd_request_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  La latencia de respuesta de las llamadas de la API a Etcd. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes.  | 
|  `apiserver_storage_size_bytes`   |  `ClusterName` `ClusterName`, `endpoint`  |  El tamaño del archivo de base de datos de almacenamiento asignado físicamente en bytes. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes.  | 
|  `apiserver_longrunning_requests`  |  `ClusterName` `ClusterName`, `resource`  |  La cantidad de solicitudes activas de larga duración al servidor de la API de Kubernetes.  | 
|  `apiserver_current_inflight_requests`  |  `ClusterName` `ClusterName`, `request_kind`  |  La cantidad de solicitudes que procesa el servidor de la API de Kubernetes.  | 
|  `apiserver_admission_webhook_admission_duration_seconds`  |  `ClusterName` `ClusterName`, `name`  |  La latencia del webhook de admisión en segundos. Los webhooks de admisión son devoluciones de llamadas HTTP que reciben las solicitudes de admisión y hacen algo con ellas.  | 
|  `apiserver_admission_step_admission_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  La latencia del subpaso de admisión en segundos.  | 
|  `apiserver_requested_deprecated_apis`   |  `ClusterName` `ClusterName`, `group`  |  La cantidad de solicitudes a API obsoletas en el servidor de la API de Kubernetes.  | 
|  `apiserver_request_total_5xx`  |  `ClusterName` `ClusterName`, `code`, `verb`  |  La cantidad de solicitudes al servidor de la API de Kubernetes a las que se respondió con un código de respuesta HTTP 5XX.  | 
|  `apiserver_storage_list_duration_seconds`   |  `ClusterName` `ClusterName`, `resource`  |  La latencia de respuesta de los objetos listados de Etc. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes.  | 
|  `apiserver_flowcontrol_request_concurrency_limit`   |  `ClusterName` `ClusterName`, `priority_level`  |  El número de subprocesos que utilizan las solicitudes que se están ejecutando actualmente en el Subsistema de prioridad y equidad de la API.  | 
|  `apiserver_flowcontrol_rejected_requests_total`   |  `ClusterName` `ClusterName`, `reason`  |  La cantidad de solicitudes rechazadas por el Subsistema de prioridad y equidad de la API. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes.  | 
|  `apiserver_current_inqueue_requests`   |  `ClusterName` `ClusterName`, `request_kind`  |  La cantidad de solicitudes en cola que colocó el servidor de la API de Kubernetes. Esta métrica es experimental y puede cambiar en futuras versiones de Kubernetes.  | 

## Métricas de GPU de NVIDIA
<a name="Container-Insights-metrics-EKS-GPU"></a>

A partir de la versión `1.300034.0` del agente de CloudWatch, Información de contenedores con observabilidad mejorada para Amazon EKS recopila las métricas de GPU de NVIDIA de las cargas de trabajo de EKS de forma predeterminada. El agente de CloudWatch debe instalarse con la versión `v1.3.0-eksbuild.1` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch. Para obtener más información, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md). Estas métricas de GPU de NVIDIA que se recopilan se muestran en la tabla de esta sección. 

Para que Información de contenedores recopile métricas de GPU de NVIDIA, debe cumplir los siguientes requisitos previos:
+ Debe utilizar Información de contenedores con observabilidad mejorada para Amazon EKS, con la versión `v1.3.0-eksbuild.1` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch.
+ [El complemento de dispositivo de NVIDIA para Kubernetes](https://github.com/NVIDIA/k8s-device-plugin) debe estar instalado en el clúster.
+ [El kit de herramientas de contenedor de NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) debe estar instalado en los nodos del clúster. Por ejemplo, las AMI aceleradas optimizadas para Amazon EKS se crearon con los componentes necesarios.

Para dejar de recopilar métricas de GPU de NVIDIA, establezca la opción `accelerated_compute_metrics` del inicio del archivo de configuración del agente de CloudWatch como `false`. Para obtener más información y un ejemplo de configuración de desactivación, consulte [Configuraciones adicionales (Opcional)](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `container_gpu_memory_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  El tamaño total del búfer del marco, en bytes, en las GPU asignadas al contenedor.  | 
|  `container_gpu_memory_used` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  Los bytes del búfer del marco que se usan en las GPU asignadas al contenedor.  | 
|  `container_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  El porcentaje del búfer del marco que se usa en las GPU asignadas al contenedor.  | 
|  `container_gpu_power_draw` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  El consumo de energía en vatios de las GPU asignadas al contenedor.  | 
|  `container_gpu_temperature` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  La temperatura en grados centígrados de las GPU asignadas al contenedor.  | 
|  `container_gpu_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  El porcentaje de uso de las GPU asignadas al contenedor.  | 
|  `container_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  El porcentaje de uso de los núcleos tensoriales de las GPU asignados al contenedor.  | 
|  `node_gpu_memory_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  El tamaño total del búfer del marco, en bytes, en las GPU asignadas al nodo.  | 
|  `node_gpu_memory_used` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  Los bytes del búfer del marco que se usan en las GPU asignadas al nodo.  | 
|  `node_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  El porcentaje del búfer del marco que se usa en las GPU asignadas al nodo.  | 
|  `node_gpu_power_draw` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  El consumo de energía en vatios de las GPU asignadas al nodo.  | 
|  `node_gpu_temperature` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  La temperatura en grados centígrados de las GPU asignadas al nodo.  | 
|  `node_gpu_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  El porcentaje de uso de las GPU asignadas al nodo.  | 
|  `node_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  El porcentaje de uso de los núcleos tensoriales de las GPU asignados al nodo.  | 
|  `pod_gpu_memory_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  El tamaño total del búfer del marco, en bytes, en las GPU asignadas al pod.  | 
|  `pod_gpu_memory_used` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  Los bytes del búfer del marco que se usan en las GPU asignadas al pod.  | 
|  `pod_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  El porcentaje del búfer del marco que se usa en las GPU asignadas al pod.  | 
|  `pod_gpu_power_draw` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  El consumo de energía en vatios de las GPU asignadas al pod.  | 
|  `pod_gpu_temperature` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  La temperatura en grados Celsius de las GPU asignadas al pod.  | 
|  `pod_gpu_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  El porcentaje de uso de las GPU asignadas al pod.  | 
|  `pod_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  El porcentaje de uso de los núcleos tensoriales de las GPU asignados al pod.  | 

### Supervisión detallada de GPU
<a name="Container-Insights-detailed-GPU-monitoring"></a>

A partir de la versión `1.300062.0` del agente de CloudWatch, Información de contenedores con observabilidad mejorada para Amazon EKS permite supervisar GPU de forma detallada con intervalos de recopilación inferiores a un minuto. Esto corrige las deficiencias de supervisión de las cargas de trabajo de inferencia de machine learning de corta duración que pueden pasar completamente desapercibidas en los intervalos de recopilación estándar. El agente de CloudWatch debe instalarse con la versión `v4.7.0-eksbuild.1` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch. Para obtener más información, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md).

De forma predeterminada, las métricas de GPU se recopilan e ingieren en intervalos de 60 segundos. Con la supervisión detallada activada, el agente de CloudWatch recopila las métricas de GPU en intervalos de menos de un minuto (1 segundo como mínimo), pero las métricas se siguen transfiriendo a CloudWatch en intervalos de 1 minuto. Sin embargo, puede consultar agregaciones estadísticas (como el mínimo, el máximo y los percentiles, como p90) de los puntos de datos inferiores a un minuto en cada periodo de 1 minuto, lo que proporciona datos precisos sobre el uso de GPU y una mejor optimización de los recursos.

#### Configuración
<a name="Container-Insights-detailed-GPU-monitoring-configuration"></a>

Para activar la supervisión detallada de GPU, actualice la configuración del agente de CloudWatch para incluir el parámetro `accelerated_compute_gpu_metrics_collection_interval` en la sección `kubernetes`, como en el siguiente ejemplo.

```
{  
    "logs": {  
        "metrics_collected": {  
            "kubernetes": {  
                "cluster_name": "MyCluster",  
                "enhanced_container_insights": true,  
                "accelerated_compute_metrics": true,  
                "accelerated_compute_gpu_metrics_collection_interval": 1  
            }  
        }  
    }  
}
```

El parámetro `accelerated_compute_gpu_metrics_collection_interval` acepta valores en segundos, con un valor mínimo de 1 segundo. Al configurarlo en `1`, se activan intervalos de recopilación de 1 segundo. Si no se especifica este parámetro, se utiliza el intervalo predeterminado de 60 segundos.

Para obtener las instrucciones de configuración completas, consulte [Configuración del agente de CloudWatch para recopilar las métricas del clúster](Container-Insights-setup-metrics.md).

## Métricas de AWS Neuron para AWS Trainium y AWS Inferentia
<a name="Container-Insights-metrics-EKS-Neuron"></a>

A partir de la versión `1.300036.0` del agente de CloudWatch, Información de contenedores con observabilidad mejorada para Amazon EKS recopila métricas de computación aceleradas de los aceleradores de AWS Trainium y AWS Inferentia de forma predeterminada. El agente de CloudWatch debe instalarse con la versión `v1.5.0-eksbuild.1` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch. Para obtener más información acerca del complemento, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md). Para obtener más información acerca de AWS Trainium, consulte [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/). Para obtener más información acerca de AWS Inferentia, consulte [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/).

Para que Información de contenedores recopile métricas de AWS Neuron, debe cumplir los siguientes requisitos previos:
+ Debe utilizar Información de contenedores con observabilidad mejorada para Amazon EKS, con la versión `v1.5.0-eksbuild.1` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch.
+ El [controlador Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html#setup-torch-neuronx-ubuntu22) debe estar instalado en los nodos del clúster.
+ El [complemento del dispositivo Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html) debe estar instalado en el clúster. Por ejemplo, las AMI aceleradas optimizadas para Amazon EKS se crearon con los componentes necesarios.

Las métricas que se recopilan se muestran en la tabla de esta sección. Las métricas se recopilan para AWS Trainium, AWS Inferentia y AWS Inferentia2.

El agente CloudWatch recopila estas métricas de [Neuron Monitor](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-monitor-user-guide.html) y lleva a cabo la correlación de recursos de Kubernetes necesaria para entregar las métricas por pod y contenedor.


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `container_neuroncore_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  Utilización de NeuronCore, durante el período de captura del NeuronCore asignado al contenedor. Unidad: porcentaje  | 
|  `container_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para las constantes durante el entrenamiento y que se asigna al contenedor (o a los pesos durante la inferencia). Unidades: bytes  | 
|  `container_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el código ejecutable de los modelos y que se asigna al contenedor. Unidades: bytes  | 
|  `container_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el scratchpad compartido de los modelos y que se asigna al contenedor. Esta región de memoria está reservada para los modelos. Unidades: bytes  | 
|  `container_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el tiempo de ejecución de Neuron y que se asigna al contenedor. Unidades: bytes  | 
|  `container_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para los tensores y que se asigna al contenedor. Unidades: bytes  | 
|  `container_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La cantidad total de memoria que NeuronCore utiliza y que se asigna al contenedor. Unidades: bytes  | 
|  `container_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`  |  El número de eventos de ECC corregidos y no corregidos para la SRAM integrada en el chip y la memoria del dispositivo Neuron del nodo. Unidad: recuento  | 
|  `pod_neuroncore_utilization` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La utilización de NeuronCore durante el período de captura de NeuronCore asignada al pod. Unidad: porcentaje  | 
|  `pod_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para las constantes durante el entrenamiento y que se asigna al pod (o a los pesos durante la inferencia). Unidades: bytes  | 
|  `pod_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el código ejecutable de los modelos y que se asigna al pod. Unidades: bytes  | 
|  `pod_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el scratchpad compartido de los modelos y que se asigna al pod. Esta región de memoria está reservada para los modelos. Unidades: bytes  | 
|  `pod_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el tiempo de ejecución de Neuron y que se asigna al pod. Unidades: bytes  | 
|  `pod_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para los tensores y que se asigna al pod. Unidades: bytes  | 
|  `pod_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La cantidad total de memoria que NeuronCore utiliza y que se asigna al pod. Unidades: bytes  | 
|  `pod_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`  |  La cantidad de eventos de ECC corregidos y no corregidos para la SRAM en el chip y la memoria del dispositivo Neuron asignada a un pod. Unidades: bytes  | 
|  `node_neuroncore_utilization` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La utilización de NeuronCore durante el período de captura de NeuronCore asignada al nodo. Unidad: porcentaje  | 
|  `node_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para las constantes durante el entrenamiento y que se asigna al nodo (o a los pesos durante la inferencia). Unidades: bytes  | 
|  `node_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el código ejecutable de los modelos y que se asigna al nodo. Unidades: bytes  | 
|  `node_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el scratchpad compartido de los modelos y que se asigna al nodo. Esta es una región de memoria reservada para los modelos. Unidades: bytes  | 
|  `node_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para el tiempo de ejecución de Neuron y que se asigna al nodo. Unidades: bytes  | 
|  `node_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La cantidad de memoria del dispositivo que NeuronCore utiliza para los tensores y que se asigna al nodo. Unidades: bytes  | 
|  `node_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La cantidad total de memoria que NeuronCore utiliza y que se asigna al nodo. Unidades: bytes  | 
|  `node_neuron_execution_errors_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  El número total de errores de ejecución del nodo. El agente de CloudWatch lo calcula agregando los errores de los siguientes tipos: `generic`, `numerical`, `transient`, `model`, `runtime` y `hardware` Unidad: recuento  | 
|  `node_neurondevice_runtime_memory_used_bytes` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  El uso total de memoria del dispositivo Neuron en bytes en el nodo. Unidades: bytes  | 
| `node_neuron_execution_latency` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  En segundos, la latencia para una ejecución en el nodo medida por el tiempo de ejecución de Neuron. Unidad: segundos  | 
| `node_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `NodeName`, `NeuronDevice`  |  El número de eventos de ECC corregidos y no corregidos para la SRAM integrada en el chip y la memoria del dispositivo Neuron del nodo. Unidad: recuento  | 

## Métricas de AWS Elastic Fabric Adapter (EFA)
<a name="Container-Insights-metrics-EFA"></a>

A partir de la versión `1.300037.0` del agente de CloudWatch, Información de contenedores con observabilidad mejorada para Amazon EKS recopila métricas de AWS Elastic Fabric Adapter (EFA) de clústeres de Amazon EKS en instancias de Linux. El agente de CloudWatch debe instalarse con la versión `v1.5.2-eksbuild.1` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch. Para obtener más información acerca del complemento, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md). Para obtener más información sobre AWS Elastic Fabric Adapter (EFA), consulte [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/).

Para que Información de contenedores recopile métricas de AWS Elastic Fabric Adapter, debe cumplir los siguientes requisitos previos:
+ Debe utilizar Información de contenedores con observabilidad mejorada para Amazon EKS, con la versión `v1.5.2-eksbuild.1` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch.
+ El complemento del dispositivo EFA debe estar instalado en el clúster. Para obtener más información, consulte [aws-efa-k8s-device-plugin](https://github.com/aws/eks-charts/tree/master/stable/aws-efa-k8s-device-plugin) en GitHub.

Las métricas que se recopilan se enumeran en la siguiente tabla. 


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `container_efa_rx_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al contenedor. Unidad: bytes/segundo  | 
|  `container_efa_tx_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  El número de bytes por segundo que han transmitido los dispositivos EFA asignados al contenedor. Unidad: bytes/segundo  | 
|  `container_efa_rx_dropped` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  El número de paquetes que han recibido y luego descartado los dispositivos EFA asignados al contenedor. Unidad: recuento/segundo  | 
|  `container_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al contenedor mediante operaciones de lectura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `container_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  El número de bytes por segundo que han transmitido los dispositivos EFA asignados al contenedor mediante operaciones de lectura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `container_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al contenedor durante operaciones de escritura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `pod_efa_rx_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al pod. Unidad: bytes/segundo  | 
|  `pod_efa_tx_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han transmitido los dispositivos EFA asignados al pod. Unidad: bytes/segundo  | 
|  `pod_efa_rx_dropped` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  El número de paquetes que han recibido y luego descartado los dispositivos EFA asignados al pod. Unidad: recuento/segundo  | 
|  `pod_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al pod mediante operaciones de lectura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `pod_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han transmitido los dispositivos EFA asignados al pod mediante operaciones de lectura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `pod_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al pod durante operaciones de escritura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `node_efa_rx_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al nodo. Unidad: bytes/segundo  | 
|  `node_efa_tx_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han transmitido los dispositivos EFA asignados al nodo. Unidad: bytes/segundo  | 
|  `node_efa_rx_dropped` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  El número de paquetes que han recibido y luego descartado los dispositivos EFA asignados al nodo. Unidad: recuento/segundo  | 
|  `node_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al nodo mediante operaciones de lectura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `node_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han transmitido los dispositivos EFA asignados al pod mediante operaciones de lectura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 
|  `node_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  El número de bytes por segundo que han recibido los dispositivos EFA asignados al nodo durante operaciones de escritura de acceso remoto directo a la memoria. Unidad: bytes/segundo  | 

## Métricas de Amazon SageMaker AI HyperPod
<a name="Container-Insights-metrics-Sagemaker-HyperPod"></a>

A partir de la versión `v2.0.1-eksbuild.1` del complemento de observabilidad de EKS de CloudWatch, Información de contenedores con observabilidad mejorada para Amazon EKS recopila automáticamente métricas de Amazon SageMaker AI HyperPod de clústeres de Amazon EKS. Para obtener más información acerca del complemento, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md). Para obtener más información sobre Amazon SageMaker AI HyperPod, consulte [Amazon SageMaker AI HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks.html).

Las métricas que se recopilan se enumeran en la siguiente tabla. 


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `hyperpod_node_health_status_unschedulable` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indica si Amazon SageMaker AI HyperPod ha etiquetado un nodo como `Unschedulable`. Esto significa que el nodo está llevando a cabo comprobaciones de estado exhaustivas y no está disponible para ejecutar cargas de trabajo. Unidad: recuento  | 
|  `hyperpod_node_health_status_schedulable` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indica si Amazon SageMaker AI HyperPod ha etiquetado un nodo como `Schedulable`. Esto significa que el nodo ha superado las comprobaciones de estado básicas o exhaustivas y está disponible para ejecutar cargas de trabajo. Unidad: recuento  | 
|  `hyperpod_node_health_status_unschedulable_pending_replacement` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indica si HyperPod ha etiquetado un nodo como `UnschedulablePendingReplacement`. Esto significa que el nodo no ha superado las comprobaciones de estado exhaustivas o las comprobaciones del agente de supervisión del estado y tiene que reemplazarse. Si la recuperación automática de nodos está habilitada, Amazon SageMaker AI HyperPod reemplazará automáticamente el nodo. Unidad: recuento  | 
|  `hyperpod_node_health_status_unschedulable_pending_reboot` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indica si Amazon SageMaker AI HyperPod ha etiquetado un nodo como `UnschedulablePendingReboot`. Esto significa que el nodo está haciendo comprobaciones de estado exhaustivas y es necesario reiniciarlo. Si la recuperación automática de nodos está habilitada, Amazon SageMaker AI HyperPod reiniciará automáticamente el nodo. Unidad: recuento  | 

## Métricas del controlador NVMe de Amazon EBS
<a name="Container-Insights-metrics-EBS"></a>

A partir de la versión ` 1.300056.0` del agente de CloudWatch, Información de contenedores con observabilidad mejorada para Amazon EKS recopila automáticamente métricas del controlador NVMe de Amazon EBS de clústeres de Amazon EKS en instancias de Linux. El agente de CloudWatch debe instalarse con la versión `4.1.0` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch. Para obtener más información acerca del complemento, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md). Para obtener más información sobre Amazon EBS, consulte [Estadísticas de rendimiento detalladas de Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-detailed-performance-stats.html).

Para que Información de contenedores recopile métricas del controlador NVMe de Amazon EBS, debe cumplir los siguientes requisitos previos:
+ Debe utilizar Información de contenedores con observabilidad mejorada para Amazon EKS, con la versión `4.1.0` o posterior del complemento de EKS de observabilidad de Amazon CloudWatch.
+ El complemento `1.42.0` del controlador CSI de EBS o el gráfico de Helm deben estar instalados en el clúster con las métricas habilitadas.
  + Para habilitar las métricas cuando utilice el complemento del controlador CSI de Amazon EBS, use la siguiente opción durante la creación o actualización del complemento. `--configuration-values '{ "node": { "enableMetrics": true } }'`
  + Para habilitar las métricas si utiliza el gráfico de Helm, use la siguiente opción durante la creación o actualización del complemento. `--set node.enableMetrics=true`

Las métricas que se recopilan se enumeran en la siguiente tabla. 


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `node_diskio_ebs_total_read_ops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El número total de operaciones de lectura completadas. | 
|  `node_diskio_ebs_total_write_ops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El número total de operaciones de escritura completadas. | 
|  `node_diskio_ebs_total_read_bytes` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El número total de bytes de lectura transferidos. | 
|  `node_diskio_ebs_total_write_bytes` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El número total de bytes de escritura transferidos. | 
|  `node_diskio_ebs_total_read_time` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El tiempo total empleado, en microsegundos, por todas las operaciones de lectura completadas. | 
|  `node_diskio_ebs_total_write_time` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El tiempo total empleado, en microsegundos, por todas las operaciones de escritura completadas. | 
|  `node_diskio_ebs_volume_performance_exceeded_iops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El tiempo total, en microsegundos, durante el que la demanda de IOPS superó el rendimiento de las IOPS aprovisionadas para el volumen. | 
|  `node_diskio_ebs_volume_performance_exceeded_tp` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El tiempo total, en microsegundos, durante el que la demanda de rendimiento superó el rendimiento aprovisionado para el volumen. | 
|  `node_diskio_ebs_ec2_instance_performance_exceeded_iops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El tiempo total, en microsegundos, durante el que el volumen de EBS superó el rendimiento máximo de IOPS de la instancia de Amazon EC2 asociada. | 
|  `node_diskio_ebs_ec2_instance_performance_exceeded_tp` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El tiempo total, en microsegundos, durante el que el volumen de EBS superó el rendimiento máximo de la instancia de Amazon EC2 asociada. | 
|  `node_diskio_ebs_volume_queue_length` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | El número de operaciones de lectura y escritura a la espera de completarse. | 

# Métricas de Información de contenedores de Kubernetes y de Amazon EKS
<a name="Container-Insights-metrics-EKS"></a>

En las siguientes tablas, se muestran las métricas y las dimensiones que recopila Información de contenedores para Amazon EKS y Kubernetes. Estas métricas se encuentran en el espacio de nombres `ContainerInsights`. Para obtener más información, consulte [Métricas](cloudwatch_concepts.md#Metric).

Si no ve ninguna métrica de Información de contenedores en la consola, asegúrese de haber completado la configuración de Información de contenedores. Las métricas no aparecen antes de haber configurado por completo Información de contenedores. Para obtener más información, consulte [Configuración de Información de contenedores](deploy-container-insights.md).


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `cluster_failed_node_count`  |  `ClusterName`  |  El número de nodos de trabajo con errores en el clúster. Se considera que un nodo ha fallado si está sufriendo de cualquiera de las *condiciones de nodo*. Para obtener más información, consulte [Conditions](https://kubernetes.io/docs/concepts/architecture/nodes/#condition) (Condiciones) en la documentación de Kubernetes.  | 
|  `cluster_node_count`  |  `ClusterName`  |  El número total de nodos de trabajo en el clúster.  | 
|  `namespace_number_of_running_pods`  |  `Namespace` `ClusterName` `ClusterName`  |  El número de pods que se ejecutan por espacio de nombres en el recurso que se especifica mediante las dimensiones que está utilizando.  | 
|  `node_cpu_limit`  |  `ClusterName`   |  El número máximo de unidades de CPU que se pueden asignar a un único nodo en este clúster.  | 
|  `node_cpu_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje de unidades de CPU que están reservadas para los componentes de nodos, como kubelet, kube-proxy y Docker. Fórmula: `node_cpu_request / node_cpu_limit`  `node_cpu_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_cpu_usage_total`  |  `ClusterName`  |  El número de unidades de CPU que se utilizan en los nodos del clúster.  | 
|  `node_cpu_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje total de unidades de CPU que se utilizan en los nodos del clúster. Fórmula: `node_cpu_usage_total / node_cpu_limit`  | 
|  `node_gpu_limit` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  El número total de GPU disponibles en el nodo.  | 
|  `node_gpu_usage_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  El número de GPU que utilizan los pods en ejecución en el nodo.  | 
|  `node_gpu_reserved_capacity` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  El porcentaje de GPU que se reserva actualmente en el nodo. La fórmula es, `node_gpu_request / node_gpu_limit`.  `node_gpu_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).   | 
|  `node_filesystem_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje total de capacidad de sistema de archivos que se utiliza en los nodos del clúster. Fórmula: `node_filesystem_usage / node_filesystem_capacity`  `node_filesystem_usage` y `node_filesystem_capacity` no se informan directamente como métricas, sino que son campos en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_limit`  |  `ClusterName`  |  La cantidad máxima de memoria, en bytes, que se puede asignar a un único nodo en este clúster.  | 
|  `node_memory_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje de memoria que se utiliza actualmente en los nodos del clúster. Fórmula: `node_memory_request / node_memory_limit`  `node_memory_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El porcentaje de memoria que utiliza actualmente el nodo o los nodos. Es el porcentaje de uso de memoria de nodo sobre la limitación de memoria de nodo. Fórmula: `node_memory_working_set / node_memory_limit`.   | 
|  `node_memory_working_set`  |  `ClusterName`   |  La cantidad de memoria, en bytes, que se utiliza en el conjunto de trabajo de los nodos del clúster.  | 
|  `node_network_total_bytes`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El número total de bytes por segundo transmitidos y recibidos a través de la red por nodo en un clúster. Fórmula: `node_network_rx_bytes + node_network_tx_bytes`  `node_network_rx_bytes` y `node_network_tx_bytes` no se informan directamente como métricas, sino que son campos en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_number_of_running_containers`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El número de contenedores en ejecución por nodo en un clúster.  | 
|  `node_number_of_running_pods`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  El número de pods en ejecución por nodo en un clúster.  | 
|  `pod_cpu_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName`  |  La capacidad de la CPU reservada por pod en un clúster. Fórmula: `pod_cpu_request / node_cpu_limit`  `pod_cpu_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  El porcentaje de unidades de CPU que utilizan los pods. Fórmula: `pod_cpu_usage_total / node_cpu_limit`  | 
|  `pod_cpu_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  El porcentaje de unidades de CPU utilizadas por pods en relación con el límite de pods. Fórmula: `pod_cpu_usage_total / pod_cpu_limit`  | 
|  `pod_gpu_request` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  Las solicitudes de la GPU para el pod. Este valor siempre debe ser igual a `pod_gpu_limit`.  | 
|  `pod_gpu_limit` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  El número máximo de GPU de un nodo que se pueden asignar al pod de un nodo.  | 
|  `pod_gpu_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  El número de GPU que se asignan al pod.  | 
|  `pod_gpu_reserved_capacity` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  El porcentaje de GPU que se reserva actualmente en el pod. La fórmula es pod\$1gpu\$1request/node\$1gpu\$1reserved\$1capacity.  | 
|  `pod_memory_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName`  |  El porcentaje de memoria reservada para los pods. Fórmula: `pod_memory_request / node_memory_limit`  `pod_memory_request` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  El porcentaje de memoria que utiliza actualmente el pod o los pods. Fórmula: `pod_memory_working_set / node_memory_limit`  | 
|  `pod_memory_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  El porcentaje de memoria utilizada por los pods en relación con el límite de pods. Si algún contenedor del pod no tiene definido un límite de memoria, esta métrica no aparecerá. Fórmula: `pod_memory_working_set / pod_memory_limit`  | 
|  `pod_network_rx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  El número de bytes por segundo que se están recibiendo a través de la red por el pod. Fórmula: `sum(pod_interface_network_rx_bytes)`  `pod_interface_network_rx_bytes` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_network_tx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  El número de bytes por segundo que se están transmitiendo a través de la red por el pod. Fórmula: `sum(pod_interface_network_tx_bytes)`  `pod_interface_network_tx_bytes` no se informa directamente como una métrica, sino que es un campo en el registro de eventos del rendimiento. Para obtener más información, consulte [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_number_of_container_restarts`  |  `PodName`, `Namespace`, `ClusterName`  |  El número total de reinicios del contenedor en un pod.  | 
|  `service_number_of_running_pods`  |  `Service`, `Namespace`, `ClusterName` `ClusterName`  |  El número de pods que ejecutan el servicio o servicios en el clúster.  | 

## Métricas de Kueue
<a name="Container-Insights-metrics-Kueue"></a>

A partir de la versión `v2.4.0-eksbuild.1` del complemento de observabilidad de EKS de CloudWatch, Información de contenedores para Amazon EKS admite la recopilación de métricas de Kueue de clústeres de Amazon EKS. Para obtener más información acerca del complemento, consulte [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md).

Para obtener más información sobre la habilitación de las métricas, consulte [Habilitación de las métricas de Kueue](install-CloudWatch-Observability-EKS-addon.md#enable-Kueue-metrics) para habilitarlas.

Las métricas de Kueue que se recopilan se enumeran en la siguiente tabla. Estas métricas se publican en el espacio de nombres `ContainerInsights/Prometheus` de CloudWatch. Algunas de estas métricas utilizan las siguientes dimensiones:
+ `ClusterQueue` es el nombre de ClusterQueue
+ Los valores posibles de `Status` son `active` y `inadmissible`.
+ Los valores posibles de `Reason` son `Preempted`, `PodsReadyTimeout`, `AdmissionCheck`, `ClusterQueueStopped` y `InactiveWorkload`.
+ `Flavor` es la variedad a la que se hace referencia.
+ `Resource` hace referencia a los recursos de computación en clústeres, como `cpu`, `memory`, `gpu`, etc. 


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `kueue_pending_workloads` |  `ClusterName`, `ClusterQueue`, `Status` `ClusterName`, `ClusterQueue` `ClusterName`, `Status` `ClusterName`  |  El número de cargas de trabajo pendientes.  | 
|  `kueue_evicted_workloads_total` |  `ClusterName`, `ClusterQueue`, `Reason` `ClusterName`, `ClusterQueue` `ClusterName`, `Reason` `ClusterName`  |  El número total de cargas de trabajo expulsadas.  | 
|  `kueue_admitted_active_workloads` |  `ClusterName`, `ClusterQueue` `ClusterName`  |  El número de cargas de trabajo admitidas que están activas (no suspendidas y no terminadas).  | 
|  `kueue_cluster_queue_resource_usage` |  `ClusterName`, `ClusterQueue`, `Resource`, `Flavor` `ClusterName`, `ClusterQueue`, `Resource` `ClusterName`, `ClusterQueue`, `Flavor` `ClusterName`, `ClusterQueue` `ClusterName`  |  Indica el uso total de recursos de ClusterQueue.  | 
|  `kueue_cluster_queue_nominal_quota` |  `ClusterName`, `ClusterQueue`, `Resource`, `Flavor` `ClusterName`, `ClusterQueue`, `Resource` `ClusterName`, `ClusterQueue`, `Flavor` `ClusterName`, `ClusterQueue` `ClusterName`  |  Indica la cuota de recursos de ClusterQueue.  | 

# Referencia de registros de rendimiento de Información de contenedores
<a name="Container-Insights-reference"></a>

Esta sección incluye información de referencia sobre cómo Información de contenedores utiliza los eventos de registro de rendimiento para recopilar métricas. Al implementar Información de contenedores, este crea automáticamente un grupo de registro para los eventos del registro de rendimiento. No es necesario que usted mismo cree este grupo de registro.

**Topics**
+ [Eventos de registro de rendimiento de Información de contenedores para Amazon ECS](Container-Insights-reference-performance-logs-ECS.md)
+ [Eventos de registro de rendimiento de Información de contenedores para Amazon EKS y Kubernetes](Container-Insights-reference-performance-logs-EKS.md)
+ [Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes](Container-Insights-reference-performance-entries-EKS.md)

# Eventos de registro de rendimiento de Información de contenedores para Amazon ECS
<a name="Container-Insights-reference-performance-logs-ECS"></a>

A continuación, se muestran ejemplos de los eventos de registro de rendimiento que Información de contenedores recopila de Amazon ECS.

Estos registros se encuentran en registros de CloudWatch, en un grupo de registro denominado `/aws/ecs/containerinsights/CLUSTER_NAME/performance`. Dentro de ese grupo de registro, cada instancia de contenedor tendrá un flujo de registro denominado `AgentTelemetry-CONTAINER_INSTANCE_ID`.

Puede consultar estos registros mediante consultas como, por ejemplo, `{ $.Type = "Container" }` para ver todos los eventos del registro del contenedor. 

**Tipo: Contenedor**

```
{
	"Version":"0",
	"Type":"Container",
	"ContainerName":"sleep",
	"TaskId":"7ac4dfba69214411b4783a3b8189c9ba",
	"TaskDefinitionFamily":"sleep360",
	"TaskDefinitionRevision":"1",
	"ContainerInstanceId":"0d7650e6dec34c1a9200f72098071e8f",
	"EC2InstanceId":"i-0c470579dbcdbd2f3",
	"ClusterName":"MyCluster",
	"Image":"busybox",
	"ContainerKnownStatus":"RUNNING",
	"Timestamp":1623963900000,
	"CpuUtilized":0.0,
	"CpuReserved":10.0,
	"MemoryUtilized":0,
	"MemoryReserved":10,
	"StorageReadBytes":0,
	"StorageWriteBytes":0,
	"NetworkRxBytes":0,
	"NetworkRxDropped":0,
	"NetworkRxErrors":0,
	"NetworkRxPackets":14,
	"NetworkTxBytes":0,
	"NetworkTxDropped":0,
	"NetworkTxErrors":0,
	"NetworkTxPackets":0
}
```

**Tipo: Tarea**

Aunque las unidades para `StorageReadBytes` y `StorageWriteBytes` están en bytes/segundo, los valores representan el número acumulado de bytes leídos y escritos en el almacenamiento, respectivamente. 

```
{
    "Version": "0",
    "Type": "Task",
    "TaskId": "7ac4dfba69214411b4783a3b8189c9ba",
    "TaskDefinitionFamily": "sleep360",
    "TaskDefinitionRevision": "1",
    "ContainerInstanceId": "0d7650e6dec34c1a9200f72098071e8f",
    "EC2InstanceId": "i-0c470579dbcdbd2f3",
    "ClusterName": "MyCluster",
    "AccountID": "637146863587",
    "Region": "us-west-2",
    "AvailabilityZone": "us-west-2b",
    "KnownStatus": "RUNNING",
    "LaunchType": "EC2",
    "PullStartedAt": 1623963608201,
    "PullStoppedAt": 1623963610065,
    "CreatedAt": 1623963607094,
    "StartedAt": 1623963610382,
    "Timestamp": 1623963900000,
    "CpuUtilized": 0.0,
    "CpuReserved": 10.0,
    "MemoryUtilized": 0,
    "MemoryReserved": 10,
    "StorageReadBytes": 0,
    "StorageWriteBytes": 0,
    "NetworkRxBytes": 0,
    "NetworkRxDropped": 0,
    "NetworkRxErrors": 0,
    "NetworkRxPackets": 14,
    "NetworkTxBytes": 0,
    "NetworkTxDropped": 0,
    "NetworkTxErrors": 0,
    "NetworkTxPackets": 0,
    "EBSFilesystemUtilized": 10,
    "EBSFilesystemSize": 20,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "CpuUtilized",
                    "Unit": "None"
                },
                {
                    "Name": "CpuReserved",
                    "Unit": "None"
                },
                {
                    "Name": "MemoryUtilized",
                    "Unit": "Megabytes"
                },
                {
                    "Name": "MemoryReserved",
                    "Unit": "Megabytes"
                },
                {
                    "Name": "StorageReadBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "StorageWriteBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "NetworkRxBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "NetworkTxBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "EBSFilesystemSize",
                    "Unit": "Gigabytes"
                },
                {
                    "Name": "EBSFilesystemUtilzed",
                    "Unit": "Gigabytes"
                }
            ],
            "Dimensions": [
                ["ClusterName"],
                [
                    "ClusterName",
                    "TaskDefinitionFamily"
                ]
            ]
        }
    ]
}
```

**Tipo: Servicio**

```
{   
    "Version": "0",
    "Type": "Service",
    "ServiceName": "myCIService",
    "ClusterName": "myCICluster",
    "Timestamp": 1561586460000,
    "DesiredTaskCount": 2,
    "RunningTaskCount": 2,
    "PendingTaskCount": 0,
    "DeploymentCount": 1,
    "TaskSetCount": 0,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "DesiredTaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "RunningTaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "PendingTaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "DeploymentCount",
                    "Unit": "Count"
                },
                {
                    "Name": "TaskSetCount",
                    "Unit": "Count"
                }
            ],
            "Dimensions": [
                [
                    "ServiceName",
                    "ClusterName"
                ]
            ]
        }
    ]
}
```

**Tipo: volumen**

```
{
    "Version": "0",
    "Type": "Volume",
    "TaskDefinitionFamily": "myCITaskDef",
    "TaskId": "7ac4dfba69214411b4783a3b8189c9ba",
    "ClusterName": "myCICluster",
    "ServiceName": "myCIService",
    "VolumeId": "vol-1233436545ff708cb",
    "InstanceId": "i-0c470579dbcdbd2f3",
    "LaunchType": "EC2",
    "VolumeName": "MyVolumeName",
    "EBSFilesystemUtilized": 10,
    "EBSFilesystemSize": 20,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "EBSFilesystemSize",
                    "Unit": "Gigabytes"
                },
                {
                    "Name": "EBSFilesystemUtilzed",
                    "Unit": "Gigabytes"
                }
            ],
            "Dimensions": [
                ["ClusterName"],
                [
                    "VolumeName",
                    "TaskDefinitionFamily",
                    "ClusterName"
                ],
                [
                    "ServiceName",
                    "ClusterName"
                ]
            ]
        }
    ]
}
```

**Tipo: Clúster**

```
{
    "Version": "0",
    "Type": "Cluster",
    "ClusterName": "myCICluster",
    "Timestamp": 1561587300000,
    "TaskCount": 5,
    "ContainerInstanceCount": 5,
    "ServiceCount": 2,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "TaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "ContainerInstanceCount",
                    "Unit": "Count"
                },
                {
                    "Name": "ServiceCount",
                    "Unit": "Count"
                }
            ],
            "Dimensions": [
                [
                    "ClusterName"
                ]
            ]
        }
    ]
}
```

# Eventos de registro de rendimiento de Información de contenedores para Amazon EKS y Kubernetes
<a name="Container-Insights-reference-performance-logs-EKS"></a>

A continuación, se muestran ejemplos de los eventos de registro de rendimiento que Información de contenedores recopila de clústeres de Amazon EKS y de Kubernetes.

**Tipo: Node**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "node_cpu_utilization"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_utilization"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "node_network_total_bytes"
        },
        {
          "Unit": "Percent",
          "Name": "node_cpu_reserved_capacity"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_reserved_capacity"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_pods"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_containers"
        }
      ],
      "Dimensions": [
        [
          "NodeName",
          "InstanceId",
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    },
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "node_cpu_utilization"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_utilization"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "node_network_total_bytes"
        },
        {
          "Unit": "Percent",
          "Name": "node_cpu_reserved_capacity"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_reserved_capacity"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_pods"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_containers"
        },
        {
          "Name": "node_cpu_usage_total"
        },
        {
          "Name": "node_cpu_limit"
        },
        {
          "Unit": "Bytes",
          "Name": "node_memory_working_set"
        },
        {
          "Unit": "Bytes",
          "Name": "node_memory_limit"
        }
      ],
      "Dimensions": [
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor",
    "/proc",
    "pod",
    "calculated"
  ],
  "Timestamp": "1567096682364",
  "Type": "Node",
  "Version": "0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_cpu_limit": 4000,
  "node_cpu_request": 1130,
  "node_cpu_reserved_capacity": 28.249999999999996,
  "node_cpu_usage_system": 33.794636630852764,
  "node_cpu_usage_total": 136.47852169244098,
  "node_cpu_usage_user": 71.67075111567326,
  "node_cpu_utilization": 3.4119630423110245,
  "node_memory_cache": 3103297536,
  "node_memory_failcnt": 0,
  "node_memory_hierarchical_pgfault": 0,
  "node_memory_hierarchical_pgmajfault": 0,
  "node_memory_limit": 16624865280,
  "node_memory_mapped_file": 406646784,
  "node_memory_max_usage": 4230746112,
  "node_memory_pgfault": 0,
  "node_memory_pgmajfault": 0,
  "node_memory_request": 1115684864,
  "node_memory_reserved_capacity": 6.7109407818311055,
  "node_memory_rss": 798146560,
  "node_memory_swap": 0,
  "node_memory_usage": 3901444096,
  "node_memory_utilization": 6.601302600149552,
  "node_memory_working_set": 1097457664,
  "node_network_rx_bytes": 35918.392817386324,
  "node_network_rx_dropped": 0,
  "node_network_rx_errors": 0,
  "node_network_rx_packets": 157.67565245448117,
  "node_network_total_bytes": 68264.20276554905,
  "node_network_tx_bytes": 32345.80994816272,
  "node_network_tx_dropped": 0,
  "node_network_tx_errors": 0,
  "node_network_tx_packets": 154.21455923431654,
  "node_number_of_running_containers": 16,
  "node_number_of_running_pods": 13
}
```

**Tipo: NodeFS**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "node_filesystem_utilization"
        }
      ],
      "Dimensions": [
        [
          "NodeName",
          "InstanceId",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "EBSVolumeId": "aws://us-west-2b/vol-0a53108976d4a2fda",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567097939726",
  "Type": "NodeFS",
  "Version": "0",
  "device": "/dev/nvme0n1p1",
  "fstype": "vfs",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_filesystem_available": 17298395136,
  "node_filesystem_capacity": 21462233088,
  "node_filesystem_inodes": 10484720,
  "node_filesystem_inodes_free": 10367158,
  "node_filesystem_usage": 4163837952,
  "node_filesystem_utilization": 19.400767547940255
}
```

**Tipo: NodeDiskIO**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "EBSVolumeId": "aws://us-west-2b/vol-0a53108976d4a2fda",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor"
  ],
  "Timestamp": "1567096928131",
  "Type": "NodeDiskIO",
  "Version": "0",
  "device": "/dev/nvme0n1",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_diskio_io_service_bytes_async": 9750.505814277016,
  "node_diskio_io_service_bytes_read": 0,
  "node_diskio_io_service_bytes_sync": 230.6174506688036,
  "node_diskio_io_service_bytes_total": 9981.123264945818,
  "node_diskio_io_service_bytes_write": 9981.123264945818,
  "node_diskio_io_serviced_async": 1.153087253344018,
  "node_diskio_io_serviced_read": 0,
  "node_diskio_io_serviced_sync": 0.03603397666700056,
  "node_diskio_io_serviced_total": 1.1891212300110185,
  "node_diskio_io_serviced_write": 1.1891212300110185
}
```

**Tipo: NodeNet**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567096928131",
  "Type": "NodeNet",
  "Version": "0",
  "interface": "eni972f6bfa9a0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_interface_network_rx_bytes": 3163.008420864309,
  "node_interface_network_rx_dropped": 0,
  "node_interface_network_rx_errors": 0,
  "node_interface_network_rx_packets": 16.575629266820258,
  "node_interface_network_total_bytes": 3518.3935157426017,
  "node_interface_network_tx_bytes": 355.385094878293,
  "node_interface_network_tx_dropped": 0,
  "node_interface_network_tx_errors": 0,
  "node_interface_network_tx_packets": 3.9997714100370625
}
```

**Tipo: Pod**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "pod_cpu_utilization"
        },
        {
          "Unit": "Percent",
          "Name": "pod_memory_utilization"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "pod_network_rx_bytes"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "pod_network_tx_bytes"
        },
        {
          "Unit": "Percent",
          "Name": "pod_cpu_utilization_over_pod_limit"
        },
        {
          "Unit": "Percent",
          "Name": "pod_memory_utilization_over_pod_limit"
        }
      ],
      "Dimensions": [
        [
          "PodName",
          "Namespace",
          "ClusterName"
        ],
        [
          "Service",
          "Namespace",
          "ClusterName"
        ],
        [
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    },
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "pod_cpu_reserved_capacity"
        },
        {
          "Unit": "Percent",
          "Name": "pod_memory_reserved_capacity"
        }
      ],
      "Dimensions": [
        [
          "PodName",
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    },
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "pod_number_of_container_restarts"
        }
      ],
      "Dimensions": [
        [
          "PodName",
          "Namespace",
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "pod",
    "calculated"
  ],
  "Timestamp": "1567097351092",
  "Type": "Pod",
  "Version": "0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  },
  "pod_cpu_limit": 200,
  "pod_cpu_request": 200,
  "pod_cpu_reserved_capacity": 5,
  "pod_cpu_usage_system": 1.4504841104992765,
  "pod_cpu_usage_total": 5.817016867430125,
  "pod_cpu_usage_user": 1.1281543081661038,
  "pod_cpu_utilization": 0.14542542168575312,
  "pod_cpu_utilization_over_pod_limit": 2.9085084337150624,
  "pod_memory_cache": 8192,
  "pod_memory_failcnt": 0,
  "pod_memory_hierarchical_pgfault": 0,
  "pod_memory_hierarchical_pgmajfault": 0,
  "pod_memory_limit": 104857600,
  "pod_memory_mapped_file": 0,
  "pod_memory_max_usage": 25268224,
  "pod_memory_pgfault": 0,
  "pod_memory_pgmajfault": 0,
  "pod_memory_request": 104857600,
  "pod_memory_reserved_capacity": 0.6307275170893897,
  "pod_memory_rss": 22777856,
  "pod_memory_swap": 0,
  "pod_memory_usage": 25141248,
  "pod_memory_utilization": 0.10988455961791709,
  "pod_memory_utilization_over_pod_limit": 17.421875,
  "pod_memory_working_set": 18268160,
  "pod_network_rx_bytes": 9880.697124714186,
  "pod_network_rx_dropped": 0,
  "pod_network_rx_errors": 0,
  "pod_network_rx_packets": 107.80005532263283,
  "pod_network_total_bytes": 10158.829201483635,
  "pod_network_tx_bytes": 278.13207676944796,
  "pod_network_tx_dropped": 0,
  "pod_network_tx_errors": 0,
  "pod_network_tx_packets": 1.146027574644318,
  "pod_number_of_container_restarts": 0,
  "pod_number_of_containers": 1,
  "pod_number_of_running_containers": 1,
  "pod_status": "Running"
}
```

**Tipo: PodNet**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567097351092",
  "Type": "PodNet",
  "Version": "0",
  "interface": "eth0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  },
  "pod_interface_network_rx_bytes": 9880.697124714186,
  "pod_interface_network_rx_dropped": 0,
  "pod_interface_network_rx_errors": 0,
  "pod_interface_network_rx_packets": 107.80005532263283,
  "pod_interface_network_total_bytes": 10158.829201483635,
  "pod_interface_network_tx_bytes": 278.13207676944796,
  "pod_interface_network_tx_dropped": 0,
  "pod_interface_network_tx_errors": 0,
  "pod_interface_network_tx_packets": 1.146027574644318
}
```

**Tipo: Contenedor**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-sample",
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "pod",
    "calculated"
  ],
  "Timestamp": "1567097399912",
  "Type": "Container",
  "Version": "0",
  "container_cpu_limit": 200,
  "container_cpu_request": 200,
  "container_cpu_usage_system": 1.87958283771964,
  "container_cpu_usage_total": 6.159993652997942,
  "container_cpu_usage_user": 1.6707403001952357,
  "container_cpu_utilization": 0.15399984132494854,
  "container_memory_cache": 8192,
  "container_memory_failcnt": 0,
  "container_memory_hierarchical_pgfault": 0,
  "container_memory_hierarchical_pgmajfault": 0,
  "container_memory_limit": 104857600,
  "container_memory_mapped_file": 0,
  "container_memory_max_usage": 24580096,
  "container_memory_pgfault": 0,
  "container_memory_pgmajfault": 0,
  "container_memory_request": 104857600,
  "container_memory_rss": 22736896,
  "container_memory_swap": 0,
  "container_memory_usage": 24453120,
  "container_memory_utilization": 0.10574541028701798,
  "container_memory_working_set": 17580032,
  "container_status": "Running",
  "kubernetes": {
    "container_name": "cloudwatch-agent",
    "docker": {
      "container_id": "8967b6b37da239dfad197c9fdea3e5dfd35a8a759ec86e2e4c3f7b401e232706"
    },
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  },
  "number_of_container_restarts": 0
}
```

**Tipo: ContainerFS**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "EBSVolumeId": "aws://us-west-2b/vol-0a53108976d4a2fda",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567097399912",
  "Type": "ContainerFS",
  "Version": "0",

  "device": "/dev/nvme0n1p1",
  "fstype": "vfs",
  "kubernetes": {
    "container_name": "cloudwatch-agent",
    "docker": {
      "container_id": "8967b6b37da239dfad197c9fdea3e5dfd35a8a759ec86e2e4c3f7b401e232706"
    },
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  }
}
```

**Tipo: Clúster**

```
{
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "cluster_node_count"
        },
        {
          "Unit": "Count",
          "Name": "cluster_failed_node_count"
        }
      ],
      "Dimensions": [
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "Sources": [
    "apiserver"
  ],
  "Timestamp": "1567097534160",
  "Type": "Cluster",
  "Version": "0",
  "cluster_failed_node_count": 0,
  "cluster_node_count": 3
}
```

**Tipo: ClusterService**

```
{
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "service_number_of_running_pods"
        }
      ],
      "Dimensions": [
        [
          "Service",
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "Namespace": "amazon-cloudwatch",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "apiserver"
  ],
  "Timestamp": "1567097534160",
  "Type": "ClusterService",
  "Version": "0",
  "kubernetes": {
    "namespace_name": "amazon-cloudwatch",
    "service_name": "cloudwatch-agent-statsd"
  },
  "service_number_of_running_pods": 1
}
```

**Tipo: ClusterNamespace**

```
{
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "namespace_number_of_running_pods"
        }
      ],
      "Dimensions": [
        [
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "Namespace": "amazon-cloudwatch",
  "Sources": [
    "apiserver"
  ],
  "Timestamp": "1567097594160",
  "Type": "ClusterNamespace",
  "Version": "0",
  "kubernetes": {
    "namespace_name": "amazon-cloudwatch"
  },
  "namespace_number_of_running_pods": 7
}
```

# Campos relevantes en eventos de registro de rendimiento para Amazon EKS y Kubernetes
<a name="Container-Insights-reference-performance-entries-EKS"></a>

En Amazon EKS y Kubernetes, el agente de CloudWatch en contenedores emite los datos como eventos de registro de rendimiento. Esto permite a CloudWatch capturar y almacenar datos de alta cardinalidad. CloudWatch utiliza los datos en los eventos de registro de rendimiento para crear métricas de CloudWatch agregadas en el nivel de clúster, de nodo y de pod sin necesidad de perder detalles pormenorizados.

En la siguiente tabla, se muestran los campos de estos eventos de registro de rendimiento que son relevantes para la recopilación de datos de las métricas de Información de contenedores. Puede utilizar Información de registros de CloudWatch para consultar cualquiera de estos campos con el fin de recopilar datos o investigar problemas. Para obtener más información, consulte [Analyze Log Data With CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).


| Tipo | Campo de registro | Origen | Fórmula o notas | 
| --- | --- | --- | --- | 
|  Pod |  `pod_cpu_utilization`  |  Calculado  |  Fórmula: `pod_cpu_usage_total / node_cpu_limit`  | 
|  Pod |  `pod_cpu_usage_total` `pod_cpu_usage_total` se mide en milinúcleos.  |  cadvisor  |   | 
|  Pod |  `pod_cpu_limit`  |  Calculado  |  Fórmula: `sum(container_cpu_limit)`  `sum(container_cpu_limit)` incluye los pods ya completados. Si no se ha definido un límite de CPU para alguno de los contenedores del pod, este campo no aparece en el evento de registro. Esto incluye los [contenedores init](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources).  | 
|  Pod |  `pod_cpu_request`  |  Calculado  |  Fórmula: `sum(container_cpu_request)` `container_cpu_request`No se garantiza que se vaya a establecer. En la suma solo se incluyen las que se establezcan.  | 
|  Pod |  `pod_cpu_utilization_over_pod_limit`  |  Calculado  |  Fórmula: `pod_cpu_usage_total / pod_cpu_limit`  | 
|  Pod |  `pod_cpu_reserved_capacity`  |  Calculado  |  Fórmula: `pod_cpu_request / node_cpu_limit`  | 
|  Pod |  `pod_memory_utilization`  |  Calculado  |  Fórmula: `pod_memory_working_set / node_memory_limit` Es el porcentaje de uso de memoria de pod sobre la limitación de memoria de nodo.  | 
|  Pod |  `pod_memory_working_set`  |  cadvisor  |   | 
|  Pod |  `pod_memory_limit`  |  Calculado  |  Fórmula: `sum(container_memory_limit)` Si algún contenedor del pod no tiene definido un límite de memoria, este campo no aparece en el evento de registro. Esto incluye los [contenedores init](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources).  | 
|  Pod |  `pod_memory_request`  |  Calculado  |  Fórmula: `sum(container_memory_request)` `container_memory_request`No se garantiza que se vaya a establecer. En la suma solo se incluyen las que se establezcan.  | 
|  Pod |  `pod_memory_utilization_over_pod_limit`  |  Calculado  |  Fórmula: `pod_memory_working_set / pod_memory_limit` Si algún contenedor del pod no tiene definido un límite de memoria, este campo no aparece en el evento de registro. Esto incluye los [contenedores init](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources).  | 
|  Pod |  `pod_memory_reserved_capacity`  |  Calculado  |  Fórmula: `pod_memory_request / node_memory_limit`  | 
|  Pod |  `pod_network_tx_bytes`  |  Calculado  |  Fórmula: `sum(pod_interface_network_tx_bytes)` Estos datos están disponibles para todas las interfaces de red de cada pod. El agente de CloudWatch calcula el total y agrega las reglas de extracción de las métricas.  | 
|  Pod |  `pod_network_rx_bytes`  |  Calculado  |  Fórmula: `sum(pod_interface_network_rx_bytes)`  | 
|  Pod |  `pod_network_total_bytes`  |  Calculado  |  Fórmula: `pod_network_rx_bytes + pod_network_tx_bytes`  | 
|  PodNet |  `pod_interface_network_rx_bytes`  |  cadvisor  | Este dato son los bytes rx de red por segundo de la interfaz de red de un pod.  | 
|  PodNet |  `pod_interface_network_tx_bytes`  |  cadvisor  | Este dato son los bytes tx de red por segundo de la interfaz de red de un pod. | 
|  Contenedor |  `container_cpu_usage_total`  |  cadvisor  |   | 
|  Contenedor |  `container_cpu_limit`  |  cadvisor  |  No garantiza que se vaya a establecer. Si no se establece, no se emite. | 
|  Contenedor |  `container_cpu_request`  |  cadvisor  |  No garantiza que se vaya a establecer. Si no se establece, no se emite. | 
|  Contenedor |  `container_memory_working_set`  |  cadvisor  |   | 
|  Contenedor |  `container_memory_limit`  |  pod  |  No garantiza que se vaya a establecer. Si no se establece, no se emite. | 
|  Contenedor |  `container_memory_request`  |  pod  |  No garantiza que se vaya a establecer. Si no se establece, no se emite. | 
|  Nodo |  `node_cpu_utilization`  |  Calculado  |  Fórmula: `node_cpu_usage_total / node_cpu_limit`  | 
|  Nodo |  `node_cpu_usage_total`  |  cadvisor  |   | 
|  Nodo |  `node_cpu_limit`  |  /proc  |   | 
|  Nodo |  `node_cpu_request`  |  Calculado  | Fórmula: `sum(pod_cpu_request)` En el caso de los cronjobs, `node_cpu_request` también incluye las solicitudes de módulos completados. Esto puede generar un alto valor para `node_cpu_reserved_capacity`.  | 
|  Nodo |  `node_cpu_reserved_capacity`  |  Calculado  | Fórmula: `node_cpu_request / node_cpu_limit`  | 
|  Nodo |  `node_memory_utilization`  |  Calculado  | Fórmula: `node_memory_working_set / node_memory_limit`  | 
|  Nodo |  `node_memory_working_set`  |  cadvisor  |   | 
|  Nodo |  `node_memory_limit`  |  /proc  |   | 
|  Nodo |  `node_memory_request`  |  Calculado  |  Fórmula: `sum(pod_memory_request)`  | 
|  Nodo |  `node_memory_reserved_capacity`  |  Calculado  | Fórmula: `node_memory_request / node_memory_limit`  | 
|  Nodo |  `node_network_rx_bytes`  |  Calculado  | Fórmula: `sum(node_interface_network_rx_bytes)`  | 
|  Nodo |  `node_network_tx_bytes`  |  Calculado  | Fórmula: `sum(node_interface_network_tx_bytes)`  | 
|  Nodo |  `node_network_total_bytes`  |  Calculado  | Fórmula: `node_network_rx_bytes + node_network_tx_bytes`  | 
|  Nodo |  `node_number_of_running_pods`  |  Lista de pods  |   | 
|  Nodo |  `node_number_of_running_containers`  |  Lista de pods  |   | 
|  NodeNet |  `node_interface_network_rx_bytes`  |  cadvisor  |  Este dato son los bytes rx de red por segundo de la interfaz de red de un nodo de trabajo.  | 
|  NodeNet |  `node_interface_network_tx_bytes`  |  cadvisor  |  Este dato son los bytes tx de red por segundo de la interfaz de red de un nodo de trabajo.  | 
|  NodeFS |  `node_filesystem_capacity`  |  cadvisor  |   | 
|  NodeFS |  `node_filesystem_usage`  |  cadvisor  |   | 
|  NodeFS |  `node_filesystem_utilization`  |  Calculado  |  Fórmula: `node_filesystem_usage / node_filesystem_capacity` Estos datos están disponibles para cada nombre de dispositivo.  | 
|  Clúster |  `cluster_failed_node_count`  |  Servidor de API  |   | 
|  Clúster |  `cluster_node_count`  |  Servidor de API  |   | 
|  Servicio |  `service_number_of_running_pods`  |  Servidor de API  |   | 
|  `Namespace` |  `namespace_number_of_running_pods`  |  Servidor de API  |   | 

## Ejemplos de cálculo de métricas
<a name="Container-Insights-calculation-examples"></a>

En esta sección, se incluyen ejemplos que muestran cómo se calculan algunos de los valores de la tabla anterior.

Suponga que tiene un clúster en el estado siguiente.

```
Node1
   node_cpu_limit = 4
   node_cpu_usage_total = 3
   
   Pod1
     pod_cpu_usage_total = 2
     
     Container1
        container_cpu_limit = 1
        container_cpu_request = 1
        container_cpu_usage_total = 0.8
        
     Container2
        container_cpu_limit = null
        container_cpu_request = null
        container_cpu_usage_total = 1.2
        
   Pod2
     pod_cpu_usage_total = 0.4
     
     Container3
        container_cpu_limit = 1
        container_cpu_request = 0.5
        container_cpu_usage_total = 0.4
        
Node2
   node_cpu_limit = 8
   node_cpu_usage_total = 1.5
   
   Pod3
     pod_cpu_usage_total = 1
     
     Container4
        container_cpu_limit = 2
        container_cpu_request = 2
        container_cpu_usage_total = 1
```

En la tabla siguiente, se muestra cómo se calculan las métricas de CPU de los pods utilizando estos datos.


| Métrica | Formula | Pod1 | Pod2 | Pod3 | 
| --- | --- | --- | --- | --- | 
|  `pod_cpu_utilization` |  `pod_cpu_usage_total / node_cpu_limit`  |  2 / 4 = 50 %  |  0,4 / 4 = 10 %  |  1 / 8 = 12,5 %  | 
|  `pod_cpu_utilization_over_pod_limit` |  `pod_cpu_usage_total / sum(container_cpu_limit)`  |  N/A, porque no se ha definido el límite de CPU para `Container2`.  |  0,4 / 1 = 40 %  |  1 / 2 = 50 %  | 
|  `pod_cpu_reserved_capacity` |  `sum(container_cpu_request) / node_cpu_limit`  |  (1 \$1 0) / 4 = 25 %  |  0,5 / 4 = 12,5 %  |  2 / 8 = 25 %  | 

En la tabla siguiente, se muestra cómo se calculan las métricas de CPU de los nodos utilizando estos datos.


| Métrica | Formula | Node1 | Node2 | 
| --- | --- | --- | --- | 
|  `node_cpu_utilization` |  `node_cpu_usage_total / node_cpu_limit`  |  3 / 4 = 75 %  |  1,5 / 8 = 18,75 %  | 
|  `node_cpu_reserved_capacity` |  `sum(pod_cpu_request) / node_cpu_limit`  |  1,5 / 4 = 37,5 %  |  2 / 8 = 25 %  | 

# Supervisión de métricas de Información de contenedores de Prometheus
<a name="ContainerInsights-Prometheus"></a>

La supervisión de Información de contenedores de CloudWatch para Prometheus automatiza la detección de métricas de Prometheus de cargas de trabajo y de sistemas en contenedores. Prometheus es un conjunto de herramientas de alerta y supervisión de sistemas de código abierto. Para obtener más información, consulte [s Prometheus?](https://prometheus.io/docs/introduction/overview/) en la documentación de Prometheus.

La detección de métricas de Prometheus es compatible con los clústeres de [Amazon Elastic Container Service](https://aws.amazon.com/ecs/), [Amazon Elastic Kubernetes Service](https://aws.amazon.com/eks/) y [Kubernetes](https://aws.amazon.com/kubernetes/) que se ejecutan en instancias de Amazon EC2. Se recopilan los tipos de métricas de contador, de medición y de resumen de Prometheus.

Para los clústeres de Amazon ECS y de Amazon EKS, se admiten los tipos de lanzamiento de EC2 y Fargate. Información de contenedores recopila automáticamente métricas de varias cargas de trabajo, y puede configurarse para recopilar métricas de cualquier carga de trabajo.

Puede adoptar Prometheus como método de código abierto y estándar abierto para capturar métricas personalizadas en CloudWatch. El agente de CloudWatch compatible con Prometheus detecta y recopila métricas de Prometheus para supervisar, solucionar errores y crear alarmas con más rapidez cuando el rendimiento de las aplicaciones se ve degradado y existen errores. Esto reduce también el número de herramientas de supervisión necesarias para mejorar la capacidad de observación.

Información de contenedores de Prometheus permite utilizar un sistema de pago por uso con las métricas y registros, incluida su recopilación, almacenamiento y análisis. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

**Paneles estándar para algunas cargas de trabajo**

La solución Información de contenedores de Prometheus incluye paneles estándar para las cargas de trabajo populares que se enumeran en esta sección. Para obtener configuraciones de ejemplo para estas cargas de trabajo, consulte [(Opcional) Configure de cargas de trabajo en contenedores de Amazon ECS de muestra para realizar pruebas con las métricas de Prometheus](ContainerInsights-Prometheus-Sample-Workloads-ECS.md) y [(Opcional) Configure las cargas de trabajo de muestra de Amazon EKS en contenedores para realizar pruebas con las métricas de Prometheus](ContainerInsights-Prometheus-Sample-Workloads.md).

También puede configurar Información de contenedores para que recopile métricas de Prometheus de otras aplicaciones y servicios en contenedores mediante la edición del archivo de configuración del agente.

Las cargas de trabajo con paneles prediseñados para clústeres de Amazon EKS y de Kubernetes que se ejecutan en instancias de Amazon EC2:
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy

Cargas de trabajo con paneles prediseñados para clústeres de Amazon ECS:
+ AWS App Mesh
+ Java/JMX
+ NGINX
+ NGINX Plus

# Instale y configure la recopilación de métricas de Prometheus en clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-ECS"></a>

Para recopilar métricas de Prometheus de clústeres de Amazon ECS, se puede utilizar el agente de CloudWatch como recopilador o utilizar el recopilador de AWS Distro para OpenTelemetry. Para obtener información sobre el uso del recopilador AWS Distro para OpenTelemetry, consulte [https://aws-otel.github.io/docs/getting-started/container-insights/ecs-prometheus](https://aws-otel.github.io/docs/getting-started/container-insights/ecs-prometheus).

En las siguientes secciones se explica cómo se utiliza el agente de CloudWatch como recopilador para recuperar métricas de Prometheus. Se instala el agente CloudWatch con supervisión de Prometheus en clústeres que ejecutan Amazon ECS y, opcionalmente, se puede configurar el agente para que raspe destinos adicionales. Estas secciones también proporcionan tutoriales opcionales para configurar cargas de trabajo de muestra con el fin de utilizarlas en pruebas con supervisión de Prometheus. 

Información de contenedores en Amazon ECS admite las siguientes combinaciones de tipo de lanzamiento y modo de redes para las métricas de Prometheus:


| Tipo de lanzamiento de Amazon ECS | Modos de redes compatibles | 
| --- | --- | 
|  EC2 (Linux)  |  puente, host y awsvpc  | 
|  Fargate  |  awsvpc  | 

**Requisitos del grupo de seguridad de la VPC**

Las reglas de entrada de los grupos de seguridad para las cargas de trabajo de Prometheus deben abrir los puertos de Prometheus al agente de CloudWatch para raspar las métricas de Prometheus por la IP privada.

Las reglas de salida del grupo de seguridad para el agente de CloudWatch deben permitir que el agente de CloudWatch se conecte al puerto de cargas de trabajo de Prometheus mediante la IP privada. 

**Topics**
+ [Instale el agente CloudWatch con la colección de métricas de Prometheus en clústeres de Amazon ECS](ContainerInsights-Prometheus-install-ECS.md)
+ [Paspado de fuentes adicionales de Prometheus e importación de esas métricas](ContainerInsights-Prometheus-Setup-configure-ECS.md)
+ [(Opcional) Configure de cargas de trabajo en contenedores de Amazon ECS de muestra para realizar pruebas con las métricas de Prometheus](ContainerInsights-Prometheus-Sample-Workloads-ECS.md)

# Instale el agente CloudWatch con la colección de métricas de Prometheus en clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-install-ECS"></a>

En esta sección se explica cómo se configura el agente de CloudWatch con la supervisión de Prometheus en un clúster que ejecute Amazon ECS. Después de hacerlo, el agente raspa e importa automáticamente métricas para las siguientes cargas de trabajo que se ejecutan en ese clúster.
+ AWS App Mesh
+ Java/JMX

También puede configurar el agente para que recopile e importe métricas de fuentes y cargas de trabajo adicionales de Prometheus.

## Configuración de los roles de IAM
<a name="ContainerInsights-Prometheus-Setup-ECS-IAM"></a>

Se necesitan dos roles de IAM para la definición de la tarea del agente de CloudWatch. Si especifica **CreateIAMRoles=True** en la pila de CloudFormation para que Información de contenedores cree estos roles por usted, los roles se crearán con los permisos correctos. Si desea crearlos o usar roles existentes, se requieren los siguientes roles y permisos.
+ **Rol de tarea de ECS del agente de CloudWatch**: el contenedor del agente de CloudWatch utiliza este rol. Debe incluirse la política **CloudWatchAgentServerPolicy** y una política administrada por el cliente que contiene los siguientes permisos que son solo de lectura:
  + `ec2:DescribeInstances`
  + `ecs:ListTasks`
  + `ecs:ListServices`
  + `ecs:DescribeContainerInstances`
  + `ecs:DescribeServices`
  + `ecs:DescribeTasks`
  + `ecs:DescribeTaskDefinition`
+ **Rol de ejecución de tareas de ECS del agente de CloudWatch**: es el rol que Amazon ECS requiere para lanzar y ejecutar los contenedores. Asegúrese de que el rol de ejecución de la tarea tenga adjuntas las políticas **AmazonSSMReadOnlyAccess**, **AmazonECSTaskExecutionRolePolicy**, y .**CloudWatchAgentServerPolicy**. Si desea almacenar más información confidencial para que Amazon ECS la use, consulte [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) (Especificación de información confidencial).

## Instalación del agente de CloudWatch con la supervisión de Prometheus mediante CloudFormation
<a name="ContainerInsights-Prometheus-Setup-ECS-CFN"></a>

Se utiliza AWS CloudFormation para instalar el agente CloudWatch con supervisión de Prometheus para clústeres de Amazon ECS. En la siguiente lista, se enumeran los parámetros que utilizará en la plantilla de CloudFormation.
+ **ECSClusterName**: especifica el clúster de Amazon ECS de destino.
+ **CreateIAMRoles**: especifique **True** para crear roles nuevos para el rol de tareas de Amazon ECS y el rol de ejecución de tareas de Amazon ECS. Especifique **False** para reutilizar los roles existentes.
+ **TaskRoleName**: si ha especificado **True** en **CreateIAMRoles**, esto especifica el nombre que debe usarse para el nuevo rol de tareas de Amazon ECS. Si ha especificado **False** en **CreateIAMRoles**, esto especifica el rol existente que se va a utilizar como función de tarea de Amazon ECS. 
+ **ExecutionRoleName**: si ha especificado **True** en **CreateIAMRoles**, esto especifica el nombre que debe usarse para el nuevo rol de ejecución de tareas de Amazon ECS. Si ha especificado **False** en **CreateIAMRoles**, esto especifica el rol existente que se va a utilizar como función de ejecución de tareas de Amazon ECS. 
+ **ECSNetworkMode**: si utiliza el tipo de lanzamiento EC2, especifique aquí el modo de redes. Debe ser **bridge** o **host**.
+ **ECSLaunchType**: especifique **fargate** o **EC2**.
+ **SecurityGroupID**: si el **ECSNetworkMode** es **awsvpc**, especifique aquí el ID del grupo de seguridad.
+ **SubnetID**: si el **ECSNetworkMode** es **awsvpc**, especifique aquí el ID de la subred.

### Ejemplos de comandos
<a name="ContainerInsights-Prometheus-Setup-ECS-CFNcommands"></a>

En esta sección se incluyen ejemplos de comandos de CloudFormation para instalar Información de contenedores con supervisión de Prometheus en varias situaciones.

**Cree una pila de CloudFormation para un clúster de Amazon ECS en modo de red bridge**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_NETWORK_MODE=bridge
export CREATE_IAM_ROLES=True
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name

curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
    --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

**Cree una pila de CloudFormation para un clúster de Amazon ECS en modo de red host**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_NETWORK_MODE=host
export CREATE_IAM_ROLES=True
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name


curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
    --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \ 
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

**Cree una pila de CloudFormation para un clúster de Amazon ECS en modo de red awsvpc**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_LAUNCH_TYPE=EC2
export CREATE_IAM_ROLES=True
export ECS_CLUSTER_SECURITY_GROUP=your_security_group_eg_sg-xxxxxxxxxx
export ECS_CLUSTER_SUBNET=your_subnet_eg_subnet-xxxxxxxxxx
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name

curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-${ECS_LAUNCH_TYPE}-awsvpc \
    --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSLaunchType,ParameterValue=${ECS_LAUNCH_TYPE} \
                 ParameterKey=SecurityGroupID,ParameterValue=${ECS_CLUSTER_SECURITY_GROUP} \
                 ParameterKey=SubnetID,ParameterValue=${ECS_CLUSTER_SUBNET} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

**Creación de una pila de CloudFormation para un clúster de Fargate en modo de red awsvpc**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_LAUNCH_TYPE=FARGATE
export CREATE_IAM_ROLES=True
export ECS_CLUSTER_SECURITY_GROUP=your_security_group_eg_sg-xxxxxxxxxx
export ECS_CLUSTER_SUBNET=your_subnet_eg_subnet-xxxxxxxxxx
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name            

curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-${ECS_LAUNCH_TYPE}-awsvpc \
    --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSLaunchType,ParameterValue=${ECS_LAUNCH_TYPE} \
                 ParameterKey=SecurityGroupID,ParameterValue=${ECS_CLUSTER_SECURITY_GROUP} \
                 ParameterKey=SubnetID,ParameterValue=${ECS_CLUSTER_SUBNET} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

### Recursos de AWS que crea la pila de CloudFormation
<a name="ContainerInsights-Prometheus-Setup-ECS-resources"></a>

En la siguiente tabla se enumeran los recursos de AWS que se crean cuando se utiliza CloudFormation para configurar Información de contenedores con supervisión de Prometheus en un clúster de Amazon ECS.


| Tipo de recurso | Nombre del recurso | Comentarios | 
| --- | --- | --- | 
|  AWS::SSM::Parameter  |  AmazonCloudWatch-CWAgentConfig-\$1*ECS\$1CLUSTER\$1NAME*-\$1*ECS\$1LAUNCH\$1TYPE*-\$1*ECS\$1NETWORK\$1MODE*  |  Este es el agente de CloudWatch con la definición predeterminada de formato de métrica integrada de App Mesh y Java/JMX.  | 
|  AWS::SSM::Parameter  |  AmazonCloudWatch-PrometheusConfigName-\$1*ECS\$1CLUSTER\$1NAME*-\$1*ECS\$1LAUNCH\$1TYPE*-\$1*ECS\$1NETWORK\$1MODE*  |  Esta es la configuración de raspado de Prometheus.  | 
|  AWS::IAM::Role  |  **\$1ECS\$1TASK\$1ROLE\$1NAME**.   |  Rol de tarea de Amazon ECS. Esto se crea solo si ha especificado **True** para `CREATE_IAM_ROLES`.  | 
|  AWS::IAM::Role  |  **\$1\$1ECS\$1EXECUTION\$1ROLE\$1NAME\$1**   |  Rol de ejecución de tareas de Amazon ECS. Esto se crea solo si ha especificado **True** para `CREATE_IAM_ROLES`.  | 
|  AWS::ECS::TaskDefinition  |  cwagent-prometheus-\$1*ECS\$1CLUSTER\$1NAME*-\$1*ECS\$1LAUNCH\$1TYPE*-\$1*ECS\$1NETWORK\$1MODE*   |   | 
|  AWS::ECS::Service  |  cwagent-prometheus-replica-service-\$1*ECS\$1LAUNCH\$1TYPE*-\$1*ECS\$1NETWORK\$1MODE*  |   | 

### Eliminación de la pila de CloudFormation para el agente de CloudWatch con supervisión de Prometheus
<a name="ContainerInsights-Prometheus-ECS-delete"></a>

Para eliminar el agente de CloudWatch de un clúster de Amazon ECS, ingrese estos comandos.

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export CLOUDFORMATION_STACK_NAME=your_cloudformation_stack_name

aws cloudformation delete-stack \
--stack-name ${CLOUDFORMATION_STACK_NAME} \
--region ${AWS_DEFAULT_REGION} \
--profile ${AWS_PROFILE}
```

# Paspado de fuentes adicionales de Prometheus e importación de esas métricas
<a name="ContainerInsights-Prometheus-Setup-configure-ECS"></a>

El agente CloudWatch con supervisión de Prometheus necesita dos configuraciones para raspar las métricas de Prometheus. Una de ellas es para las configuraciones estándar de Prometheus que como se documenta en [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) en la documentación de Prometheus. La otra configuración es para la configuración del agente de CloudWatch.

Para los clústeres de Amazon ECS, las configuraciones se integran con Parameter Store de AWS Systems Manager según los secretos de la definición de tareas de Amazon ECS:
+ El secreto `PROMETHEUS_CONFIG_CONTENT` es para la configuración de raspado de Prometheus.
+ El secreto `CW_CONFIG_CONTENT` es para la configuración del agente de CloudWatch. 

Para raspar las fuentes adicionales de las métricas de Prometheus e importarlas a CloudWatch, debe modificar tanto la configuración de raspado de Prometheus como la configuración del agente de CloudWatch y, a continuación, debe volver a implementar el agente con la configuración actualizada.

**Requisitos del grupo de seguridad de la VPC**

Las reglas de entrada de los grupos de seguridad para las cargas de trabajo de Prometheus deben abrir los puertos de Prometheus al agente de CloudWatch para raspar las métricas de Prometheus por la IP privada.

Las reglas de salida del grupo de seguridad para el agente de CloudWatch deben permitir que el agente de CloudWatch se conecte al puerto de cargas de trabajo de Prometheus mediante la IP privada. 

## Configuración de raspado de Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-global"></a>

El agente de CloudWatch es compatible con la configuración de raspado estándar de Prometheus como se describe en [ <scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) en la documentación de Prometheus. Se puede editar esta sección para actualizar las configuraciones que ya están en este archivo y agregar destinos adicionales de raspado de Prometheus. De forma predeterminada, el archivo de configuración de muestra contiene las siguientes líneas de configuración global:

```
global:
  scrape_interval: 1m
  scrape_timeout: 10s
```
+ **scrape\$1interval**: define la frecuencia con la que se deben raspar los destinos.
+ **scrape\$1timeout**: define cuánto tiempo debe esperar antes de que se agote el tiempo de espera de una petición de raspado.

También puede definir valores diferentes para estos parámetros en el nivel de trabajo, para anular las configuraciones globales.

### Trabajos de raspado de Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-scrape"></a>

Los archivos YAML del agente de CloudWatch ya tienen algunos trabajos de raspado configurados de forma predeterminada. Por ejemplo, en los archivos YAML para Amazon ECS, como `cwagent-ecs-prometheus-metric-for-bridge-host.yaml`, los trabajos de raspado predeterminados se configuran en la sección `ecs_service_discovery`.

```
"ecs_service_discovery": {
                  "sd_frequency": "1m",
                  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
                  "docker_label": {
                  },
                  "task_definition_list": [
                    {
                      "sd_job_name": "ecs-appmesh-colors",
                      "sd_metrics_ports": "9901",
                      "sd_task_definition_arn_pattern": ".*:task-definition\/.*-ColorTeller-(white):[0-9]+",
                      "sd_metrics_path": "/stats/prometheus"
                    },
                    {
                      "sd_job_name": "ecs-appmesh-gateway",
                      "sd_metrics_ports": "9901",
                      "sd_task_definition_arn_pattern": ".*:task-definition/.*-ColorGateway:[0-9]+",
                      "sd_metrics_path": "/stats/prometheus"
                    }
                  ]
                }
```

Cada uno de estos destinos predeterminados se raspan y las métricas se envían a CloudWatch en eventos de registro mediante un formato de métrica integrada. Para obtener más información, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).

Los eventos de registro de los clústeres de Amazon ECS se almacenan en el grupo de registros **/aws/ecs/containerinsights/*cluster\$1name*/prometheus**.

Cada trabajo de extracción está contenido en un flujo de registros diferente en este grupo de registros.

Para agregar un nuevo destino de raspado, se debe agregar una entrada nueva en la sección `task_definition_list` en la sección `ecs_service_discovery` del archivo YAML y reiniciar el agente. Para obtener un ejemplo de este proceso, consulte [Tutorial para agregar un destino de raspado nuevo de Prometheus: métricas del servidor de la API de Prometheus](ContainerInsights-Prometheus-Setup-configure.md#ContainerInsights-Prometheus-Setup-new-exporters).

## Configuración del agente de CloudWatch para Prometheus
<a name="ContainerInsights-Prometheus-Setup-cw-agent-config"></a>

El archivo de configuración del agente de CloudWatch cuenta con una sección `prometheus` en `metrics_collected` para la configuración de raspado de Prometheus. Incluye las siguientes opciones de configuración:
+ **nombre\$1clúster**: especifica el nombre del clúster que se va a agregar como etiqueta en el evento de registro. Este campo es opcional. Si lo omite, el agente puede detectar el nombre del clúster de Amazon ECS.
+ **log\$1group\$1name**: especifica el nombre del grupo de registros para las métricas de Prometheus raspadas. Este campo es opcional. Si lo omite, CloudWatch usa **/aws/ecs/containerinsights/*cluster\$1name*/prometheus** para los registros de clústeres de Amazon ECS.
+ **prometheus\$1config\$1path**: especifica la ruta del archivo de configuración de raspado de Prometheus. Si el valor de este campo comienza con `env:`, el contenido del archivo de configuración de raspado de Prometheus se recuperará de la variable de entorno del contenedor. No cambie este campo.
+ **ecs\$1service\$1discovery**: es la sección para especificar las configuraciones de las funciones de detección automática de destino de Prometheus de Amazon ECS . Se admiten dos modos para detectar los destinos de Prometheus: detección basada en la etiqueta de docker del contenedor o detección basada en la expresión regular ARN de definición de tarea de Amazon ECS. Puede utilizar los dos modos juntos y el agente de CloudWatch desduplicará los destinos detectados en función de: *\$1private\$1ip\$1:\$1port\$1/\$1metrics\$1path\$1*.

  La sección `ecs_service_discovery` puede incluir los siguientes campos:
  + `sd_frequency` es la frecuencia para detectar a los exportadores de Prometheus. Especifique un número y un sufijo de unidad. Por ejemplo, `1m` para una vez por minuto o `30s` para una vez cada 30 segundos. Los sufijos de unidad válidos son `ns`, `us`, `ms`, `s`, `m` y `h`.

    Este campo es opcional. El valor predeterminado es 60 segundos (1 minuto).
  + `sd_target_cluster` es el nombre de clúster de Amazon ECS de destino para la detección automática. Este campo es opcional. El valor predeterminado es el nombre del clúster de Amazon ECS donde está instalado el agente de CloudWatch. 
  + `sd_cluster_region` es la Región del clúster de Amazon ECS de destino. Este campo es opcional. El valor predeterminado es la Región del clúster de Amazon ECS donde está instalado el agente de CloudWatch.
  + `sd_result_file` es la ruta del archivo YAML para los resultados de destino de Prometheus. La configuración de raspado de Prometheus hará referencia a este archivo.
  + `docker_label` es una sección opcional que se puede utilizar para especificar la configuración para la detección de servicios basada en etiquetas docker. Si omite esta sección, no se utiliza la detección basada en etiquetas docker. Esta sección puede incluir los siguientes campos:
    + `sd_port_label` es el nombre de etiqueta docker del contenedor que especifica el puerto del contenedor para las métricas de Prometheus. El valor predeterminado es `ECS_PROMETHEUS_EXPORTER_PORT`. Si el contenedor no tiene esta etiqueta docker, el agente de CloudWatch lo omitirá.
    + `sd_metrics_path_label` es el nombre de etiqueta docker del contenedor que especifica la ruta de métricas de Prometheus. El valor predeterminado es `ECS_PROMETHEUS_METRICS_PATH`. Si el contenedor no tiene esta etiqueta docker, el agente asume la ruta predeterminada `/metrics`.
    + `sd_job_name_label` es el nombre de etiqueta docker del contenedor que especifica el nombre del trabajo de raspado de Prometheus. El valor predeterminado es `job`. Si el contenedor no tiene esta etiqueta docker, el agente de CloudWatch utiliza el nombre del trabajo en la configuración de raspado de Prometheus.
  + `task_definition_list` es una sección opcional que se puede utilizar para especificar la configuración de la detección de servicios basada en definiciones de tareas. Si omite esta sección, no se utiliza la detección basada en definiciones de tareas. Esta sección puede incluir los siguientes campos:
    + `sd_task_definition_arn_pattern` es el patrón que se utiliza para especificar las definiciones de tareas de Amazon ECS que se van a detectar. Esta es una expresión regular.
    + `sd_metrics_ports` enumera el containerPort para las métricas de Prometheus. Separe los containerPorts con punto y coma.
    + `sd_container_name_pattern` especifica los nombres de contenedor de tareas de Amazon ECS. Esta es una expresión regular.
    + `sd_metrics_path` especifica la ruta de la métrica de Prometheus. Si omite esto, el agente asume la ruta de acceso predeterminada de las `/metrics`
    + `sd_job_name` especifica el nombre del trabajo de raspado de Prometheus. Si omite este campo, el agente de CloudWatch utilizará el nombre de trabajo en la configuración de borrado de Prometheus.
  + `service_name_list_for_tasks` es una sección opcional que puede utilizar para especificar la configuración de la detección basada en nombres de servicio. Si omite esta sección, no se utiliza la detección basada en nombres de servicio. Esta sección puede incluir los siguientes campos:
    + `sd_service_name_pattern` es el patrón que se debe utilizar para especificar el servicio Amazon ECS en el que se van a detectar las tareas. Esta es una expresión regular.
    + `sd_metrics_ports` enumera el `containerPort` para ver las métricas de Prometheus. Separe varios `containerPorts` con punto y coma.
    + `sd_container_name_pattern` especifica los nombres de contenedor de tareas de Amazon ECS. Esta es una expresión regular.
    + `sd_metrics_path` especifica la ruta de las métricas de Prometheus. Si omite esto, el agente asume la ruta de acceso predeterminada `/metrics`.
    + `sd_job_name` especifica el nombre del trabajo de raspado de Prometheus. Si omite este campo, el agente de CloudWatch utilizará el nombre de trabajo en la configuración de raspado de Prometheus. 
+ **metric\$1declaration**: son secciones que especifican la matriz de registros con formato de métrica integrada que se van a generar. Hay secciones `metric_declaration` para cada fuente de Prometheus desde las que el agente de CloudWatch importa de forma predeterminada. Cada una de estas secciones incluye los siguientes campos:
  + `label_matcher` es una expresión regular que verifica el valor de las etiquetas que aparecen en `source_labels`. Las métricas que concuerdan se pueden incorporar al formato de métrica integrada que se envía a CloudWatch. 

    Si tiene varias etiquetas especificadas en `source_labels`, se recomienda que evite el uso de los caracteres `^` o `$` en la expresión regular para `label_matcher`.
  + `source_labels` especifica el valor de las etiquetas que se comprueban con `label_matcher`.
  + `label_separator` especifica el separador que se utilizará en la línea ` label_matcher` si se especifican múltiples `source_labels`. El valor predeterminado es `;`. Puede ver este valor predeterminado utilizado en la línea `label_matcher` en el siguiente ejemplo.
  + `metric_selectors` es una expresión regular que especifica las métricas que se van a recopilar y enviar a CloudWatch.
  + `dimensions` es la lista de etiquetas que se van a utilizar como dimensiones de CloudWatch en cada métrica seleccionada.

Consulte el siguiente ejemplo, `metric_declaration`.

```
"metric_declaration": [
  {
     "source_labels":[ "Service", "Namespace"],
     "label_matcher":"(.*node-exporter.*|.*kube-dns.*);kube-system$",
     "dimensions":[
        ["Service", "Namespace"]
     ],
     "metric_selectors":[
        "^coredns_dns_request_type_count_total$"
     ]
  }
]
```

En este ejemplo se configura una sección de formato de métricas integradas para que se envíe como evento de registro si se cumplen las condiciones siguientes:
+ El valor de `Service` contiene `node-exporter` o `kube-dns`.
+ El valor de `Namespace` es `kube-system`.
+ La métrica de Prometheus `coredns_dns_request_type_count_total` contiene ambas etiquetas, `Service` y `Namespace`.

El evento de registro que se envía incluye la siguiente sección resaltada:

```
{
   "CloudWatchMetrics":[
      {
         "Metrics":[
            {
               "Name":"coredns_dns_request_type_count_total"
            }
         ],
         "Dimensions":[
            [
               "Namespace",
               "Service"
            ]
         ],
         "Namespace":"ContainerInsights/Prometheus"
      }
   ],
   "Namespace":"kube-system",
   "Service":"kube-dns",
   "coredns_dns_request_type_count_total":2562,
   "eks_amazonaws_com_component":"kube-dns",
   "instance":"192.168.61.254:9153",
   "job":"kubernetes-service-endpoints",
   ...
}
```

# Guía detallada para la detección automática en clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-autodiscovery-ecs"></a>

Prometheus proporciona docenas de mecanismos dinámicos de detección de servicios, como se describe en [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config). Sin embargo, no existe una detección de servicios integrado para Amazon ECS. El agente CloudWatch agrega este mecanismo.

Cuando se habilita la detección de servicios de Amazon ECS Prometheus, el agente de CloudWatch realiza periódicamente las siguientes llamadas a la API a Amazon ECS y a los frontends de Amazon EC2 para recuperar los metadatos de las tareas ECS en ejecución en el clúster de ECS de destino. 

```
EC2:DescribeInstances
ECS:ListTasks
ECS:ListServices
ECS:DescribeContainerInstances
ECS:DescribeServices
ECS:DescribeTasks
ECS:DescribeTaskDefinition
```

El agente de CloudWatch utiliza los metadatos para examinar los destinos de Prometheus dentro del clúster de ECS. El agente de CloudWatch admite tres modos de detección de servicio:
+ Detección de servicio basada en etiquetas docker de contenedor
+ Detección de servicio basada en expresiones regulares ARN de definición de tarea de ECS
+ Detección de servicio basada en expresiones regulares de nombre de servicio de ECS

Todos los modos se pueden utilizar de forma conjunta. El agente de CloudWatch desduplica los destinos detectados en función de: `{private_ip}:{port}/{metrics_path}`.

Todos los destinos detectados se registran en un archivo de resultados que el campo de configuración `sd_result_file` especifica dentro del contenedor del agente de CloudWatch. A continuación se muestra un archivo de resultados de ejemplo. 

```
- targets:
  - 10.6.1.95:32785
  labels:
    __metrics_path__: /metrics
    ECS_PROMETHEUS_EXPORTER_PORT: "9406"
    ECS_PROMETHEUS_JOB_NAME: demo-jar-ec2-bridge-dynamic
    ECS_PROMETHEUS_METRICS_PATH: /metrics
    InstanceType: t3.medium
    LaunchType: EC2
    SubnetId: subnet-123456789012
    TaskDefinitionFamily: demo-jar-ec2-bridge-dynamic-port
    TaskGroup: family:demo-jar-ec2-bridge-dynamic-port
    TaskRevision: "7"
    VpcId: vpc-01234567890
    container_name: demo-jar-ec2-bridge-dynamic-port
    job: demo-jar-ec2-bridge-dynamic
- targets:
  - 10.6.3.193:9404
  labels:
    __metrics_path__: /metrics
    ECS_PROMETHEUS_EXPORTER_PORT_SUBSET_B: "9404"
    ECS_PROMETHEUS_JOB_NAME: demo-tomcat-ec2-bridge-mapped-port
    ECS_PROMETHEUS_METRICS_PATH: /metrics
    InstanceType: t3.medium
    LaunchType: EC2
    SubnetId: subnet-123456789012
    TaskDefinitionFamily: demo-tomcat-ec2-bridge-mapped-port
    TaskGroup: family:demo-jar-tomcat-bridge-mapped-port
    TaskRevision: "12"
    VpcId: vpc-01234567890
    container_name: demo-tomcat-ec2-bridge-mapped-port
    job: demo-tomcat-ec2-bridge-mapped-port
```

Puede integrar directamente este archivo de resultados con la detección de servicios basada en archivos de Prometheus. Para obtener más información acerca de la detección de servicios basada en archivos de Prometheus, consulte [<file\$1sd\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config).

 Suponga que el archivo de resultados se registra en `/tmp/cwagent_ecs_auto_sd.yaml`, la siguiente configuración de raspado de Prometheus lo consumirá.

```
global:
  scrape_interval: 1m
  scrape_timeout: 10s
scrape_configs:
  - job_name: cwagent-ecs-file-sd-config
    sample_limit: 10000
    file_sd_configs:
      - files: [ "/tmp/cwagent_ecs_auto_sd.yaml" ]
```

El agente de CloudWatch también agrega las siguientes etiquetas adicionales para los destinos detectados.
+ `container_name`
+ `TaskDefinitionFamily`
+ `TaskRevision`
+ `TaskGroup`
+ `StartedBy`
+ `LaunchType`
+ `job`
+ `__metrics_path__`
+ Etiquetas docker

Cuando el clúster tiene el tipo de lanzamiento EC2, se agregan las tres etiquetas siguientes.
+ `InstanceType`
+ `VpcId`
+ `SubnetId`

**nota**  
Las etiquetas docker que no concuerdan con la expresión regular `[a-zA-Z_][a-zA-Z0-9_]*` se filtran. Coincide con las convenciones de Prometheus enumeradas en `label_name` en [Configuration file](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#labelname) (Archivo de configuración) en la documentación de Prometheus.

## Ejemplos de configuración de detección de servicios de ECS
<a name="ContainerInsights-Prometheus-Setup-autodiscovery-ecs-examples"></a>

En esta sección se incluyen ejemplos que demuestran la detección de servicios de ECS.

**Ejemplo 1**

```
"ecs_service_discovery": {
  "sd_frequency": "1m",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "docker_label": {
  }
}
```

En este ejemplo se habilita la detección de servicios basada en etiquetas docker El agente de CloudWatch consultará los metadatos de las tareas de ECS una vez por minuto y registrará los destinos detectados en el archivo `/tmp/cwagent_ecs_auto_sd.yaml` dentro del contenedor del agente de CloudWatch.

El valor predeterminado de `sd_port_label` en la sección `docker_label` es `ECS_PROMETHEUS_EXPORTER_PORT`. Si algún contenedor en ejecución en las tareas de ECS tiene una etiqueta docker `ECS_PROMETHEUS_EXPORTER_PORT`, el agente CloudWatch utiliza el valor como `container port` para examinar todos los puertos expuestos del contenedor. Si hay una concordancia, el puerto del host mapeado más la IP privada del contenedor se utilizan para construir el destino del exportador de Prometheus en el siguiente formato: `private_ip:host_port`. 

El valor predeterminado de `sd_metrics_path_label` en la sección `docker_label` es `ECS_PROMETHEUS_METRICS_PATH`. Si el contenedor tiene esta etiqueta docker, el valor se utilizará como la `__metrics_path__` . Si el contenedor no tiene esta etiqueta, se utiliza el valor predeterminado `/metrics`.

El valor predeterminado de `sd_job_name_label` en la sección `docker_label` es `job`. Si el contenedor tiene esta etiqueta docker, el valor se agregará como una de las etiquetas para que el destino reemplace el nombre de trabajo predeterminado que se especifica en la configuración de Prometheus. El valor de esta etiqueta docker se utiliza como nombre de flujo de registro en el grupo de registros de CloudWatch Logs. 

**Ejemplo 2**

```
"ecs_service_discovery": {
  "sd_frequency": "15s",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "docker_label": {
    "sd_port_label": "ECS_PROMETHEUS_EXPORTER_PORT_SUBSET_A",
    "sd_job_name_label": "ECS_PROMETHEUS_JOB_NAME"  
  }
}
```

En este ejemplo se habilita la detección de servicios basada en etiquetas docker. El agente de CloudWatch consultará los metadatos de las tareas de ECS cada 15 segundos y registrará los destinos detectados en el archivo `/tmp/cwagent_ecs_auto_sd.yaml` dentro del contenedor del agente de CloudWatch. Los contenedores con una etiqueta docker de `ECS_PROMETHEUS_EXPORTER_PORT_SUBSET_A` se examinarán. El valor de la etiqueta docker `ECS_PROMETHEUS_JOB_NAME` se utiliza como el nombre del trabajo.

**Ejemplo 3**

```
"ecs_service_discovery": {
  "sd_frequency": "5m",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "task_definition_list": [
    {
      "sd_job_name": "java-prometheus",
      "sd_metrics_path": "/metrics",
      "sd_metrics_ports": "9404; 9406",
      "sd_task_definition_arn_pattern": ".*:task-definition/.*javajmx.*:[0-9]+"
    },
    {
      "sd_job_name": "envoy-prometheus",
      "sd_metrics_path": "/stats/prometheus",
      "sd_container_name_pattern": "^envoy$", 
      "sd_metrics_ports": "9901",
      "sd_task_definition_arn_pattern": ".*:task-definition/.*appmesh.*:23"
    }
  ]
}
```

Este ejemplo habilita la detección de servicios basada en expresiones ARN regulares de definición de tareas de ECS. El agente de CloudWatch consultará los metadatos de las tareas de ECS cada cinco minutos y registrará los destinos detectados en el archivo `/tmp/cwagent_ecs_auto_sd.yaml` dentro del contenedor del agente de CloudWatch.

Se definen dos secciones de expresión regular de ARN de definición de tarea:
+  Para la primera sección, las tareas de ECS con `javajmx` en la definición de tarea de ECS de ARN se filtran para el análisis del puerto del contenedor. Si los contenedores dentro de estas tareas de ECS exponen el puerto del contenedor en 9404 o 9406, el puerto del host mapeado junto con la IP privada del contenedor se utilizan para crear los destinos del exportador de Prometheus. El valor de `sd_metrics_path` establece `__metrics_path__` a `/metrics`. Por lo tanto, el agente de CloudWatch raspará las métricas de Prometheus de `private_ip:host_port/metrics` y las métricas raspadas se enviarán al flujo de registro `java-prometheus` en CloudWatch Logs en el grupo de registros `/aws/ecs/containerinsights/cluster_name/prometheus`. 
+  Para la segunda sección, las tareas de ECS con `appmesh` en los ARN de definición de tareas de ECS y con `version` de `:23` se filtran para el análisis del puerto del contenedor. Para contenedores con un nombre de `envoy` que exponen el puerto del contenedor en `9901`, el puerto del host mapeado junto con la IP privada del contenedor se utilizan para crear los destinos del exportador de Prometheus. El valor dentro de estas tareas de ECS expone el puerto contenedor en 9404 o 9406, el puerto del host mapeado junto con la IP privada del contenedor se utilizan para crear los destinos del exportador de Prometheus. El valor de `sd_metrics_path` establece `__metrics_path__` a `/stats/prometheus`. Por lo tanto, el agente de CloudWatch eliminará las métricas de Prometheus de `private_ip:host_port/stats/prometheus` y enviará las métricas raspadas al flujo de registros `envoy-prometheus` en CloudWatch Logs en el grupo de registros `/aws/ecs/containerinsights/cluster_name/prometheus`. 

**Ejemplo 4**

```
"ecs_service_discovery": {
  "sd_frequency": "5m",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "service_name_list_for_tasks": [
    {
      "sd_job_name": "nginx-prometheus",
      "sd_metrics_path": "/metrics",
      "sd_metrics_ports": "9113",
      "sd_service_name_pattern": "^nginx-.*"
    },
    {
      "sd_job_name": "haproxy-prometheus",
      "sd_metrics_path": "/stats/metrics",
      "sd_container_name_pattern": "^haproxy$",
      "sd_metrics_ports": "8404",
      "sd_service_name_pattern": ".*haproxy-service.*"
    }
  ]
}
```

En este ejemplo se habilita la detección de servicios basada en expresiones regulares del nombre de servicio de ECS. El agente de CloudWatch consultará los metadatos de los servicios de ECS cada cinco minutos y registrará los destinos detectados en el archivo `/tmp/cwagent_ecs_auto_sd.yaml` dentro del contenedor del agente de CloudWatch.

Se definen dos secciones de expresiones regulares de nombre de servicio:
+  Para la primera sección, las tareas de ECS asociadas con los servicios de ECS que tienen nombres que concuerdan con la expresión regular `^nginx-.*` se filtran para el análisis del puerto del contenedor. Si los contenedores dentro de estas tareas de ECS exponen el puerto del contenedor en 9113, el puerto del host mapeado junto con la IP privada del contenedor se utilizan para crear los destinos del exportador de Prometheus. El valor de `sd_metrics_path` establece `__metrics_path__` a `/metrics`. Por lo tanto, el agente de CloudWatch raspará las métricas de Prometheus de `private_ip:host_port/metrics`, y las métricas raspadas se enviarán al flujo de registro `nginx-prometheus` en CloudWatch Logs en el grupo de registros `/aws/ecs/containerinsights/cluster_name/prometheus`. 
+  Para la segunda sección, las tareas de ECS asociadas con los servicios de ECS que tienen nombres que concuerdan con la expresión regular `.*haproxy-service.*` se filtran para el análisis del puerto del contenedor. En contenedores con un nombre de `haproxy` que exponen el puerto del contenedor en 8404, el puerto del host mapeado junto con la IP privada del contenedor se utilizan para crear los destinos del exportador de Prometheus. El valor de `sd_metrics_path` establece `__metrics_path__` a `/stats/metrics`. Por lo tanto, el agente de CloudWatch raspará las métricas de Prometheus de `private_ip:host_port/stats/metrics`, y las métricas de raspado se enviarán al flujo de registro `haproxy-prometheus` en CloudWatch Logs en el grupo de registros `/aws/ecs/containerinsights/cluster_name/prometheus`. 

**Ejemplo 5**

```
"ecs_service_discovery": {
  "sd_frequency": "1m30s",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "docker_label": {
    "sd_port_label": "MY_PROMETHEUS_EXPORTER_PORT_LABEL",
    "sd_metrics_path_label": "MY_PROMETHEUS_METRICS_PATH_LABEL",
    "sd_job_name_label": "MY_PROMETHEUS_METRICS_NAME_LABEL"  
  }
  "task_definition_list": [
    {
      "sd_metrics_ports": "9150",
      "sd_task_definition_arn_pattern": "*memcached.*"
    }
  ]
}
```

En este ejemplo se habilitan los dos modos de detección de servicios de ECS. El agente de CloudWatch consultará los metadatos de las tareas de ECS cada 90 segundos y registrará los destinos detectados en el archivo `/tmp/cwagent_ecs_auto_sd.yaml` dentro del contenedor del agente de CloudWatch. 

Para la configuración de detección de servicios basada en docker:
+ Las tareas de ECS con etiqueta docker `MY_PROMETHEUS_EXPORTER_PORT_LABEL` se filtrarán para el análisis del puerto de Prometheus. El puerto de destino del contenedor de Prometheus se especifica por el valor de la etiqueta `MY_PROMETHEUS_EXPORTER_PORT_LABEL`. 
+ El valor de la etiqueta docker `MY_PROMETHEUS_EXPORTER_PORT_LABEL` se utiliza para `__metrics_path__`. Si el contenedor no tiene esta etiqueta docker, se utiliza el valor predeterminado `/metrics`. 
+ El valor de la etiqueta docker `MY_PROMETHEUS_EXPORTER_PORT_LABEL` se utiliza como etiqueta de trabajo. Si el contenedor no tiene esta etiqueta docker, se utiliza el nombre del trabajo definido en la configuración de Prometheus.

Para la configuración de la detección de servicio basada en expresiones regulares ARN de definición de tareas de ECS:
+ Las tareas de ECS con `memcached` en los ARN de definición de tareas de ECS se filtran para el análisis del puerto del contenedor. El puerto del contenedor del destino de Prometheus es 9150 de acuerdo a la definición de `sd_metrics_ports`. Se utiliza la ruta de métricas predeterminada `/metrics`. Se utiliza el nombre del trabajo definido en la configuración de Prometheus.

# (Opcional) Configure de cargas de trabajo en contenedores de Amazon ECS de muestra para realizar pruebas con las métricas de Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS"></a>

Para probar la compatibilidad de las métricas de Prometheus en Información de contenedores de CloudWatch, puede configurar una o varias de las siguientes cargas de trabajo en contenedores. El agente de CloudWatch compatible con Prometheus recopila automáticamente las métricas de cada una de estas cargas de trabajo. Para ver las métricas que se recopilan de forma predeterminada, consulte [Métricas de Prometheus que el agente de CloudWatch recopila](ContainerInsights-Prometheus-metrics.md).

**Topics**
+ [Carga de trabajo de App Mesh de muestra para clústeres de Amazon ECS](ContainerInsights-Prometheus-Sample-Workloads-ECS-appmesh.md)
+ [Carga de trabajo Java/JMX de muestra para clústeres de Amazon ECS](ContainerInsights-Prometheus-Sample-Workloads-ECS-javajmx.md)
+ [Carga de trabajo NGINX de muestra para clústeres de Amazon ECS](ContainerInsights-Prometheus-Setup-nginx-ecs.md)
+ [Carga de trabajo de muestra de NGINX Plus para clústeres de Amazon ECS](ContainerInsights-Prometheus-Setup-nginx-plus-ecs.md)
+ [Tutorial para añadir un nuevo destino de raspado de Prometheus: Memcached en Amazon ECS](ContainerInsights-Prometheus-Setup-memcached-ecs.md)
+ [Tutorial para el raspado de métricas de Redis OSS Prometheus en Amazon ECS Fargate](ContainerInsights-Prometheus-Setup-redis-ecs.md)

# Carga de trabajo de App Mesh de muestra para clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS-appmesh"></a>

Para recopilar métricas de una carga de trabajo de muestra de Prometheus para Amazon ECS, se debe ejecutar Información de contenedores en el clúster. Para obtener más información sobre la instalación de Información de contenedores, consulte [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS.md).

En primer lugar, siga esta [walkthrough](https://github.com/aws/aws-app-mesh-examples/tree/main/examples/apps/colorapp#app-mesh-walkthrough-deploy-the-color-app-on-ecs) (explicación) para implementar la aplicación de color de muestra en el clúster de Amazon ECS. Una vez finalizado, tendrá las métricas de Prometheus de App Mesh expuestas en el puerto 9901.

A continuación, siga estos pasos para instalar el agente de CloudWatch con supervisión de Prometheus en el mismo clúster de Amazon ECS en el que instaló la aplicación de color. Los pasos descritos en esta sección instalan el agente de CloudWatch en modo de redes puente. 

Las variables de entorno `ENVIRONMENT_NAME`, `AWS_PROFILE` y `AWS_DEFAULT_REGION` que establezca en la explicación también se utilizarán en los siguientes pasos.

**Para instalar el agente de CloudWatch con supervisión de Prometheus para las pruebas**

1. Descargue la plantilla de CloudFormation con el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml
   ```

1. Configure el modo de red con los siguientes comandos.

   ```
   export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME}
   export ECS_NETWORK_MODE=bridge
   ```

1. Cree la pila de CloudFormation con los siguientes comandos.

   ```
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                    ParameterKey=CreateIAMRoles,ParameterValue=True \
                    ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \
                    ParameterKey=TaskRoleName,ParameterValue=CWAgent-Prometheus-TaskRole-${ECS_CLUSTER_NAME} \
                    ParameterKey=ExecutionRoleName,ParameterValue=CWAgent-Prometheus-ExecutionRole-${ECS_CLUSTER_NAME} \
       --capabilities CAPABILITY_NAMED_IAM \
       --region ${AWS_DEFAULT_REGION} \
       --profile ${AWS_PROFILE}
   ```

1. (Opcional) Cuando se crea la pila de CloudFormation, se observa un mensaje de `CREATE_COMPLETE`. Si desea verificar el estado antes de ver el mensaje, ingrese el siguiente comando.

   ```
   aws cloudformation describe-stacks \
   --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
   --query 'Stacks[0].StackStatus' \
   --region ${AWS_DEFAULT_REGION} \
   --profile ${AWS_PROFILE}
   ```

**Solución de problemas**

En los pasos de la explicación se utiliza jq para analizar el resultado de salida de AWS CLI. Para obtener más información sobre la instalación de jq, consulte [jq](https://stedolan.github.io/jq/). Utilice el siguiente comando para establecer el formato de salida predeterminado de AWS CLI a formato JSON para que jq pueda analizarlo de forma correcta. 

```
$ aws configure
```

Cuando la respuesta llegue a `Default output format`, ingrese **json**.

## Desinstale el agente de CloudWatch con supervisión de Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS-appmesh-uninstall"></a>

Cuando termine de realizar la prueba, ingrese el siguiente comando para desinstalar el agente de CloudWatch mediante la eliminación de la pila de CloudFormation.

```
aws cloudformation delete-stack \
--stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
--region ${AWS_DEFAULT_REGION} \
--profile ${AWS_PROFILE}
```

# Carga de trabajo Java/JMX de muestra para clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS-javajmx"></a>

JMX Exporter es un exportador oficial de Prometheus que puede extraer y exponer mBeans de JMX como métricas de Prometheus. Para obtener más información, consulte [prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

El agente de CloudWatch compatible con Prometheus raspa las métricas de Java/JMX Prometheus en función de la configuración de detección de servicios en el clúster de Amazon ECS. Puede configurar JMX Exporter para exponer las métricas en un puerto o ruta (metrics\$1path) diferente. Si cambia el puerto o la ruta, actualice la sección `ecs_service_discovery` predeterminada en la configuración del agente de CloudWatch.

Para recopilar métricas de una carga de trabajo de Prometheus de muestra para Amazon ECS, debe ejecutar Información de contenedores en el clúster. Para obtener más información sobre la instalación de Información de contenedores, consulte [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS.md).

**Para instalar la carga de trabajo de ejemplo de Java/JMX para clústeres de Amazon ECS**

1. Siga los pasos descritos en estas secciones para crear las imágenes de Docker.
   + [Ejemplo: Imagen de Docker de una aplicación Jar de Java con métricas de Prometheus](ContainerInsights-Prometheus-Sample-Workloads-javajmx.md#ContainerInsights-Prometheus-Sample-Workloads-javajmx-jar)
   + [Ejemplo: Imagen de Apache Tomcat Docker con métricas de Prometheus](ContainerInsights-Prometheus-Sample-Workloads-javajmx.md#ContainerInsights-Prometheus-Sample-Workloads-javajmx-tomcat)

1. Especifique las dos etiquetas docker siguientes en el archivo de definición de tareas de Amazon ECS. A continuación, se puede ejecutar la definición de tarea como un Servicio ECS de Amazon o como una tarea de Amazon ECS en el clúster.
   + Establezca `ECS_PROMETHEUS_EXPORTER_PORT` para apuntar al ContainerPort donde están expuestas las métricas de Prometheus.
   + Establece `Java_EMF_Metrics` en `true`. El agente de CloudWatch utiliza este indicador para generar el formato de métrica integrada en el evento de registro.

   A continuación, se muestra un ejemplo:

   ```
   {
     "family": "workload-java-ec2-bridge",
     "taskRoleArn": "{{task-role-arn}}",
     "executionRoleArn": "{{execution-role-arn}}",
     "networkMode": "bridge",
     "containerDefinitions": [
       {
         "name": "tomcat-prometheus-workload-java-ec2-bridge-dynamic-port",
         "image": "your_docker_image_tag_for_tomcat_with_prometheus_metrics",
         "portMappings": [
           {
             "hostPort": 0,
             "protocol": "tcp",
             "containerPort": 9404
           }
         ],
         "dockerLabels": {
           "ECS_PROMETHEUS_EXPORTER_PORT": "9404",
           "Java_EMF_Metrics": "true"
         }
       }
     ],
     "requiresCompatibilities": [
       "EC2"  ],
     "cpu": "256",
     "memory": "512"
     }
   ```

La configuración predeterminada del agente de CloudWatch en la plantilla de CloudFormation permite tanto la detección de servicios basados en etiquetas docker como la detección de servicios basada en ARN de definición de tareas. Para ver estas configuraciones predeterminadas, consulte la línea 65 del [CloudWatch agent YAML configuration file](https://github.com/aws-samples/amazon-cloudwatch-container-insights/blob/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml#L65) (Archivo de configuración YAML del agente de CloudWatch). Los contenedores con etiquetas `ECS_PROMETHEUS_EXPORTER_PORT` se detectarán automáticamente en función del puerto de contenedor especificado para el raspado de Prometheus. 

La configuración predeterminada del agente de CloudWatch también tiene la configuración `metric_declaration` para Java/JMX en la línea 112 del mismo archivo. Todas las etiquetas docker de los contenedores de destino se agregarán como etiquetas adicionales en las métricas de Prometheus y se enviarán a CloudWatch Logs. Para los contenedores Java/JMX con etiqueta docker `Java_EMF_Metrics=“true”`, se generará el formato de métrica integrada. 

# Carga de trabajo NGINX de muestra para clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-nginx-ecs"></a>

El exportador NGINX de Prometheus puede raspar y exponer datos NGINX como métricas de Prometheus. En este ejemplo se utiliza el exportador junto con el servicio proxy inverso NGINX para Amazon ECS.

Para obtener más información sobre el exportador NGINX de Prometheus, consulte [nginx-prometheus-exporter](https://github.com/nginxinc/nginx-prometheus-exporter) en Github. Para obtener más información sobre el proxy inverso NGINX, consulte [ecs-nginx-reverse-proxy](https://github.com/awslabs/ecs-nginx-reverse-proxy) en Github.

El agente de CloudWatch compatible con Prometheus raspa las métricas de NGINX de Prometheus basadas en la configuración de detección de servicios en el clúster de Amazon ECS. Puede configurar el exportador NGINX de Prometheus para exponer las métricas en un puerto o una ruta diferente. Si cambia el puerto o la ruta, actualice la sección `ecs_service_discovery` en el archivo de configuración del agente de CloudWatch.

## Instale la carga de trabajo de muestra del proxy inverso NGINX para clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-ecs-setup"></a>

Siga los pasos para instalar la carga de trabajo de muestra del proxy inverso NGINX.

### Cree las imágenes de Docker
<a name="ContainerInsights-Prometheus-nginx-ecs-setup-docker"></a>

**Para crear las imágenes de Docker para la carga de trabajo de muestra del proxy inverso NGINX**

1. Descargue la siguiente carpeta del repositorio proxy inverso NGINX: [https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/).

1. Busque el directorio de la `app` y cree una imagen desde ese directorio:

   ```
   docker build -t web-server-app ./path-to-app-directory
   ```

1. Cree una imagen personalizada para NGINX. Primero, cree un directorio con los dos siguientes archivos:
   + Un archivo Dockerfile de muestra:

     ```
     FROM nginx
     COPY nginx.conf /etc/nginx/nginx.conf
     ```
   + Un archivo `nginx.conf`, modificado desde [https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/):

     ```
     events {
       worker_connections 768;
     }
     
     http {
       # Nginx will handle gzip compression of responses from the app server
       gzip on;
       gzip_proxied any;
       gzip_types text/plain application/json;
       gzip_min_length 1000;
     
       server{
         listen 8080;
         location /stub_status {
             stub_status   on;
         }
       }
     
       server {
         listen 80;
     
         # Nginx will reject anything not matching /api
         location /api {
           # Reject requests with unsupported HTTP method
           if ($request_method !~ ^(GET|POST|HEAD|OPTIONS|PUT|DELETE)$) {
             return 405;
           }
     
           # Only requests matching the whitelist expectations will
           # get sent to the application server
           proxy_pass http://app:3000;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection 'upgrade';
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_cache_bypass $http_upgrade;
         }
       }
     }
     ```
**nota**  
`stub_status` debe estar habilitado en el mismo puerto que `nginx-prometheus-exporter` está configurado para raspar métricas desde allí. En nuestra definición de tarea de ejemplo, `nginx-prometheus-exporter` está configurado para raspar métricas del puerto 8080.

1. Cree una imagen a partir de archivos en el directorio nuevo:

   ```
   docker build -t nginx-reverse-proxy ./path-to-your-directory
   ```

1. Cargue las imágenes nuevas en un repositorio de imágenes para usarlas posteriormente.

### Cree la definición de tarea para ejecutar NGINX y la aplicación de servidor web en Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-ecs-setup-task"></a>

A continuación, se debe configurar la definición de tarea.

Esta definición de tarea permite la recopilación y exportación de métricas de NGINX de Prometheus. El contenedor NGINX realiza un seguimiento de la entrada desde la aplicación y expone esos datos al puerto 8080, como se establece en `nginx.conf`. El contenedor exportador NGINX de Prometheus raspa estas métricas y las publica en el puerto 9113, para usarlas en CloudWatch.

**Para configurar la definición de tarea para la carga de trabajo de muestra de NGINX de Amazon ECS**

1. Cree un archivo de definición de tarea JSON con el siguiente contenido. Reemplace *your-customized-nginx-iamge* con el URI de imagen para la imagen NGINX personalizada y reemplace *your-web-server-app-image* con el URI de imagen para la imagen de la aplicación del servidor web.

   ```
   {
     "containerDefinitions": [
       {
         "name": "nginx",
         "image": "your-customized-nginx-image",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "portMappings": [
           {
             "containerPort": 80,
             "protocol": "tcp"
           }
         ],
         "links": [
           "app"
         ]
       },
       {
         "name": "app",
         "image": "your-web-server-app-image",
         "memory": 256,
         "cpu": 256,
         "essential": true
       },
       {
         "name": "nginx-prometheus-exporter",
         "image": "docker.io/nginx/nginx-prometheus-exporter:0.8.0",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "command": [
           "-nginx.scrape-uri",
           "http://nginx:8080/stub_status"
       ],
       "links":[
         "nginx"
       ],
         "portMappings":[
           {
             "containerPort": 9113,
             "protocol": "tcp"
           }
         ]
       }
     ],
     "networkMode": "bridge",
     "placementConstraints": [],
     "family": "nginx-sample-stack"
   }
   ```

1. Ingrese el siguiente comando para registrar la definición de tarea.

   ```
   aws ecs register-task-definition --cli-input-json file://path-to-your-task-definition-json
   ```

1. Cree un servicio para ejecutar la tarea mediante el siguiente comando:

   Asegúrese de no cambiar el nombre del servicio. Se ejecutará un servicio del agente de CloudWatch con una configuración que busca tareas mediante los patrones de nombres de los servicios que las iniciaron. Por ejemplo, para que el agente de CloudWatch encuentre la tarea que este comando ha lanzado, puede especificar que el valor de `sd_service_name_pattern` sea `^nginx-service$`. En la siguiente sección se proporcionan más detalles.

   ```
   aws ecs create-service \
    --cluster your-cluster-name \
    --service-name nginx-service \
    --task-definition nginx-sample-stack:1 \
    --desired-count 1
   ```

### Configure el agente de CloudWatch para que realice el raspado de las métricas de NGINX Prometheus
<a name="ContainerInsights-Prometheus-nginx-ecs-setup-agent"></a>

El paso final es configurar el agente de CloudWatch para que realice el raspado de las métricas de NGINX. En este ejemplo, el agente de CloudWatch detecta la tarea mediante el patrón de nombre de servicio y el puerto 9113, donde el exportador expone las métricas de prometheus para NGINX. Con la tarea detectada y las métricas disponibles, el agente de CloudWatch comienza a publicar las métricas recopiladas en el flujo de registro **nginx-prometheus-exporter**. 

**Para configurar el agente de CloudWatch para que realice el raspado de las métricas de NGINX**

1. Descargue la última versión del archivo YAML necesario con el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml
   ```

1. Abra el archivo con un editor de texto y busque la configuración completa del agente CloudWatch en la clave de `value` en la sección `resource:CWAgentConfigSSMParameter`. A continuación, en la sección `ecs_service_discovery`, agregue la siguiente sección `service_name_list_for_tasks`.

   ```
   "service_name_list_for_tasks": [
     {
       "sd_job_name": "nginx-prometheus-exporter",
       "sd_metrics_path": "/metrics",
       "sd_metrics_ports": "9113",
       "sd_service_name_pattern": "^nginx-service$"
      }
   ],
   ```

1. En el mismo archivo, agregue la siguiente sección en la sección `metric_declaration` para permitir las métricas de NGINX. Asegúrese de seguir el patrón de sangría existente.

   ```
   {
     "source_labels": ["job"],
     "label_matcher": ".*nginx.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName"]],
     "metric_selectors": [
       "^nginx_.*$"
     ]
   },
   ```

1. Si aún no tiene el agente de CloudWatch implementado en este clúster, diríjase directamente al paso 8.

   Si ya implementó el agente de CloudWatch en el clúster de Amazon ECS mediante AWS CloudFormation, puede crear un conjunto de cambios con los siguientes comandos:

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION \
       --change-set-name nginx-scraping-support
   ```

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Revise el conjunto de cambios recién creado **nginx-scraping-support**. Se debería ver un cambio aplicado al recurso **CWAgentConfigSSMParameter**. Ejecute el conjunto de cambios y reinicie la tarea del agente de CloudWatch con el siguiente comando:

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Espere aproximadamente 10 segundos y, a continuación, ingrese el siguiente comando.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Si va a instalar el agente de CloudWatch con la recopilación de métricas de Prometheus en el clúster por primera vez, ingrese los siguientes comandos.

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

## Visualización de las métricas y los registros de NGINX
<a name="ContainerInsights-Prometheus-Setup-nginx-view"></a>

Ahora puede ver las métricas de NGINX que se están recopilando.

**Para visualizar las métricas de la carga de trabajo de muestra de NGINX**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En la Región en la que se está ejecutando el clúster, elija **Metrics** (Métricas) en el panel de navegación izquierdo. Busque el espacio de nombres **ContainerInsights/Prometheus** para ver las métricas.

1. Para ver los eventos de CloudWatch Logs, elija **Log groups** (Grupos de registros) en el panel de navegación. Los eventos se encuentran en el grupo de registros **/aws/containerinsights/*your\$1cluster\$1name*/prometheus**, en el flujo de registros *nginx-prometheus-exporter*.

# Carga de trabajo de muestra de NGINX Plus para clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-nginx-plus-ecs"></a>

NGINX Plus es la versión comercial de NGINX. Debe contar con una licencia para utilizarla. Para obtener más información, consulte [NGINX Plus](https://www.nginx.com/products/nginx/).

El exportador NGINX de Prometheus puede raspar y exponer datos de NGINX como las métricas de Prometheus. En este ejemplo se utiliza el exportador junto con el servicio proxy inverso NGINX Plus para Amazon ECS.

Para obtener más información sobre el exportador NGINX de Prometheus, consulte [nginx-prometheus-exporter](https://github.com/nginxinc/nginx-prometheus-exporter) en Github. Para obtener más información sobre el proxy inverso NGINX, consulte [ecs-nginx-reverse-proxy](https://github.com/awslabs/ecs-nginx-reverse-proxy) en Github.

El agente de CloudWatch compatible con Prometheus realiza el raspado de las métricas de NGINX Plus Prometheus basado en la configuración de detección de servicios en el clúster de Amazon ECS. Puede configurar el exportador NGINX de Prometheus para exponer las métricas en un puerto o una ruta diferente. Si cambia el puerto o la ruta, actualice la sección de `ecs_service_discovery` en el archivo de configuración del agente de CloudWatch.

## Instale la carga de trabajo de muestra del proxy inverso NGINX Plus para clústeres de Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup"></a>

Siga los pasos para instalar la carga de trabajo de muestra del proxy inverso NGINX.

### Cree las imágenes de Docker
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup-docker"></a>

**Para crear las imágenes de Docker para la carga de trabajo de muestra del proxy inverso NGINX Plus**

1. Descargue la siguiente carpeta del repositorio del proxy inverso NGINX: [https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/).

1. Busque el directorio de la `app` y cree una imagen desde ese directorio:

   ```
   docker build -t web-server-app ./path-to-app-directory
   ```

1. Cree una imagen personalizada para NGINX Plus. Antes de poder crear la imagen para NGINX Plus, debe obtener la clave llamada `nginx-repo.key` y el certificado SSL `nginx-repo.crt` para la licencia de NGINX Plus. Cree un directorio y almacene en él la `nginx-repo.key` y los archivos `nginx-repo.crt`. 

   En el directorio que acaba de crear, cree los siguientes dos archivos:
   + Una muestra de Dockerfile con el siguiente contenido. Este archivo docker se adopta a partir de un archivo de muestra que se proporciona en [https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/\$1docker\$1plus\$1image](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/#docker_plus_image). El cambio importante que se realiza es que se carga un archivo por separado, llamado`nginx.conf`, que se creará en el siguiente paso.

     ```
     FROM debian:buster-slim
     
     LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>“
     
     # Define NGINX versions for NGINX Plus and NGINX Plus modules
     # Uncomment this block and the versioned nginxPackages block in the main RUN
     # instruction to install a specific release
     # ENV NGINX_VERSION 21
     # ENV NJS_VERSION 0.3.9
     # ENV PKG_RELEASE 1~buster
     
     # Download certificate and key from the customer portal (https://cs.nginx.com (https://cs.nginx.com/))
     # and copy to the build context
     COPY nginx-repo.crt /etc/ssl/nginx/
     COPY nginx-repo.key /etc/ssl/nginx/
     # COPY nginx.conf /etc/ssl/nginx/nginx.conf
     
     RUN set -x \
     # Create nginx user/group first, to be consistent throughout Docker variants
     && addgroup --system --gid 101 nginx \
     && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx \
     && apt-get update \
     && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates gnupg1 \
     && \
     NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \
     found=''; \
     for server in \
     ha.pool.sks-keyservers.net (http://ha.pool.sks-keyservers.net/) \
     hkp://keyserver.ubuntu.com:80 \
     hkp://p80.pool.sks-keyservers.net:80 \
     pgp.mit.edu (http://pgp.mit.edu/) \
     ; do \
     echo "Fetching GPG key $NGINX_GPGKEY from $server"; \
     apt-key adv --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; \
     done; \
     test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; \
     apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* \
     # Install the latest release of NGINX Plus and/or NGINX Plus modules
     # Uncomment individual modules if necessary
     # Use versioned packages over defaults to specify a release
     && nginxPackages=" \
     nginx-plus \
     # nginx-plus=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-xslt \
     # nginx-plus-module-xslt=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-geoip \
     # nginx-plus-module-geoip=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-image-filter \
     # nginx-plus-module-image-filter=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-perl \
     # nginx-plus-module-perl=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-njs \
     # nginx-plus-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${PKG_RELEASE} \
     " \
     && echo "Acquire::https::plus-pkgs.nginx.com::Verify-Peer \"true\";" >> /etc/apt/apt.conf.d/90nginx \
     && echo "Acquire::https::plus-pkgs.nginx.com::Verify-Host \"true\";" >> /etc/apt/apt.conf.d/90nginx \
     && echo "Acquire::https::plus-pkgs.nginx.com::SslCert \"/etc/ssl/nginx/nginx-repo.crt\";" >> /etc/apt/apt.conf.d/90nginx \
     && echo "Acquire::https::plus-pkgs.nginx.com::SslKey \"/etc/ssl/nginx/nginx-repo.key\";" >> /etc/apt/apt.conf.d/90nginx \
     && printf "deb https://plus-pkgs.nginx.com/debian buster nginx-plus\n" > /etc/apt/sources.list.d/nginx-plus.list \
     && apt-get update \
     && apt-get install --no-install-recommends --no-install-suggests -y \
     $nginxPackages \
     gettext-base \
     curl \
     && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx-plus.list \
     && rm -rf /etc/apt/apt.conf.d/90nginx /etc/ssl/nginx
     
     # Forward request logs to Docker log collector
     RUN ln -sf /dev/stdout /var/log/nginx/access.log \
     && ln -sf /dev/stderr /var/log/nginx/error.log
     
     COPY nginx.conf /etc/nginx/nginx.conf
     
     EXPOSE 80
     
     STOPSIGNAL SIGTERM
     
     CMD ["nginx", "-g", "daemon off;"]
     ```
   + Un archivo `nginx.conf`, modificado desde [https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/nginx](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/nginx).

     ```
     events {
       worker_connections 768;
     }
     
     http {
       # Nginx will handle gzip compression of responses from the app server
       gzip on;
       gzip_proxied any;
       gzip_types text/plain application/json;
       gzip_min_length 1000;
     
       upstream backend {
         zone name 10m;
         server app:3000    weight=2;
         server app2:3000    weight=1;
       }
     
       server{
         listen 8080;
         location /api {
           api write=on;
         }
       }
     
       match server_ok {
         status 100-599;
       }
     
       server {
         listen 80;
         status_zone zone;
         # Nginx will reject anything not matching /api
         location /api {
           # Reject requests with unsupported HTTP method
           if ($request_method !~ ^(GET|POST|HEAD|OPTIONS|PUT|DELETE)$) {
             return 405;
           }
     
           # Only requests matching the whitelist expectations will
           # get sent to the application server
           proxy_pass http://backend;
           health_check uri=/lorem-ipsum match=server_ok;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection 'upgrade';
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_cache_bypass $http_upgrade;
         }
       }
     }
     ```

1. Cree una imagen a partir de los archivos en el directorio nuevo:

   ```
   docker build -t nginx-plus-reverse-proxy ./path-to-your-directory
   ```

1. Cargue las imágenes nuevas en un repositorio de imágenes para usarlas posteriormente.

### Cree la definición de tarea para ejecutar NGINX Plus y la aplicación de servidor web en Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup-task"></a>

A continuación, se debe configurar la definición de tarea.

Esta definición de tarea permite la recopilación y exportación de métricas de NGINX Plus Prometheus. El contenedor NGINX realiza un seguimiento de la entrada desde la aplicación y expone esos datos al puerto 8080, como se establece en `nginx.conf`. El contenedor exportador NGINX de Prometheus raspa estas métricas y las publica en el puerto 9113, para usarlas en CloudWatch.

**Para configurar la definición de tarea para la carga de trabajo de muestra de NGINX de Amazon ECS**

1. Cree un archivo JSON de definición de tarea con el siguiente contenido. Reemplace *your-customized-nginx-plus-image* por el URI de imagen para la imagen personalizada de NGINX Plus, y reemplace *your-web-server-app-image* por el URI de imagen para la imagen de la aplicación del servidor web.

   ```
   {
     "containerDefinitions": [
       {
         "name": "nginx",
         "image": "your-customized-nginx-plus-image",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "portMappings": [
           {
             "containerPort": 80,
             "protocol": "tcp"
           }
         ],
         "links": [
           "app",
           "app2"
         ]
       },
       {
         "name": "app",
         "image": "your-web-server-app-image",
         "memory": 256,
         "cpu": 128,
         "essential": true
       },
       {
         "name": "app2",
         "image": "your-web-server-app-image",
         "memory": 256,
         "cpu": 128,
         "essential": true
       },
       {
         "name": "nginx-prometheus-exporter",
         "image": "docker.io/nginx/nginx-prometheus-exporter:0.8.0",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "command": [
           "-nginx.plus",
           "-nginx.scrape-uri",
            "http://nginx:8080/api"
       ],
       "links":[
         "nginx"
       ],
         "portMappings":[
           {
             "containerPort": 9113,
             "protocol": "tcp"
           }
         ]
       }
     ],
     "networkMode": "bridge",
     "placementConstraints": [],
     "family": "nginx-plus-sample-stack"
   }
   ```

1. Registre la definición de tarea:

   ```
   aws ecs register-task-definition --cli-input-json file://path-to-your-task-definition-json
   ```

1. Cree un servicio para ejecutar la tarea con el siguiente comando:

   ```
   aws ecs create-service \
    --cluster your-cluster-name \
    --service-name nginx-plus-service \
    --task-definition nginx-plus-sample-stack:1 \
    --desired-count 1
   ```

   Asegúrese de no cambiar el nombre del servicio. Se ejecutará un servicio del agente de CloudWatch con una configuración que busca tareas mediante los patrones de nombres de los servicios que las iniciaron. Por ejemplo, para que el agente de CloudWatch encuentre la tarea que este comando ha lanzado, puede especificar que el valor de `sd_service_name_pattern` sea `^nginx-plus-service$`. En la siguiente sección se proporcionan más detalles.

### Configure el agente de CloudWatch para que raspe las métricas de NGINX Plus de Prometheus
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup-agent"></a>

El paso final es configurar el agente de CloudWatch para que realice el raspado de las métricas de NGINX. En este ejemplo, el agente de CloudWatch detecta la tarea mediante el patrón de nombre de servicio y el puerto 9113, donde el exportador expone las métricas de prometheus para NGINX. Con la tarea detectada y las métricas disponibles, el agente de CloudWatch comienza a publicar las métricas recopiladas en el flujo de registro **nginx-prometheus-exporter**. 

**Para configurar el agente de CloudWatch para que realice el raspado de las métricas de NGINX**

1. Descargue la última versión del archivo YAML necesario con el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml
   ```

1. Abra el archivo con un editor de texto y busque la configuración completa del agente CloudWatch en la clave de `value` en la sección `resource:CWAgentConfigSSMParameter`. A continuación, en la sección `ecs_service_discovery`, agregue la siguiente sección `service_name_list_for_tasks`.

   ```
   "service_name_list_for_tasks": [
     {
       "sd_job_name": "nginx-plus-prometheus-exporter",
       "sd_metrics_path": "/metrics",
       "sd_metrics_ports": "9113",
       "sd_service_name_pattern": "^nginx-plus.*"
      }
   ],
   ```

1. En el mismo archivo, agregue la siguiente sección en la sección `metric_declaration` para permitir las métricas de NGINX Plus. Asegúrese de seguir el patrón de sangría existente.

   ```
   {
     "source_labels": ["job"],
     "label_matcher": "^nginx-plus.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName"]],
     "metric_selectors": [
       "^nginxplus_connections_accepted$",
       "^nginxplus_connections_active$",
       "^nginxplus_connections_dropped$",
       "^nginxplus_connections_idle$",
       "^nginxplus_http_requests_total$",
       "^nginxplus_ssl_handshakes$",
       "^nginxplus_ssl_handshakes_failed$",
       "^nginxplus_up$",
       "^nginxplus_upstream_server_health_checks_fails$"
     ]
   },
   {
     "source_labels": ["job"],
     "label_matcher": "^nginx-plus.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName", "upstream"]],
     "metric_selectors": [
       "^nginxplus_upstream_server_response_time$"
     ]
   },
   {
     "source_labels": ["job"],
     "label_matcher": "^nginx-plus.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName", "code"]],
     "metric_selectors": [
       "^nginxplus_upstream_server_responses$",
       "^nginxplus_server_zone_responses$"
     ]
   },
   ```

1. Si aún no tiene el agente de CloudWatch implementado en este clúster, diríjase directamente al paso 8.

   Si ya implementó el agente de CloudWatch en el clúster de Amazon ECS mediante AWS CloudFormation, puede crear un conjunto de cambios con los siguientes comandos:

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION \
       --change-set-name nginx-plus-scraping-support
   ```

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Revise el conjunto de cambios recién creado **nginx-plus-scraping-support**. Se debería ver un cambio aplicado al recurso **CWAgentConfigSSMParamete**. Ejecute el conjunto de cambios y reinicie la tarea del agente de CloudWatch al ingresar el siguiente comando:

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Espere aproximadamente 10 segundos y, a continuación, ingrese el siguiente comando.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Si va a instalar el agente de CloudWatch con la recopilación de métricas de Prometheus en el clúster por primera vez, ingrese los siguientes comandos.

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

## Visualización de las métricas y los registros de NGINX Plus
<a name="ContainerInsights-Prometheus-Setup-nginx-plus-view"></a>

Ahora se pueden visualizar las métricas de NGINX Plus que se están recopilando.

**Para visualizar las métricas de la carga de trabajo de muestra de NGINX**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En la Región en la que se está ejecutando el clúster, elija **Metrics** (Métricas) en el panel de navegación izquierdo. Busque el espacio de nombres **ContainerInsights/Prometheus** para ver las métricas.

1. Para ver los eventos de CloudWatch Logs, elija **Log groups** (Grupos de registros) en el panel de navegación. Los eventos están en el grupo de registro **/aws/containerinsights/*your\$1cluster\$1name*/prometheus**, en el flujo de registros *nginx-plus-prometheus-exporter*.

# Tutorial para añadir un nuevo destino de raspado de Prometheus: Memcached en Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs"></a>

Este tutorial proporciona una introducción práctica para raspar las métricas de Prometheus de una aplicación Memcached de muestra en un clúster de Amazon ECS con el tipo de lanzamiento de EC2. El agente CloudWatch detectará automáticamente el destino del exportador de Memcached de Prometheus mediante la detección de servicios basada en la definición de tareas de ECS.

Memcached es un sistema de almacenamiento en caché en memoria distribuida de uso general. A menudo se utiliza para acelerar los sitios web dirigidos por base de datos dinámicos mediante el almacenamiento en caché de datos y objetos en la RAM para reducir el número de veces que se debe leer una fuente de datos externa (como una base de datos o una API). Para obtener más información, consulte [What is Memcached?](https://www.memcached.org/) (¿Qué es Memcached?)

[memchached\$1exporter](https://github.com/prometheus/memcached_exporter) (Apache Licencia 2.0) es uno de los exportadores oficiales de Prometheus. De forma predeterminada, memcache\$1exporter sirve en el puerto 0.0.0.0:9150 en `/metrics.`

En este tutorial se utilizan las imágenes de Docker en los siguientes dos repositorios de Docker Hub: 
+ [ Memcached](https://hub.docker.com/_/memcached?tab=description)
+ [ prom/memcached-exporter](https://hub.docker.com/r/prom/memcached-exporter/)

**Requisito previo**

Para recopilar métricas de una carga de trabajo de muestra de Prometheus para Amazon ECS, se debe ejecutar Información de contenedores en el clúster. Para obtener más información sobre la instalación de Información de contenedores, consulte [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS.md).

**Topics**
+ [Establezca las variables de entorno del clúster de EC2 de Amazon ECS](#ContainerInsights-Prometheus-Setup-memcached-ecs-environment)
+ [Instale la carga de trabajo de muestra de Memcached](#ContainerInsights-Prometheus-Setup-memcached-ecs-install-workload)
+ [Configure el agente de CloudWatch para que realice el raspado de las métricas de Memcached Prometheus](#ContainerInsights-Prometheus-Setup-memcached-ecs-agent)
+ [Visualización de las métricas de Memcached](#ContainerInsights-Prometheus-ECS-memcached-view)

## Establezca las variables de entorno del clúster de EC2 de Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs-environment"></a>

**Para establecer las variables de entorno del clúster de EC2 de Amazon ECS**

1. Instale la CLI de Amazon ECS si aún no lo ha hecho. Para obtener más información, consulte [Installing the Amazon ECS CLI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html) (Instalación de la CLI de Amazon ECS).

1. Establezca el nuevo nombre del clúster de Amazon ECS y la Región. Por ejemplo:

   ```
   ECS_CLUSTER_NAME=ecs-ec2-memcached-tutorial
   AWS_DEFAULT_REGION=ca-central-1
   ```

1. (Opcional) Si aún no cuenta con un clúster de Amazon ECS con el tipo de lanzamiento de EC2 en el que desea instalar la carga de trabajo de muestra de Memcached y el agente de CloudWatch de ejemplo, puede crear uno con el siguiente comando.

   ```
   ecs-cli up --capability-iam --size 1 \
   --instance-type t3.medium \
   --cluster $ECS_CLUSTER_NAME \
   --region $AWS_REGION
   ```

   El resultado esperado de este comando es el siguiente:

   ```
   WARN[0000] You will not be able to SSH into your EC2 instances without a key pair. 
   INFO[0000] Using recommended Amazon Linux 2 AMI with ECS Agent 1.44.4 and Docker version 19.03.6-ce 
   INFO[0001] Created cluster                               cluster=ecs-ec2-memcached-tutorial region=ca-central-1
   INFO[0002] Waiting for your cluster resources to be created... 
   INFO[0002] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
   INFO[0063] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
   INFO[0124] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
   VPC created: vpc-xxxxxxxxxxxxxxxxx
   Security Group created: sg-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Cluster creation succeeded.
   ```

## Instale la carga de trabajo de muestra de Memcached
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs-install-workload"></a>

**Para instalar la carga de trabajo de muestra de Memcached que expone las métricas de Prometheus**

1. Descargue la plantilla de CloudFormation de Memcached con el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/sample_traffic/memcached/memcached-traffic-sample.yaml
   ```

1. Establezca los nombres de rol de IAM que se crearán para Memcached con los siguientes comandos.

   ```
   MEMCACHED_ECS_TASK_ROLE_NAME=memcached-prometheus-demo-ecs-task-role-name
   MEMCACHED_ECS_EXECUTION_ROLE_NAME=memcached-prometheus-demo-ecs-execution-role-name
   ```

1. Instale la carga de trabajo de muestra de Memcached mediante el siguiente comando. Este ejemplo instala la carga de trabajo en el modo de red `host`.

   ```
   MEMCACHED_ECS_NETWORK_MODE=host
   
   aws cloudformation create-stack --stack-name Memcached-Prometheus-Demo-ECS-$ECS_CLUSTER_NAME-EC2-$MEMCACHED_ECS_NETWORK_MODE \
       --template-body file://memcached-traffic-sample.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=ECSNetworkMode,ParameterValue=$MEMCACHED_ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$MEMCACHED_ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$MEMCACHED_ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

La pila de CloudFormation crea cuatro recursos:
+ Un rol de tarea de ECS
+ Un rol de ejecución de tareas de ECS
+ Una definición de tarea de Memcached
+ Un servicio de Memcached

En la definición de tarea de Memcached, se definen dos contenedores:
+ El contenedor principal ejecuta una aplicación de Memcached simple y abre el puerto 11 211 para el acceso.
+ El otro contenedor ejecuta el proceso exportador de Redis OSS para exponer las métricas de Prometheus en el puerto 9150. Este es el contenedor que el agente de CloudWatch detectará y raspará.

## Configure el agente de CloudWatch para que realice el raspado de las métricas de Memcached Prometheus
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs-agent"></a>

**Para configurar el agente de CloudWatch para que raspe las métricas de Memcached Prometheus**

1. Descargue la última versión de `cwagent-ecs-prometheus-metric-for-awsvpc.yaml` mediante el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml
   ```

1. Abra el archivo con un editor de texto y busque la configuración completa del agente de CloudWatch detrás de la clave de `value` en la sección `resource:CWAgentConfigSSMParameter`.

   A continuación, en la sección `ecs_service_discovery`, agregue la siguiente configuración en la sección `task_definition_list`.

   ```
   {
       "sd_job_name": "ecs-memcached",
       "sd_metrics_ports": "9150",
       "sd_task_definition_arn_pattern": ".*:task-definition/memcached-prometheus-demo.*:[0-9]+"
   },
   ```

   Para la sección `metric_declaration`, la configuración predeterminada no permite ninguna métrica de Memcached. Agregue la siguiente sección para permitir métricas de Memcached. Asegúrese de seguir el patrón de sangría existente.

   ```
   {
     "source_labels": ["container_name"],
     "label_matcher": "memcached-exporter-.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily"]],
     "metric_selectors": [
       "^memcached_current_(bytes|items|connections)$",
       "^memcached_items_(reclaimed|evicted)_total$",
       "^memcached_(written|read)_bytes_total$",
       "^memcached_limit_bytes$",
       "^memcached_commands_total$"
     ]
   },
   {
     "source_labels": ["container_name"],
     "label_matcher": "memcached-exporter-.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily","status","command"], ["ClusterName", "TaskDefinitionFamily","command"]],
     "metric_selectors": [
       "^memcached_commands_total$"
     ]
   },
   ```

1. Si ya implementó el agente de CloudWatch en el clúster de Amazon ECS mediante CloudFormation, puede crear un conjunto de cambios con los siguientes comandos.

   ```
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION \
       --change-set-name memcached-scraping-support
   ```

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Revise el conjunto de cambios recién creado `memcached-scraping-support`. Se debería ver un cambio aplicado al recurso `CWAgentConfigSSMParameter`. Ejecute el conjunto de cambios y reinicie la tarea del agente de CloudWatch mediante los siguientes comandos.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Espere aproximadamente 10 segundos y, a continuación, ingrese el siguiente comando.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Si va a instalar el agente de CloudWatch con la recopilación de métricas de Prometheus para el clúster por primera vez, ingrese los siguientes comandos:

   ```
   ECS_NETWORK_MODEE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

## Visualización de las métricas de Memcached
<a name="ContainerInsights-Prometheus-ECS-memcached-view"></a>

En este tutorial se envían las siguientes métricas al espacio de nombres en CloudWatch **ECS/ContainerInsights/Prometheus**. Puede utilizar la consola de CloudWatch para ver las métricas de ese espacio de nombres.


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `memcached_current_items` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_current_connections` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_limit_bytes` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_current_bytes` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_written_bytes_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_read_bytes_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_items_evicted_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_items_reclaimed_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_commands_total` |  `ClusterName`, `TaskDefinitionFamily` `ClusterName`, TaskDefinitionFamily, comando `ClusterName`, TaskDefinitionFamily, estado, comando  | 

**nota**  
Los valores de la dimensión de **command** (comando) pueden ser: `delete`, `get`, `cas`, `set`, `decr`, `touch`, `incr` o `flush`.  
Los valores de la dimensión **status** (estado) pueden ser: `hit`, `miss` o `badval`. 

También puede crear un panel de CloudWatch para las métricas de Memcached Prometheus.

**Para crear un panel para las métricas de Memcached Prometheus**

1. Cree variables de entorno mediante el reemplazo de los siguientes valores para que concuerden con la implementación.

   ```
   DASHBOARD_NAME=your_memcached_cw_dashboard_name
   ECS_TASK_DEF_FAMILY=memcached-prometheus-demo-$ECS_CLUSTER_NAME-EC2-$MEMCACHED_ECS_NETWORK_MOD
   ```

1. Ingrese el siguiente comando para crear el panel.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/sample_cloudwatch_dashboards/memcached/cw_dashboard_memcached.json \
   | sed "s/{{YOUR_AWS_REGION}}/$AWS_REGION/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/$ECS_CLUSTER_NAME/g" \
   | sed "s/{{YOUR_TASK_DEF_FAMILY}}/$ECS_TASK_DEF_FAMILY/g" \
   | xargs -0 aws cloudwatch put-dashboard --dashboard-name ${DASHBOARD_NAME} --region $AWS_REGION --dashboard-body
   ```

# Tutorial para el raspado de métricas de Redis OSS Prometheus en Amazon ECS Fargate
<a name="ContainerInsights-Prometheus-Setup-redis-ecs"></a>

En este tutorial encontrará una introducción práctica para raspar las métricas de Prometheus de una aplicación de Redis OSS de muestra en un clúster de Amazon ECS Fargate. El destino del exportador de Redis OSS Prometheus será detectado automáticamente por el agente de CloudWatch con compatibilidad con métricas de Prometheus a partir de las etiquetas Docker del contenedor.

Redis OSS (https://redis.io/) es un almacén de estructuras de datos en memoria de código abierto (con licencia BSD), que se utiliza como base de datos, caché y agente de mensajes. Para obtener más información, consulte [redis](https://redis.io/).

redis\$1exporter (con licencia MIT) se utiliza para exponer las métricas de Redis OSS Prometheus en el puerto especificado (predeterminado: 0.0.0.0:9121). Para obtener más información, consulte [redis\$1exporter](https://github.com/oliver006/redis_exporter).

En este tutorial se utilizan las imágenes de Docker en los siguientes dos repositorios de Docker Hub: 
+ [ redis](https://hub.docker.com/_/redis?tab=description)
+ [ redis\$1exporter](https://hub.docker.com/r/oliver006/redis_exporter)

**Requisito previo**

Para recopilar métricas de una carga de trabajo de muestra de Prometheus para Amazon ECS, se debe ejecutar Información de contenedores en el clúster. Para obtener más información sobre la instalación de Información de contenedores, consulte [Configuración de Información de contenedores en Amazon ECS](deploy-container-insights-ECS.md).

**Topics**
+ [Cómo establecer la variable de entorno del clúster de Amazon ECS Fargate](#ContainerInsights-Prometheus-Setup-redis-ecs-variable)
+ [Establezca las variables de entorno de red para el clúster de Amazon ECS Fargate](#ContainerInsights-Prometheus-Setup-redis-ecs-variable2)
+ [Instale la carga de trabajo de muestra de Redis OSS](#ContainerInsights-Prometheus-Setup-redis-ecs-install-workload)
+ [Configure el agente de CloudWatch para que raspe las métricas de Redis OSS Prometheus](#ContainerInsights-Prometheus-Setup-redis-ecs-agent)
+ [Visualización de las métricas de Redis OSS](#ContainerInsights-Prometheus-Setup-redis-view)

## Cómo establecer la variable de entorno del clúster de Amazon ECS Fargate
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-variable"></a>

**Cómo establecer la variable de entorno del clúster de Amazon ECS Fargate**

1. Instale la CLI de Amazon ECS si aún no lo ha hecho. Para obtener más información, consulte [Installing the Amazon ECS CLI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html) (Instalación de la CLI de Amazon ECS).

1. Establezca el nuevo nombre del clúster de Amazon ECS y la Región. Por ejemplo:

   ```
   ECS_CLUSTER_NAME=ecs-fargate-redis-tutorial
   AWS_DEFAULT_REGION=ca-central-1
   ```

1. (Opcional) Si aún no cuenta con un clúster de Amazon ECS Fargate en el que desea instalar la carga de trabajo de muestra de Redis OSS y el agente de CloudWatch, puede crear uno con el siguiente comando.

   ```
   ecs-cli up --capability-iam \
   --cluster $ECS_CLUSTER_NAME \
   --launch-type FARGATE \
   --region $AWS_DEFAULT_REGION
   ```

   El resultado esperado de este comando es el siguiente:

   ```
   INFO[0000] Created cluster   cluster=ecs-fargate-redis-tutorial region=ca-central-1
   INFO[0001] Waiting for your cluster resources to be created...
   INFO[0001] Cloudformation stack status   stackStatus=CREATE_IN_PROGRESS
   VPC created: vpc-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Cluster creation succeeded.
   ```

## Establezca las variables de entorno de red para el clúster de Amazon ECS Fargate
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-variable2"></a>

**Para establecer las variables de entorno de red para el clúster de Amazon ECS Fargate**

1. Establezca la VPC y el ID de subred del clúster de Amazon ECS. Si creó un clúster nuevo en el procedimiento anterior, verá estos valores en el resultado del comando final. De lo contrario, utilice los ID del clúster existente que va a utilizar con Redis.

   ```
   ECS_CLUSTER_VPC=vpc-xxxxxxxxxxxxxxxxx
   ECS_CLUSTER_SUBNET_1=subnet-xxxxxxxxxxxxxxxxx
   ECS_CLUSTER_SUBNET_2=subnet-xxxxxxxxxxxxxxxxx
   ```

1. En este tutorial, vamos a instalar la aplicación Redis OSS y el agente de CloudWatch en el grupo de seguridad predeterminado de la VPC del clúster de Amazon ECS. El grupo de seguridad predeterminado permite todas las conexiones de red dentro del mismo grupo de seguridad para que el agente de CloudWatch pueda raspar las métricas de Prometheus expuestas en los contenedores de Redis OSS. En un entorno de producción real, es posible que desee crear grupos de seguridad dedicados para la aplicación Redis OSS y el agente de CloudWatch y establecer permisos personalizados para estos. 

   Para obtener el ID del grupo de seguridad predeterminado, ingrese el siguiente comando.

   ```
   aws ec2 describe-security-groups \
   --filters Name=vpc-id,Values=$ECS_CLUSTER_VPC  \
   --region $AWS_DEFAULT_REGION
   ```

   A continuación, establezca la variable de grupo de seguridad predeterminado del clúster de Fargate mediante el siguiente comando; debe reemplazar *my-default-security-group* por el valor que encontró del comando anterior.

   ```
   ECS_CLUSTER_SECURITY_GROUP=my-default-security-group
   ```

## Instale la carga de trabajo de muestra de Redis OSS
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-install-workload"></a>

**Para instalar la carga de trabajo de muestra de Redis OSS que expone las métricas de Prometheus**

1. Descargue la plantilla de CloudFormation de Redis OSS con el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/sample_traffic/redis/redis-traffic-sample.yaml
   ```

1. Establezca los nombres de roles de IAM que se crearán para Redis OSS. Para ello, ingrese los siguientes comandos.

   ```
   REDIS_ECS_TASK_ROLE_NAME=redis-prometheus-demo-ecs-task-role-name
   REDIS_ECS_EXECUTION_ROLE_NAME=redis-prometheus-demo-ecs-execution-role-name
   ```

1. Instale la carga de trabajo de muestra de Redis OSS con el siguiente comando.

   ```
   aws cloudformation create-stack --stack-name Redis-Prometheus-Demo-ECS-$ECS_CLUSTER_NAME-fargate-awsvpc \
       --template-body file://redis-traffic-sample.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=SecurityGroupID,ParameterValue=$ECS_CLUSTER_SECURITY_GROUP \
                    ParameterKey=SubnetID,ParameterValue=$ECS_CLUSTER_SUBNET_1 \
                    ParameterKey=TaskRoleName,ParameterValue=$REDIS_ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$REDIS_ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_DEFAULT_REGION
   ```

La pila de CloudFormation crea cuatro recursos:
+ Un rol de tarea de ECS
+ Un rol de ejecución de tareas de ECS
+ Una definición de tarea de Redis OSS
+ Un servicio de Redis OSS

En la definición de tarea de Redis OSS, se definen dos contenedores:
+ El contenedor principal ejecuta una aplicación simple de Redis OSS y abre el puerto 6379 para el acceso.
+ El otro contenedor ejecuta el proceso exportador de Redis OSS para exponer las métricas de Prometheus en el puerto 9121. Este es el contenedor que el agente de CloudWatch detectará y raspará. La siguiente etiqueta docker se define para que el agente de CloudWatch pueda detectar este contenedor mediante ella.

  ```
  ECS_PROMETHEUS_EXPORTER_PORT: 9121
  ```

## Configure el agente de CloudWatch para que raspe las métricas de Redis OSS Prometheus
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-agent"></a>

**Para configurar el agente de CloudWatch para que raspe las métricas de Redis OSS Prometheus**

1. Descargue la última versión de `cwagent-ecs-prometheus-metric-for-awsvpc.yaml` mediante el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml
   ```

1. Abra el archivo con un editor de texto y busque la configuración completa del agente de CloudWatch detrás de la clave de `value` en la sección `resource:CWAgentConfigSSMParameter`.

   A continuación, en la sección `ecs_service_discovery` que aparece aquí, la detección del servicio basada en `docker_label` se habilita con la configuración predeterminada que se basa en `ECS_PROMETHEUS_EXPORTER_PORT`, que coincide con la etiqueta docker que se definió en la definición de tarea de ECS de Redis OSS. Por lo tanto, no es necesario hacer ningún cambio en esta sección:

   ```
   ecs_service_discovery": {
     "sd_frequency": "1m",
     "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
   *  "docker_label": {
     },*
     ...
   ```

   Para la sección `metric_declaration`, la configuración predeterminada no permite ninguna métrica de Redis OSS. Agregue la siguiente sección para permitir las métricas de Redis OSS. Asegúrese de seguir el patrón de sangría existente.

   ```
   {
     "source_labels": ["container_name"],
     "label_matcher": "^redis-exporter-.*$",
     "dimensions": [["ClusterName","TaskDefinitionFamily"]],
     "metric_selectors": [
       "^redis_net_(in|out)put_bytes_total$",
       "^redis_(expired|evicted)_keys_total$",
       "^redis_keyspace_(hits|misses)_total$",
       "^redis_memory_used_bytes$",
       "^redis_connected_clients$"
     ]
   },
   {
     "source_labels": ["container_name"],
     "label_matcher": "^redis-exporter-.*$",
     "dimensions": [["ClusterName","TaskDefinitionFamily","cmd"]],
     "metric_selectors": [
       "^redis_commands_total$"
     ]
   },
   {
     "source_labels": ["container_name"],
     "label_matcher": "^redis-exporter-.*$",
     "dimensions": [["ClusterName","TaskDefinitionFamily","db"]],
     "metric_selectors": [
       "^redis_db_keys$"
     ]
   },
   ```

1. Si ya implementó el agente de CloudWatch en el clúster de Amazon ECS mediante CloudFormation, puede crear un conjunto de cambios con los siguientes comandos.

   ```
   ECS_LAUNCH_TYPE=FARGATE
   CREATE_IAM_ROLES=True
   ECS_CLUSTER_SUBNET=$ECS_CLUSTER_SUBNET_1
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-$ECS_CLUSTER_NAME-$ECS_LAUNCH_TYPE-awsvpc \
       --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSLaunchType,ParameterValue=$ECS_LAUNCH_TYPE \
                    ParameterKey=SecurityGroupID,ParameterValue=$ECS_CLUSTER_SECURITY_GROUP \
                    ParameterKey=SubnetID,ParameterValue=$ECS_CLUSTER_SUBNET \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region ${AWS_DEFAULT_REGION} \
       --change-set-name redis-scraping-support
   ```

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Revise el conjunto de cambios recién creado `redis-scraping-support`. Se debería ver un cambio aplicado al recurso `CWAgentConfigSSMParameter`. Ejecute el conjunto de cambios y reinicie la tarea del agente de CloudWatch mediante los siguientes comandos.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-$ECS_LAUNCH_TYPE-awsvpc \
   --region ${AWS_DEFAULT_REGION}
   ```

1. Espere aproximadamente 10 segundos y, a continuación, ingrese el siguiente comando.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-$ECS_LAUNCH_TYPE-awsvpc \
   --region ${AWS_DEFAULT_REGION}
   ```

1. Si va a instalar el agente de CloudWatch con la recopilación de métricas de Prometheus para el clúster por primera vez, ingrese los siguientes comandos:

   ```
   ECS_LAUNCH_TYPE=FARGATE
   CREATE_IAM_ROLES=True
   ECS_CLUSTER_SUBNET=$ECS_CLUSTER_SUBNET_1
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-$ECS_CLUSTER_NAME-$ECS_LAUNCH_TYPE-awsvpc \
       --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSLaunchType,ParameterValue=$ECS_LAUNCH_TYPE \
                    ParameterKey=SecurityGroupID,ParameterValue=$ECS_CLUSTER_SECURITY_GROUP \
                    ParameterKey=SubnetID,ParameterValue=$ECS_CLUSTER_SUBNET \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region ${AWS_DEFAULT_REGION}
   ```

## Visualización de las métricas de Redis OSS
<a name="ContainerInsights-Prometheus-Setup-redis-view"></a>

En este tutorial se envían las siguientes métricas al espacio de nombres en CloudWatch **ECS/ContainerInsights/Prometheus**. Puede utilizar la consola de CloudWatch para ver las métricas de ese espacio de nombres.


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `redis_net_input_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_net_output_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_expired_keys_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_evicted_keys_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_keyspace_hits_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_keyspace_misses_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_memory_used_bytes` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_connected_clients` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_commands_total` |  ` ClusterName`, `TaskDefinitionFamily`, `cmd`  | 
|  `redis_db_keys` |  `ClusterName`, `TaskDefinitionFamily`, `db`  | 

**nota**  
Los valores de la dimensión **cmd** pueden ser: `append`, `client`, `command`, `config`, `dbsize`, `flushall`, `get`, `incr`, `info`, `latency` o `slowlog`.  
Los valores de la dimensión **db** pueden ir de `db0` a `db15`. 

También puede crear un panel de CloudWatch para las métricas de Redis OSS Prometheus.

**Para crear un panel para las métricas de Redis OSS Prometheus**

1. Cree variables de entorno mediante el reemplazo de los siguientes valores para que concuerden con la implementación.

   ```
   DASHBOARD_NAME=your_cw_dashboard_name
   ECS_TASK_DEF_FAMILY=redis-prometheus-demo-$ECS_CLUSTER_NAME-fargate-awsvpc
   ```

1. Ingrese el siguiente comando para crear el panel.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/redis/cw_dashboard_redis.json \
   | sed "s/{{YOUR_AWS_REGION}}/${REGION_NAME}/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/${CLUSTER_NAME}/g" \
   | sed "s/{{YOUR_NAMESPACE}}/${NAMESPACE}/g" \
   ```

# Establezca y configure la recopilación de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes
<a name="ContainerInsights-Prometheus-install-EKS"></a>

Para recopilar métricas de Prometheus de clústeres que ejecutan Amazon EKS o Kubernetes, puede utilizar el agente de CloudWatch como el recopilador de AWS Distro para OpenTelemetry. Para obtener información sobre el uso del recopilador de AWS Distro para OpenTelemetry, consulte [https://aws-otel.github.io/docs/getting-started/container-insights/eks-prometheus](https://aws-otel.github.io/docs/getting-started/container-insights/eks-prometheus).

En las siguientes secciones se explica cómo se recopilan las métricas de Prometheus con el agente de CloudWatch. Explican cómo se instala el agente CloudWatch con supervisión de Prometheus en clústeres que ejecutan Amazon EKS o Kubernetes y cómo se configura el agente para que raspe los destinos adicionales. También proporcionan tutoriales opcionales para configurar cargas de trabajo de muestra para utilizarlas en pruebas con supervisión de Prometheus.

**Topics**
+ [Instale el agente de CloudWatch con la colección de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes](ContainerInsights-Prometheus-Setup.md)

# Instale el agente de CloudWatch con la colección de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes
<a name="ContainerInsights-Prometheus-Setup"></a>

En esta sección se explica cómo se configura el agente de CloudWatch con supervisión de Prometheus en un clúster que ejecute Amazon EKS o Kubernetes. Después de hacerlo, el agente raspa e importa automáticamente las métricas para las siguientes cargas de trabajo que se ejecutan en ese clúster.
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy
+ Fluent Bit

También puede configurar el agente para que raspe e importe cargas de trabajo y fuentes de Prometheus adicionales.

Antes de seguir estos pasos e instalar el agente de CloudWatch para recopilar métricas de Prometheus, debe contar con un clúster que se ejecute en Amazon EKS o un clúster de Kubernetes que se ejecute en una instancia de Amazon EC2.

**Requisitos del grupo de seguridad de la VPC**

Las reglas de entrada de los grupos de seguridad para las cargas de trabajo de Prometheus deben abrir los puertos de Prometheus al agente de CloudWatch para raspar las métricas de Prometheus por la IP privada.

Las reglas de salida del grupo de seguridad para el agente de CloudWatch deben permitir que el agente de CloudWatch se conecte al puerto de cargas de trabajo de Prometheus mediante la IP privada. 

**Topics**
+ [Instale el agente de CloudWatch con la obtención de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes](#ContainerInsights-Prometheus-Setup-roles)
+ [El raspado de fuentes de Prometheus adicionales y la importación de tales métricas](ContainerInsights-Prometheus-Setup-configure.md)
+ [(Opcional) Configure las cargas de trabajo de muestra de Amazon EKS en contenedores para realizar pruebas con las métricas de Prometheus](ContainerInsights-Prometheus-Sample-Workloads.md)

## Instale el agente de CloudWatch con la obtención de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes
<a name="ContainerInsights-Prometheus-Setup-roles"></a>

En esta sección se explica cómo se configura el agente de CloudWatch con supervisión de Prometheus en un clúster que ejecute Amazon EKS o Kubernetes. Después de hacerlo, el agente raspa e importa automáticamente las métricas para las siguientes cargas de trabajo que se ejecutan en ese clúster.
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy
+ Fluent Bit

También puede configurar el agente para que raspe e importe cargas de trabajo y fuentes de Prometheus adicionales.

Antes de seguir estos pasos e instalar el agente de CloudWatch para recopilar métricas de Prometheus, debe contar con un clúster que se ejecute en Amazon EKS o un clúster de Kubernetes que se ejecute en una instancia de Amazon EC2.

**Requisitos del grupo de seguridad de la VPC**

Las reglas de entrada de los grupos de seguridad para las cargas de trabajo de Prometheus deben abrir los puertos de Prometheus al agente de CloudWatch para raspar las métricas de Prometheus por la IP privada.

Las reglas de salida del grupo de seguridad para el agente de CloudWatch deben permitir que el agente de CloudWatch se conecte al puerto de cargas de trabajo de Prometheus mediante la IP privada. 

**Topics**
+ [Configuración de roles de IAM](#ContainerInsights-Prometheus-Setup-roles)
+ [Instalación del agente de CloudWatch para recopilar métricas de Prometheus](#ContainerInsights-Prometheus-Setup-install-agent)

### Configuración de roles de IAM
<a name="ContainerInsights-Prometheus-Setup-roles"></a>

El primer paso es configurar el rol de IAM necesario en el clúster. Hay dos métodos:
+ Configure un rol de IAM para una cuenta de servicio, también conocida como *Función de servicio*. Este método funciona tanto para el tipo de lanzamiento de EC2 como para el tipo de lanzamiento de Fargate.
+ Agregue una política de IAM al rol de IAM que se utiliza en el clúster. Esto solo funciona para el tipo de lanzamiento de EC2.

**Configure una función de servicio (tipo de lanzamiento de EC2 y tipo de lanzamiento de Fargate)**

Para configurar una función de servicio, ingrese el siguiente comando. Sustituya *MyCluster* por el nombre del clúster.

```
eksctl create iamserviceaccount \
 --name cwagent-prometheus \
--namespace amazon-cloudwatch \
 --cluster MyCluster \
--attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
--approve \
--override-existing-serviceaccounts
```

**Agregue una política al rol de IAM del grupo de nodos (solo tipo de lanzamiento de EC2)**

**Para configurar la política de IAM en un grupo de nodos para la compatibilidad con Prometheus**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Debe encontrar el prefijo en el nombre del rol de IAM de ese clúster. Para ello, active la casilla situada junto al nombre de una instancia del clúster y seleccione **Acciones**, **Seguridad**, **Modificar rol de IAM**. Después, copie el prefijo del rol de IAM; por ejemplo, `eksctl-dev303-workshop-nodegroup`.

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación.

1. Utilice el cuadro de búsqueda para buscar el prefijo que copió anteriormente en este procedimiento y elija ese rol.

1. Seleccione **Asociar políticas**.

1. Utilice el cuadro de búsqueda para buscar **CloudWatchAgentServerPolicy**. Active la casilla de verificación situada junto a **CloudWatchAgentServerPolicy** y elija **Asociar política**.

### Instalación del agente de CloudWatch para recopilar métricas de Prometheus
<a name="ContainerInsights-Prometheus-Setup-install-agent"></a>

Debe instalarse el agente de CloudWatch en el clúster para recopilar las métricas. La instalación del agente es diferente en los clústeres de Amazon EKS y en los de Kubernetes.

**Elimine las versiones anteriores del agente de CloudWatch compatible con Prometheus**

Si ya ha instalado en el clúster una versión del agente de CloudWatch compatible con Prometheus, debe eliminar esa versión con el siguiente comando. Solo es necesario hacerlo con las versiones anteriores del agente compatible con Prometheus. No es necesario que elimine el agente de CloudWatch que habilita Información de contenedores sin compatibilidad con Prometheus.

```
kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
```

#### Instalación del agente de CloudWatch en clústeres de Amazon EKS con el tipo de lanzamiento de EC2
<a name="ContainerInsights-Prometheus-Setup-install-agent-EKS"></a>

Para instalar el agente de CloudWatch compatible con Prometheus en un clúster de Amazon EKS, siga estos pasos.

**Para instalar el agente de CloudWatch compatible con Prometheus en un clúster de Amazon EKS**

1. Ejecute el siguiente comando para comprobar si el espacio de nombres de `amazon-cloudwatch` ya se ha creado:

   ```
   kubectl get namespace
   ```

1. Si `amazon-cloudwatch` no aparece en los resultados, créelo con el siguiente comando:

   ```
   kubectl create namespace amazon-cloudwatch
   ```

1. Para implementar el agente con la configuración predeterminada y hacer que envíe datos a la región de AWS en la que está instalado, escriba el siguiente comando:

   ```
   kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
   ```

   Para que el agente envíe datos a una otra región, siga estos pasos:

   1. Descargue el archivo YAML del agente con el siguiente comando:

      ```
      curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
      ```

   1. Abra el archivo con un editor de texto y busque el bloque `cwagentconfig.json` del archivo.

   1. Agregue las líneas resaltadas, especificando la región que desee:

      ```
      cwagentconfig.json: |
          {
            "agent": {
              "region": "us-east-2"
            },
            "logs": { ...
      ```

   1. Guarde el archivo e implemente el agente utilizando el archivo actualizado.

      ```
      kubectl apply -f prometheus-eks.yaml
      ```

#### Instalación del agente de CloudWatch en clústeres de Amazon EKS con el tipo de lanzamiento de Fargate
<a name="ContainerInsights-Prometheus-Setup-install-agent-EKS-fargate"></a>

Para instalar el agente de CloudWatch compatible con Prometheus en un clúster de Amazon EKS con el tipo de lanzamiento Fargate, siga estos pasos.

**Para instalar el agente de CloudWatch compatible con Prometheus en un clúster de Amazon EKS con el tipo de lanzamiento de Fargate**

1. Ingrese el siguiente comando para crear un perfil de Fargate para el agente de CloudWatch de modo que pueda ejecutarse dentro del clúster. Sustituya *MyCluster* por el nombre del clúster.

   ```
   eksctl create fargateprofile --cluster MyCluster \
   --name amazon-cloudwatch \
   --namespace amazon-cloudwatch
   ```

1. Para instalar el agente de CloudWatch, ingrese el siguiente comando. Sustituya *MyCluster* por el nombre del clúster. Este nombre se utiliza en el nombre del grupo de registros donde se almacenan los eventos de registro recopilados por el agente y también se utiliza como dimensión en las métricas recopiladas por el agente.

   Sustituya *Región* por el nombre de la Región a la que desea enviar la métrica. Por ejemplo, `us-west-1`. 

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml | 
   sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | 
   kubectl apply -f -
   ```

#### Instalación del agente de CloudWatch en un clúster de Kubernetes
<a name="ContainerInsights-Prometheus-Setup-install-agent-Kubernetes"></a>

Para instalar el agente de CloudWatch compatible con Prometheus en un clúster en el que se ejecuta Kubernetes, ingrese el siguiente comando:

```
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml | 
sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | 
kubectl apply -f -
```

Sustituya *MyCluster* por el nombre del clúster. Este nombre se utiliza en el nombre del grupo de registros donde se almacenan los eventos de registro recopilados por el agente y también se utiliza como dimensión en las métricas recopiladas por el agente.

Sustituya *region* por el nombre de la región de AWS a la que desea enviar la métrica. Por ejemplo, **us-west-1**.

#### Verifique que el agente esté en ejecución
<a name="ContainerInsights-Prometheus-Setup-install-agent-verify"></a>

En los clústeres de Amazon EKS y en los de Kubernetes, puede ingresar el siguiente comando para confirmar que el agente se está ejecutando.

```
kubectl get pod -l "app=cwagent-prometheus" -n amazon-cloudwatch
```

Si en los resultados solo aparece un pod del agente de CloudWatch con el estado `Running`, el agente está ejecutando y recopilando métricas de Prometheus. De forma predeterminada, el agente de CloudWatch recopila métricas para App Mesh, NGINX, Memcached, Java/JMX y HAProxy por minuto. Para obtener más información sobre estas métricas, consulte [Métricas de Prometheus que el agente de CloudWatch recopila](ContainerInsights-Prometheus-metrics.md). Para obtener instrucciones sobre cómo ver las métricas de Prometheus en CloudWatch, consulte [Visualización de las métricas de Prometheus](ContainerInsights-Prometheus-viewmetrics.md)

También puede configurar el agente de CloudWatch para que recopile métricas de otros exportadores de Prometheus. Para obtener más información, consulte [El raspado de fuentes de Prometheus adicionales y la importación de tales métricas](ContainerInsights-Prometheus-Setup-configure.md).

# El raspado de fuentes de Prometheus adicionales y la importación de tales métricas
<a name="ContainerInsights-Prometheus-Setup-configure"></a>

El agente CloudWatch con supervisión de Prometheus necesita dos configuraciones para raspar las métricas de Prometheus. Una de ellas es para las configuraciones estándar de Prometheus que como se documenta en [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) en la documentación de Prometheus. La otra es para la configuración del agente de CloudWatch.

Para los clústeres de Amazon EKS, las configuraciones se definen en `prometheus-eks.yaml` (para el tipo de lanzamiento de EC2) o en `prometheus-eks-fargate.yaml` (para el tipo de lanzamiento de Fargate) como dos mapas de configuración:
+ La sección `name: prometheus-config` contiene la configuración de extracción de Prometheus,
+ La sección `name: prometheus-cwagentconfig` contiene la configuración del agente de CloudWatch. Puede utilizar esta sección para definir cómo CloudWatch va a recopilar las métricas de Prometheus. Por ejemplo, puede especificar las métricas que se van a importar en CloudWatch y definir las dimensiones. 

Para los clústeres de Kubernetes que se ejecutan en las instancias de Amazon EC2, las configuraciones se definen en el archivo YAML `prometheus-k8s.yaml` como dos mapas de configuración:
+ La sección `name: prometheus-config` contiene la configuración de extracción de Prometheus,
+ La sección `name: prometheus-cwagentconfig` contiene la configuración del agente de CloudWatch. 

Para raspar las fuentes de las métricas de Prometheus adicionales e importarlas a CloudWatch, debe modifique tanto la configuración de raspado de Prometheus como la configuración del agente de CloudWatch y, a continuación, volver a implementar el agente con la configuración actualizada.

**Requisitos del grupo de seguridad de la VPC**

Las reglas de entrada de los grupos de seguridad para las cargas de trabajo de Prometheus deben abrir los puertos de Prometheus al agente de CloudWatch para raspar las métricas de Prometheus por la IP privada.

Las reglas de salida del grupo de seguridad para el agente de CloudWatch deben permitir que el agente de CloudWatch se conecte al puerto de cargas de trabajo de Prometheus mediante la IP privada. 

## Configuración de raspado de Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-global"></a>

El agente de CloudWatch es compatible con la configuración de raspado estándar de Prometheus como se describe en [ <scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) en la documentación de Prometheus. Se puede editar esta sección para actualizar las configuraciones que ya están en este archivo y agregar destinos adicionales de raspado de Prometheus. De forma predeterminada, el archivo de configuración de muestra contiene las siguientes líneas de configuración global:

```
global:
  scrape_interval: 1m
  scrape_timeout: 10s
```
+ **scrape\$1interval**: define la frecuencia con la que se deben raspar los destinos.
+ **scrape\$1timeout**: define cuánto tiempo debe esperar antes de que se agote el tiempo de espera de una petición de raspado.

También puede definir valores diferentes para estos parámetros en el nivel de trabajo, para anular las configuraciones globales.

### Trabajos de raspado de Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-scrape"></a>

Los archivos YAML del agente de CloudWatch ya tienen algunos trabajos de raspado configurados de forma predeterminada. Por ejemplo, en `prometheus-eks.yaml`, los trabajos de raspado predeterminados se configuran en las líneas `job_name` en la sección `scrape_configs`. En este archivo, en la siguiente sección predeterminada `kubernetes-pod-jmx` se raspan las métricas de JMX exporter.

```
   - job_name: 'kubernetes-pod-jmx'
      sample_limit: 10000
      metrics_path: /metrics
      kubernetes_sd_configs:
      - role: pod
      relabel_configs:
      - source_labels: [__address__]
        action: keep
        regex: '.*:9404$'
      - action: labelmap
        regex: __meta_kubernetes_pod_label_(.+)
      - action: replace
        source_labels:
        - __meta_kubernetes_namespace
        target_label: Namespace
      - source_labels: [__meta_kubernetes_pod_name]
        action: replace
        target_label: pod_name
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_container_name
        target_label: container_name
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_controller_name
        target_label: pod_controller_name
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_controller_kind
        target_label: pod_controller_kind
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_phase
        target_label: pod_phase
```

Se realiza el raspado de cada uno de estos destinos predeterminados y las métricas se envían a CloudWatch en eventos de registro mediante el formato de métrica integrada. Para obtener más información, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).

Los eventos de registro de los clústeres de Amazon EKS y de Kubernetes se almacenan en el grupo de registro **//aws/containerinsights/*cluster\$1name*/prometheus** en CloudWatch Logs. Los eventos de registro de los clústeres de Amazon ECS se almacenan en el grupo de registro **/aws/ecs/containerinsights/*cluster\$1name*/prometheus**.

Cada trabajo de extracción está contenido en un flujo de registros diferente en este grupo de registros. Por ejemplo, el trabajo de raspado de Prometheus `kubernetes-pod-appmesh-envoy` se define para App Mesh. Todas las métricas de Prometheus de App Mesh de los clústeres de Amazon EKS y de Kubernetes se envían al flujo de registros denominado **/aws/containerinsights/*cluster\$1name*>prometheus/kubernetes-pod-appmesh-envoy/**.

Para agregar un nuevo destino de extracción, agregue una nueva sección `job_name` a la sección `scrape_configs` del archivo YAML y reinicie el agente. Para obtener un ejemplo de este proceso, consulte [Tutorial para agregar un destino de raspado nuevo de Prometheus: métricas del servidor de la API de Prometheus](#ContainerInsights-Prometheus-Setup-new-exporters).

## Configuración del agente de CloudWatch para Prometheus
<a name="ContainerInsights-Prometheus-Setup-cw-agent-config2"></a>

El archivo de configuración del agente de CloudWatch cuenta con una sección `prometheus` en `metrics_collected` para la configuración de raspado de Prometheus. Incluye las siguientes opciones de configuración:
+ **nombre\$1clúster**: especifica el nombre del clúster que se va a agregar como etiqueta en el evento de registro. Este campo es opcional. Si lo omite, el agente puede detectar el nombre del clúster de Amazon EKS o de Kubernetes.
+ **log\$1group\$1name**: especifica el nombre del grupo de registros para las métricas Prometheus raspadas. Este campo es opcional. Si lo omite, CloudWatch utiliza **/aws/containerinsights/*cluster\$1name*/prometheus** para los registros de los clústeres de Amazon EKS y de Kubernetes.
+ **prometheus\$1config\$1path**: especifica la ruta del archivo de configuración de raspado de Prometheus. Si el valor de este campo comienza con `env:`, el contenido del archivo de configuración de raspado de Prometheus se recuperará de la variable de entorno del contenedor. No cambie este campo.
+ **ecs\$1service\$1discovery**: es la sección en la que se especifica la configuración para la detección de servicios de Prometheus de Amazon ECS. Para obtener más información, consulte [Guía detallada para la detección automática en clústeres de Amazon ECS](ContainerInsights-Prometheus-Setup-autodiscovery-ecs.md).

  La sección `ecs_service_discovery` puede incluir los siguientes campos:
  + `sd_frequency` es la frecuencia para detectar a los exportadores de Prometheus. Especifique un número y un sufijo de unidad. Por ejemplo, `1m` para una vez por minuto o `30s` para una vez cada 30 segundos. Los sufijos de unidad válidos son `ns`, `us`, `ms`, `s`, `m` y `h`.

    Este campo es opcional. El valor predeterminado es 60 segundos (1 minuto).
  + `sd_target_cluster` es el nombre de clúster de Amazon ECS de destino para la detección automática. Este campo es opcional. El valor predeterminado es el nombre del clúster de Amazon ECS donde está instalado el agente de CloudWatch. 
  + `sd_cluster_region` es la Región del clúster de Amazon ECS de destino. Este campo es opcional. El valor predeterminado es la Región del clúster de Amazon ECS donde está instalado el agente de CloudWatch.
  + `sd_result_file` es la ruta del archivo YAML para los resultados de destino de Prometheus. La configuración de raspado de Prometheus hará referencia a este archivo.
  + `docker_label` es una sección opcional que se puede utilizar para especificar la configuración para la detección de servicios basada en etiquetas docker. Si omite esta sección, no se utiliza la detección basada en etiquetas docker. Esta sección puede incluir los siguientes campos:
    + `sd_port_label` es el nombre de etiqueta docker del contenedor que especifica el puerto del contenedor para las métricas de Prometheus. El valor predeterminado es `ECS_PROMETHEUS_EXPORTER_PORT`. Si el contenedor no tiene esta etiqueta docker, el agente de CloudWatch lo omitirá.
    + `sd_metrics_path_label` es el nombre de etiqueta docker del contenedor que especifica la ruta de métricas de Prometheus. El valor predeterminado es `ECS_PROMETHEUS_METRICS_PATH`. Si el contenedor no tiene esta etiqueta docker, el agente asume la ruta predeterminada `/metrics`.
    + `sd_job_name_label` es el nombre de etiqueta docker del contenedor que especifica el nombre del trabajo de raspado de Prometheus. El valor predeterminado es `job`. Si el contenedor no tiene esta etiqueta docker, el agente de CloudWatch utiliza el nombre del trabajo en la configuración de raspado de Prometheus.
  + `task_definition_list` es una sección opcional que se puede utilizar para especificar la configuración de la detección de servicios basada en definiciones de tareas. Si omite esta sección, no se utiliza la detección basada en definiciones de tareas. Esta sección puede incluir los siguientes campos:
    + `sd_task_definition_arn_pattern` es el patrón que se utiliza para especificar las definiciones de tareas de Amazon ECS que se van a detectar. Esta es una expresión regular.
    + `sd_metrics_ports` enumera el containerPort para las métricas de Prometheus. Separe los containerPorts con punto y coma.
    + `sd_container_name_pattern` especifica los nombres de contenedor de tareas de Amazon ECS. Esta es una expresión regular.
    + `sd_metrics_path` especifica la ruta de la métrica de Prometheus. Si omite esto, el agente asume la ruta de acceso predeterminada de las `/metrics`
    + `sd_job_name` especifica el nombre del trabajo de raspado de Prometheus. Si omite este campo, el agente de CloudWatch utilizará el nombre de trabajo en la configuración de raspado de Prometheus.
+ **metric\$1declaration**: son secciones que especifican la matriz de registros con formato de métrica integrada que se van a generar. Hay secciones `metric_declaration` para cada fuente de Prometheus desde las que el agente de CloudWatch importa de forma predeterminada. Cada una de estas secciones incluye los siguientes campos:
  + `label_matcher` es una expresión regular que verifica el valor de las etiquetas que aparecen en `source_labels`. Las métricas que concuerdan se pueden incorporar al formato de métrica integrada que se envía a CloudWatch. 

    Si tiene varias etiquetas especificadas en `source_labels`, se recomienda que evite el uso de los caracteres `^` o `$` en la expresión regular para `label_matcher`.
  + `source_labels` especifica el valor de las etiquetas que se comprueban con `label_matcher`.
  + `label_separator` especifica el separador que se utilizará en la línea ` label_matcher` si se especifican múltiples `source_labels`. El valor predeterminado es `;`. Puede ver este valor predeterminado utilizado en la línea `label_matcher` en el siguiente ejemplo.
  + `metric_selectors` es una expresión regular que especifica las métricas que se van a recopilar y enviar a CloudWatch.
  + `dimensions` es la lista de etiquetas que se van a utilizar como dimensiones de CloudWatch en cada métrica seleccionada.

Consulte el siguiente ejemplo, `metric_declaration`.

```
"metric_declaration": [
  {
     "source_labels":[ "Service", "Namespace"],
     "label_matcher":"(.*node-exporter.*|.*kube-dns.*);kube-system",
     "dimensions":[
        ["Service", "Namespace"]
     ],
     "metric_selectors":[
        "^coredns_dns_request_type_count_total$"
     ]
  }
]
```

En este ejemplo se configura una sección de formato de métricas integradas para que se envíe como evento de registro si se cumplen las condiciones siguientes:
+ El valor de `Service` contiene `node-exporter` o `kube-dns`.
+ El valor de `Namespace` es `kube-system`.
+ La métrica de Prometheus `coredns_dns_request_type_count_total` contiene ambas etiquetas, `Service` y `Namespace`.

El evento de registro que se envía incluye la siguiente sección resaltada:

```
{
   "CloudWatchMetrics":[
      {
         "Metrics":[
            {
               "Name":"coredns_dns_request_type_count_total"
            }
         ],
         "Dimensions":[
            [
               "Namespace",
               "Service"
            ]
         ],
         "Namespace":"ContainerInsights/Prometheus"
      }
   ],
   "Namespace":"kube-system",
   "Service":"kube-dns",
   "coredns_dns_request_type_count_total":2562,
   "eks_amazonaws_com_component":"kube-dns",
   "instance":"192.168.61.254:9153",
   "job":"kubernetes-service-endpoints",
   ...
}
```

## Tutorial para agregar un destino de raspado nuevo de Prometheus: métricas del servidor de la API de Prometheus
<a name="ContainerInsights-Prometheus-Setup-new-exporters"></a>

El servidor de la API de Kubernetes expone métricas de Prometheus en los puntos de enlace de forma predeterminada. El ejemplo oficial de la configuración de extracción del servidor de la API de Kubernetes está disponible en [Github](https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus-kubernetes.yml).

El siguiente tutorial muestra cómo se realizan los siguientes pasos para comenzar a importar métricas del servidor de la API de Kubernetes a CloudWatch:
+ Agregue la configuración de raspado de Prometheus para el servidor de la API de Kubernetes al archivo YAML del agente de CloudWatch.
+ Configuración de las definiciones de métricas del formato de métrica integrada en el archivo YAML del agente de CloudWatch.
+ (Opcional) Creación de un panel de CloudWatch para las métricas del servidor de la API de Kubernetes.

**nota**  
El servidor de la API de Kubernetes expone métricas de medidor, contador, histograma y resumen. En esta versión de compatibilidad con métricas de Prometheus, CloudWatch importa solo las métricas con tipos de medidor, contador y de resumen.

**Para comenzar a recopilar métricas del servidor de la API de Kubernetes de Prometheus en CloudWatch**

1. Descargue la última versión del archivo `prometheus-eks.yaml`, `prometheus-eks-fargate.yaml` o `prometheus-k8s.yaml` con uno de los siguientes comandos.

   En el caso de un clúster de Amazon EKS con el tipo de lanzamiento de EC2, ingrese el siguiente comando:

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
   ```

   En el caso de un clúster de Amazon EKS con el tipo de lanzamiento de Fargate, ingrese el siguiente comando:

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml
   ```

   En los clústeres de Kubernetes que se ejecuten en una instancia de Amazon EC2, ingrese el siguiente comando:

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml
   ```

1. Abra el archivo con un editor de texto, busque la sección `prometheus-config` y agregue la siguiente sección dentro de esa sección. Para guardar los cambios:

   ```
       # Scrape config for API servers
       - job_name: 'kubernetes-apiservers'
         kubernetes_sd_configs:
           - role: endpoints
             namespaces:
               names:
                 - default
         scheme: https
         tls_config:
           ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
           insecure_skip_verify: true
         bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
         relabel_configs:
         - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
           action: keep
           regex: kubernetes;https
         - action: replace
           source_labels:
           - __meta_kubernetes_namespace
           target_label: Namespace
         - action: replace
           source_labels:
           - __meta_kubernetes_service_name
           target_label: Service
   ```

1. Con el archivo YAML abierto en el editor de texto, busque la sección `cwagentconfig.json`. Agregue la subsección siguiente y guarde los cambios. Esta sección coloca las métricas de servicio de la API en la lista de permitidos del agente de CloudWatch. Se agregan tres tipos de métricas de servidor de la API a la lista de permitidos:
   + Recuentos de objetos etcd
   + Métricas del controlador de registro del servidor de la API
   + Métricas de solicitud del servidor de la API

   ```
   {"source_labels": ["job", "resource"],
     "label_matcher": "^kubernetes-apiservers;(services|daemonsets.apps|deployments.apps|configmaps|endpoints|secrets|serviceaccounts|replicasets.apps)",
     "dimensions": [["ClusterName","Service","resource"]],
     "metric_selectors": [
     "^etcd_object_counts$"
     ]
   },
   {"source_labels": ["job", "name"],
      "label_matcher": "^kubernetes-apiservers;APIServiceRegistrationController$",
      "dimensions": [["ClusterName","Service","name"]],
      "metric_selectors": [
      "^workqueue_depth$",
      "^workqueue_adds_total$",
      "^workqueue_retries_total$"
     ]
   },
   {"source_labels": ["job","code"],
     "label_matcher": "^kubernetes-apiservers;2[0-9]{2}$",
     "dimensions": [["ClusterName","Service","code"]],
     "metric_selectors": [
      "^apiserver_request_total$"
     ]
   },
   {"source_labels": ["job"],
     "label_matcher": "^kubernetes-apiservers",
     "dimensions": [["ClusterName","Service"]],
     "metric_selectors": [
     "^apiserver_request_total$"
     ]
   },
   ```

1. Si el agente de CloudWatch compatible con Prometheus ya está implementado en el clúster, debe eliminarlo con el siguiente comando:

   ```
   kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
   ```

1. Implemente el agente de CloudWatch con la configuración actualizada mediante uno de los siguientes comandos. Para un clúster de Amazon EKS con el tipo de lanzamiento de EC2, ingrese:

   ```
   kubectl apply -f prometheus-eks.yaml
   ```

   Para un clúster de Amazon EKS con el tipo de lanzamiento de Fargate, ingrese el siguiente comando. Reemplace *MyCluster* y *Región* con valores que concuerden con la implementación.

   ```
   cat prometheus-eks-fargate.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

   En los clústeres de Kubernetes, ingrese el siguiente comando: Reemplace *MyCluster* y *Región* con valores que concuerden con la implementación.

   ```
   cat prometheus-k8s.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

Una vez hecho esto, debería ver un nuevo flujo de registros denominado **kubernetes-apiservers** en el grupo de registros **/aws/containerinsights/*nombre\$1clúster*/prometheus**. Esta secuencia de registros debe incluir eventos de registro con una definición de formato de métricas integradas como la siguiente:

```
{
   "CloudWatchMetrics":[
      {
         "Metrics":[
            {
               "Name":"apiserver_request_total"
            }
         ],
         "Dimensions":[
            [
               "ClusterName",
               "Service"
            ]
         ],
         "Namespace":"ContainerInsights/Prometheus"
      }
   ],
   "ClusterName":"my-cluster-name",
   "Namespace":"default",
   "Service":"kubernetes",
   "Timestamp":"1592267020339",
   "Version":"0",
   "apiserver_request_count":0,
   "apiserver_request_total":0,
   "code":"0",
   "component":"apiserver",
   "contentType":"application/json",
   "instance":"192.0.2.0:443",
   "job":"kubernetes-apiservers",
   "prom_metric_type":"counter",
   "resource":"pods",
   "scope":"namespace",
   "verb":"WATCH",
   "version":"v1"
}
```

Puede visualizar las métricas en la consola de CloudWatch, en el espacio de nombres **ContainerInsights/Prometheus**. También tiene la opción de crear un panel de CloudWatch para las métricas del servidor de la API de Kubernetes de Prometheus.

### (Opcional) Creación de un panel para las métricas del servidor de la API de Kubernetes.
<a name="ContainerInsights-Prometheus-Setup-KPI-dashboard"></a>

Para ver las métricas del servidor de la API de Kubernetes en el panel, primero debe haber completado los pasos de las secciones anteriores para comenzar a recopilar estas métricas en CloudWatch.

**Para crear un panel para las métricas del servidor de la API de Kubernetes**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Asegúrese de tener seleccionada la región de AWS correcta.

1. En el panel de navegación, seleccione **Paneles**.

1. Elija **Crear un panel**. Escriba el nombre del nuevo panel y elija **Crear un panel**.

1. En **Añadir a este panel**, elija **Cancelar**.

1. Elija **Actions (Acciones)**, **View/edit source (Ver/editar código fuente)**.

1. Descargue el siguiente archivo JSON: [Kubernetes API Dashboard source](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/kubernetes_api_server/cw_dashboard_kubernetes_api_server.json).

1. Abra el archivo JSON que descargó con un editor de texto y realice los siguientes cambios:
   + Reemplace todas las cadenas `{{YOUR_CLUSTER_NAME}}` por el nombre exacto del clúster. Tenga cuidado de no agregar espacios en blanco antes o después del texto.
   + Reemplace todas las cadenas `{{YOUR_AWS_REGION}}` por el nombre de la región donde se recopilan las métricas. Por ejemplo: . `us-west-2`. Asegúrese de no agregar espacios en blanco antes o después del texto.

1. Copie todo el blob JSON y péguelo en el cuadro de texto de la consola de CloudWatch de modo que sustituya lo que ya se encuentra en el cuadro.

1. Elija **Actualizar** y **Guardar el panel**.

# (Opcional) Configure las cargas de trabajo de muestra de Amazon EKS en contenedores para realizar pruebas con las métricas de Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads"></a>

Para probar la compatibilidad de las métricas de Prometheus en Información de contenedores de CloudWatch, puede configurar una o varias de las siguientes cargas de trabajo en contenedores. El agente de CloudWatch compatible con Prometheus recopila automáticamente las métricas de cada una de estas cargas de trabajo. Para ver las métricas que se recopilan de forma predeterminada, consulte [Métricas de Prometheus que el agente de CloudWatch recopila](ContainerInsights-Prometheus-metrics.md).

Para poder instalar cualquiera de estas cargas de trabajo, debe instalar Helm 3.x con los siguientes comandos:

```
brew install helm
```

Para obtener más información, consulte [Helm](https://helm.sh).

**Topics**
+ [Configuración de las cargas de trabajo de muestra de AWS App Mesh para Amazon EKS y Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-appmesh.md)
+ [Configure NGINX con tráfico de muestra en Amazon EKS y Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-nginx.md)
+ [Configure memcached con un exportador de métricas en Amazon EKS y Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-memcached.md)
+ [Configure la carga de trabajo de muestra de Java/JMX en Amazon EKS y Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-javajmx.md)
+ [Configure HAProxy con un exportador de métricas en Amazon EKS y Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-haproxy.md)
+ [Tutorial para agregar un nuevo destino de raspado de Prometheus: Redis OSS en clústeres de Amazon EKS y de Kubernetes](ContainerInsights-Prometheus-Setup-redis-eks.md)

# Configuración de las cargas de trabajo de muestra de AWS App Mesh para Amazon EKS y Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh"></a>

La compatibilidad de Prometheus con Información de contenedores de CloudWatch es compatible con AWS App Mesh. En las secciones siguientes se explica cómo se configura App Mesh.

**Topics**
+ [Configuración de la carga de trabajo de muestra de AWS App Mesh en un clúster de Amazon EKS con el tipo de lanzamiento de EC2 o en un clúster de Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-appmesh-EKS.md)
+ [Configuración de la carga de trabajo de muestra de AWS App Mesh en un clúster de Amazon EKS con el tipo de lanzamiento de Fargate](ContainerInsights-Prometheus-Sample-Workloads-appmesh-Fargate.md)

# Configuración de la carga de trabajo de muestra de AWS App Mesh en un clúster de Amazon EKS con el tipo de lanzamiento de EC2 o en un clúster de Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-EKS"></a>

Siga estas instrucciones si está configurando App Mesh en un clúster que ejecute Amazon EKS con el tipo de lanzamiento de EC2 o en un clúster de Kubernetes.

## Configure los permisos de IAM
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-iam"></a>

Debe agregar la política **AWSAppMeshFullAccess** al rol de IAM del grupo de nodos de Amazon EKS o Kubernetes. En Amazon EKS, el nombre de este grupo de nodos es similar a `eksctl-integ-test-eks-prometheus-NodeInstanceRole-ABCDEFHIJKL`. En Kubernetes, podría ser parecido a `nodes.integ-test-kops-prometheus.k8s.local`.

## Instale App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-install"></a>

Para instalar el controlador App Mesh Kubernetes, siga las instrucciones que se indican en [App Mesh Controller](https://github.com/aws/eks-charts/tree/master/stable/appmesh-controller#app-mesh-controller) (Controlador de App Mesh).

## Instale una aplicación de muestra
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-application"></a>

[aws-app-mesh-examples](https://github.com/aws/aws-app-mesh-examples) contiene varias explicaciones de Kubernetes App Mesh. Para este tutorial, se instala una aplicación de color de muestra en la que se puede ver cómo las rutas http pueden utilizar cabeceras para hacer concordar las peticiones entrantes.

**Para utilizar una aplicación de ejemplo App Mesh para probar Información de contenedores**

1. Instale la aplicación con estas instrucciones: [https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-http-headers](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-http-headers). 

1. Lance un pod curler para generar tráfico:

   ```
   kubectl -n default run -it curler --image=tutum/curl /bin/bash
   ```

1. Utilice el comando curl con diferentes puntos de enlace al cambiar las cabeceras HTTP. Ejecute el comando curl varias veces, como se muestra:

   ```
   curl -H "color_header: blue" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   
   curl -H "color_header: red" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   
   curl -H "color_header: yellow" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   ```

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En la región de AWS en la que se está ejecutando el clúster, elija **Metrics** (Métricas) en el panel de navegación. Las métricas están en el espacio de nombres **ContainerInsights/Prometheus**.

1. Para ver los eventos de CloudWatch Logs, elija **Log groups** (grupos de registros) en el panel de navegación. Los eventos están en el grupo de registro ` /aws/containerinsights/your_cluster_name/prometheus ` en el flujo de registros `kubernetes-pod-appmesh-envoy`.

## Eliminación del entorno de prueba de App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-delete"></a>

Cuando haya terminado de usar App Mesh y la aplicación de muestra, utilice los siguientes comandos para eliminar los recursos innecesarios. Elimine la aplicación de muestra con el siguiente comando:

```
cd aws-app-mesh-examples/walkthroughs/howto-k8s-http-headers/
kubectl delete -f _output/manifest.yaml
```

Elimine el controlador de App Mesh con el siguiente comando:

```
helm delete appmesh-controller -n appmesh-system
```

# Configuración de la carga de trabajo de muestra de AWS App Mesh en un clúster de Amazon EKS con el tipo de lanzamiento de Fargate
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-Fargate"></a>

Siga estas instrucciones si está configurando App Mesh en un clúster que ejecute Amazon EKS con el tipo de lanzamiento de Fargate.

## Configure los permisos de IAM
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh--fargate-iam"></a>

Para configurar los permisos de IAM, ingrese el siguiente comando. Sustituya *MyCluster* por el nombre del clúster.

```
eksctl create iamserviceaccount --cluster MyCluster \
 --namespace howto-k8s-fargate \
 --name appmesh-pod \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \
 --override-existing-serviceaccounts \
 --approve
```

## Instale App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-install"></a>

Para instalar el controlador de App Mesh Kubernetes, siga las instrucciones que se indican en [App Mesh Controller](https://github.com/aws/eks-charts/tree/master/stable/appmesh-controller#app-mesh-controller) (Controlador de App Mesh). Asegúrese de seguir las instrucciones de Amazon EKS con el tipo de lanzamiento de Fargate.

## Instale una aplicación de muestra
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-application"></a>

[aws-app-mesh-ejemplos](https://github.com/aws/aws-app-mesh-examples) contiene varias explicaciones de Kubernetes App Mesh. Para este tutorial, se instala una aplicación de color de muestra que funcione para clústeres de Amazon EKS con el tipo de lanzamiento de Fargate.

**Para utilizar una aplicación de muestra App Mesh para probar Información de contenedores**

1. Instale la aplicación con estas instrucciones: [https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate). 

   Esas instrucciones suponen que está creando un nuevo clúster con el perfil de Fargate correcto. Si desea utilizar un clúster de Amazon EKS que ya haya configurado, puede utilizar los siguientes comandos para configurar dicho clúster para esta demostración. Sustituya *MyCluster* por el nombre del clúster.

   ```
   eksctl create iamserviceaccount --cluster MyCluster \
    --namespace howto-k8s-fargate \
    --name appmesh-pod \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \
    --override-existing-serviceaccounts \
    --approve
   ```

   ```
   eksctl create fargateprofile --cluster MyCluster \
   --namespace howto-k8s-fargate --name howto-k8s-fargate
   ```

1. Reenvíe el despliegue de la aplicación frontal:

   ```
   kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
   ```

1. Utilice el comando curl en la aplicación frontal:

   ```
   while true; do  curl -s http://localhost:8080/color; sleep 0.1; echo ; done
   ```

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En la región de AWS en la que se está ejecutando el clúster, elija **Metrics** (Métricas) en el panel de navegación. Las métricas están en el espacio de nombres **ContainerInsights/Prometheus**.

1. Para ver los eventos de CloudWatch Logs, elija **Log groups** (grupos de registros) en el panel de navegación. Los eventos están en el grupo de registro ` /aws/containerinsights/your_cluster_name/prometheus ` en el flujo de registros `kubernetes-pod-appmesh-envoy`.

## Eliminación del entorno de prueba de App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-delete"></a>

Cuando haya terminado de usar App Mesh y la aplicación de muestra, utilice los siguientes comandos para eliminar los recursos innecesarios. Elimine la aplicación de muestra con el siguiente comando:

```
cd aws-app-mesh-examples/walkthroughs/howto-k8s-fargate/
kubectl delete -f _output/manifest.yaml
```

Elimine el controlador de App Mesh con el siguiente comando:

```
helm delete appmesh-controller -n appmesh-system
```

# Configure NGINX con tráfico de muestra en Amazon EKS y Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-nginx"></a>

NGINX es un servidor web que también se puede utilizar como balanceador de carga y como proxy inverso. Para obtener más información sobre cómo Kubernetes utiliza NGINX para las entradas, consulte [kubernetes/ingress-nginx](https://github.com/kubernetes/ingress-nginx).

**Para instalar Ingress-NGINX con un servicio de tráfico de ejemplo para probar la compatibilidad de Información de contenedores de Prometheus**

1. Ingrese el siguiente comando para agregar el repositorio de nginx de acceso de Helm.

   ```
   helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
   ```

1. Ejecute los comandos siguientes:

   ```
   kubectl create namespace nginx-ingress-sample
   
   helm install my-nginx ingress-nginx/ingress-nginx \
   --namespace nginx-ingress-sample \
   --set controller.metrics.enabled=true \
   --set-string controller.metrics.service.annotations."prometheus\.io/port"="10254" \
   --set-string controller.metrics.service.annotations."prometheus\.io/scrape"="true"
   ```

1. Compruebe si los servicios se iniciaron correctamente con el siguiente comando:

   ```
   kubectl get service -n nginx-ingress-sample
   ```

   Deberían aparecer varias columnas, como la columna `EXTERNAL-IP`.

1. Defina una variable `EXTERNAL-IP` con el valor de la columna `EXTERNAL-IP` que aparece en la fila del controlador de entrada de NGINX.

   ```
   EXTERNAL_IP=your-nginx-controller-external-ip
   ```

1. Ponga en marcha cierto tráfico de NGINX de ejemplo con el siguiente comando. 

   ```
   SAMPLE_TRAFFIC_NAMESPACE=nginx-sample-traffic
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_traffic/nginx-traffic/nginx-traffic-sample.yaml | 
   sed "s/{{external_ip}}/$EXTERNAL_IP/g" | 
   sed "s/{{namespace}}/$SAMPLE_TRAFFIC_NAMESPACE/g" | 
   kubectl apply -f -
   ```

1. Utilice el siguiente comando para confirmar que los tres pods tienen el estado `Running`.

   ```
   kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE
   ```

   Si se están ejecutando, enseguida aparecerán las métricas en el espacio de nombres **ContainerInsights/Prometheus** .

**Para desinstalar NGINX y la aplicación de tráfico de ejemplo**

1. Elimine el servicio de tráfico de ejemplo con el siguiente comando:

   ```
   kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
   ```

1. Elimine la salida de NGINX por el nombre de versión de Helm. 

   ```
   helm uninstall my-nginx --namespace nginx-ingress-sample
   kubectl delete namespace nginx-ingress-sample
   ```

# Configure memcached con un exportador de métricas en Amazon EKS y Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-memcached"></a>

Memcached es un sistema de almacenamiento en caché de objetos de memoria de código abierto. Para obtener más información, consulte [What is Memcached?](https://www.memcached.org).

Si está ejecutando memcached en un clúster con el tipo de lanzamiento de Fargate, debe configurar un perfil de Fargate antes de seguir los pasos de este procedimiento. Para configurar el perfil, ingrese el siguiente comando: Sustituya *MyCluster* por el nombre del clúster.

```
eksctl create fargateprofile --cluster MyCluster \
--namespace memcached-sample --name memcached-sample
```

**Si desea instalar Memcached con un exportador de métricas para probar la compatibilidad de Información de contenedores de Prometheus**

1. Utilice el siguiente comando para agregar el repositorio.

   ```
   helm repo add bitnami https://charts.bitnami.com/bitnami
   ```

1. Utilice el siguiente comando para crear un nuevo espacio de nombres:

   ```
   kubectl create namespace memcached-sample
   ```

1. Utilice el siguiente comando para instalar Memcached:

   ```
   helm install my-memcached bitnami/memcached --namespace memcached-sample \
   --set metrics.enabled=true \
   --set-string serviceAnnotations.prometheus\\.io/port="9150" \
   --set-string serviceAnnotations.prometheus\\.io/scrape="true"
   ```

1. Utilice el siguiente comando para confirmar la anotación del servicio en ejecución:

   ```
   kubectl describe service my-memcached-metrics -n memcached-sample
   ```

   Debería ver estas dos anotaciones:

   ```
   Annotations:   prometheus.io/port: 9150
                  prometheus.io/scrape: true
   ```

**Para desinstalar Memcached**
+ Ejecute los comandos siguientes:

  ```
  helm uninstall my-memcached --namespace memcached-sample
  kubectl delete namespace memcached-sample
  ```

# Configure la carga de trabajo de muestra de Java/JMX en Amazon EKS y Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx"></a>

JMX Exporter es un exportador oficial de Prometheus que puede extraer y exponer mBeans de JMX como métricas de Prometheus. Para obtener más información, consulte [prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

Información de contenedores puede recopilar métricas de Prometheus predefinidas de Java Virtual Machine (JVM), Java y Tomcat (Catalina) usando JMX Exporter.

## Configuración predeterminada de raspado de Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-default"></a>

De forma predeterminada, el agente de CloudWatch compatible con Prometheus raspa las métricas de Java/JMX de Prometheus de `http://CLUSTER_IP:9404/metrics` en cada pod en un clúster de Amazon EKS o de Kubernetes. Esto se realiza por la detección del `role: pod` de Prometheus `kubernetes_sd_config`. 9404 es el puerto predeterminado que Prometheus asignó para JMX Exporter. Para obtener más información acerca de la detección `role: pod`, consulte [pod](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#pod). Puede configurar JMX Exporter para exponer las métricas en un puerto o ruta (metrics\$1path) diferente. Si cambia el puerto o la ruta, actualice la scrape\$1config de jmx predeterminada en el mapa de configuración del agente de CloudWatch. Ejecute el siguiente comando para obtener la configuración de Prometheus del agente de CloudWatch actual:

```
kubectl describe cm prometheus-config -n amazon-cloudwatch
```

Los campos que se van a modificar son `/metrics` y `regex: '.*:9404$'`, que aparecen resaltados en el siguiente ejemplo.

```
job_name: 'kubernetes-jmx-pod'
sample_limit: 10000
metrics_path: /metrics
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__address__]
  action: keep
  regex: '.*:9404$'
- action: replace
  regex: (.+)
  source_labels:
```

## Otra configuración de raspado de Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-other"></a>

Si expone la aplicación que se ejecuta en un conjunto de pods con exportadores de Java/JMX Prometheus por un servicio Kubernetes, también puede cambiar el uso de la detección de `role: service` o la detección del `role: endpoint` de Prometheus `kubernetes_sd_config`. Para obtener más información sobre estos métodos de detección, consulte [service](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#service) (servicio), [endpoints](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#endpoints) (puntos de enlace) y [<kubernetes\$1sd\$1config>.](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config). 

Estos dos modos de detección de servicios proporcionan más metaetiquetas que podrían ser útiles para crear las dimensiones de métricas de CloudWatch. Por ejemplo, puede volver a etiquetar `__meta_kubernetes_service_name` a `Service` e incluirla en la dimensión de las métricas. Para obtener más información sobre cómo se personalizan las métricas de CloudWatch y las dimensiones, consulte [Configuración del agente de CloudWatch para Prometheus](ContainerInsights-Prometheus-Setup-configure-ECS.md#ContainerInsights-Prometheus-Setup-cw-agent-config).

## Imagen de Docker con JMX Exporter
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-docker"></a>

A continuación, cree una imagen de Docker. En las siguientes secciones, se incluyen dos Dockerfiles de muestra.

Cuando haya creado la imagen, cárguela en Amazon EKS o Kubernetes y ejecute el siguiente comando para verificar que `JMX_EXPORTER` ha expuesto las métricas de Prometheus en el puerto 9404. Sustituya *\$1JAR\$1SAMPLE\$1TRAFFIC\$1POD* por el nombre del pod en ejecución y *\$1JAR\$1SAMPLE\$1TRAFFIC\$1NAMESPACE* por el espacio de nombres de la aplicación. 

Si está ejecutando JMX Exporter en un clúster con el tipo de lanzamiento de Fargate, también debe configurar un perfil de Fargate antes de seguir los pasos de este procedimiento. Para configurar el perfil, ingrese el comando siguiente: Sustituya *MyCluster* por el nombre del clúster.

```
eksctl create fargateprofile --cluster MyCluster \
--namespace $JAR_SAMPLE_TRAFFIC_NAMESPACE\
 --name $JAR_SAMPLE_TRAFFIC_NAMESPACE
```

```
kubectl exec $JAR_SAMPLE_TRAFFIC_POD -n $JARCAT_SAMPLE_TRAFFIC_NAMESPACE -- curl http://localhost:9404
```

## Ejemplo: Imagen de Apache Tomcat Docker con métricas de Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-tomcat"></a>

De forma predeterminada, el servidor Apache Tomcat expone mBeans de JMX. Puede integrar JMX Exporter con Tomcat para que los mBeans de JMX se expongan como métricas de Prometheus. En el siguiente Dockerfile de ejemplo, se indican los pasos para crear una imagen de prueba: 

```
# From Tomcat 9.0 JDK8 OpenJDK 
FROM tomcat:9.0-jdk8-openjdk 

RUN mkdir -p /opt/jmx_exporter

COPY ./jmx_prometheus_javaagent-0.12.0.jar /opt/jmx_exporter
COPY ./config.yaml /opt/jmx_exporter
COPY ./setenv.sh /usr/local/tomcat/bin 
COPY your web application.war /usr/local/tomcat/webapps/

RUN chmod  o+x /usr/local/tomcat/bin/setenv.sh

ENTRYPOINT ["catalina.sh", "run"]
```

En la siguiente lista, se explican las cuatro líneas `COPY` de este Dockerfile.
+ Descargue el último archivo jar de JMX Exporter de [https://github.com/prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).
+ `config.yaml` es el archivo de configuración de JMX Exporter. Para obtener más información, consulte [https://github.com/prometheus/jmx\$1exporter\$1Configuration](https://github.com/prometheus/jmx_exporter#Configuration ).

  Este es un archivo de configuración de ejemplo para Java y Tomcat:

  ```
  lowercaseOutputName: true
  lowercaseOutputLabelNames: true
  
  rules:
  - pattern: 'java.lang<type=OperatingSystem><>(FreePhysicalMemorySize|TotalPhysicalMemorySize|FreeSwapSpaceSize|TotalSwapSpaceSize|SystemCpuLoad|ProcessCpuLoad|OpenFileDescriptorCount|AvailableProcessors)'
    name: java_lang_OperatingSystem_$1
    type: GAUGE
  
  - pattern: 'java.lang<type=Threading><>(TotalStartedThreadCount|ThreadCount)'
    name: java_lang_threading_$1
    type: GAUGE
  
  - pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+)'
    name: catalina_globalrequestprocessor_$3_total
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina global $3
    type: COUNTER
  
  - pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount)'
    name: catalina_servlet_$3_total
    labels:
      module: "$1"
      servlet: "$2"
    help: Catalina servlet $3 total
    type: COUNTER
  
  - pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount)'
    name: catalina_threadpool_$3
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina threadpool $3
    type: GAUGE
  
  - pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions)'
    name: catalina_session_$3_total
    labels:
      context: "$2"
      host: "$1"
    help: Catalina session $3 total
    type: COUNTER
  
  - pattern: ".*"
  ```
+ `setenv.sh` es un script de startup de Tomcat que abre JMX Exporter junto con Tomcat y expone las métricas de Prometheus en el puerto 9404 de localhost. También proporciona a JMX Exporter la ruta del archivo `config.yaml`.

  ```
  $ cat setenv.sh 
  export JAVA_OPTS="-javaagent:/opt/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=9404:/opt/jmx_exporter/config.yaml $JAVA_OPTS"
  ```
+ application.war es el archivo de aplicación web `war` que se va a cargar en Tomcat.

Cree una imagen de Docker con esta configuración y cárguela en un repositorio de imágenes.

## Ejemplo: Imagen de Docker de una aplicación Jar de Java con métricas de Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-jar"></a>

En el siguiente Dockerfile de muestra, se indican los pasos para crear una imagen de prueba: 

```
# Alpine Linux with OpenJDK JRE
FROM openjdk:8-jre-alpine

RUN mkdir -p /opt/jmx_exporter

COPY ./jmx_prometheus_javaagent-0.12.0.jar /opt/jmx_exporter
COPY ./SampleJavaApplication-1.0-SNAPSHOT.jar /opt/jmx_exporter
COPY ./start_exporter_example.sh /opt/jmx_exporter
COPY ./config.yaml /opt/jmx_exporter

RUN chmod -R o+x /opt/jmx_exporter
RUN apk add curl

ENTRYPOINT exec /opt/jmx_exporter/start_exporter_example.sh
```

En la siguiente lista, se explican las cuatro líneas `COPY` de este Dockerfile.
+ Descargue el último archivo jar de JMX Exporter de [https://github.com/prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).
+ `config.yaml` es el archivo de configuración de JMX Exporter. Para obtener más información, consulte [https://github.com/prometheus/jmx\$1exporter\$1Configuration](https://github.com/prometheus/jmx_exporter#Configuration ).

  Este es un archivo de configuración de ejemplo para Java y Tomcat:

  ```
  lowercaseOutputName: true
  lowercaseOutputLabelNames: true
  
  rules:
  - pattern: 'java.lang<type=OperatingSystem><>(FreePhysicalMemorySize|TotalPhysicalMemorySize|FreeSwapSpaceSize|TotalSwapSpaceSize|SystemCpuLoad|ProcessCpuLoad|OpenFileDescriptorCount|AvailableProcessors)'
    name: java_lang_OperatingSystem_$1
    type: GAUGE
  
  - pattern: 'java.lang<type=Threading><>(TotalStartedThreadCount|ThreadCount)'
    name: java_lang_threading_$1
    type: GAUGE
  
  - pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+)'
    name: catalina_globalrequestprocessor_$3_total
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina global $3
    type: COUNTER
  
  - pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount)'
    name: catalina_servlet_$3_total
    labels:
      module: "$1"
      servlet: "$2"
    help: Catalina servlet $3 total
    type: COUNTER
  
  - pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount)'
    name: catalina_threadpool_$3
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina threadpool $3
    type: GAUGE
  
  - pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions)'
    name: catalina_session_$3_total
    labels:
      context: "$2"
      host: "$1"
    help: Catalina session $3 total
    type: COUNTER
  
  - pattern: ".*"
  ```
+ `start_exporter_example.sh` es el script para iniciar la aplicación JAR con las métricas de Prometheus exportadas. También proporciona a JMX Exporter la ruta del archivo `config.yaml`.

  ```
  $ cat start_exporter_example.sh 
  java -javaagent:/opt/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=9404:/opt/jmx_exporter/config.yaml -cp  /opt/jmx_exporter/SampleJavaApplication-1.0-SNAPSHOT.jar com.gubupt.sample.app.App
  ```
+ SampleJavaApplication-1.0-SNAPSHOT.jar es el archivo jar de la aplicación Java de ejemplo. Sustitúyalo por la aplicación Java que desee supervisar.

Cree una imagen de Docker con esta configuración y cárguela en un repositorio de imágenes.

# Configure HAProxy con un exportador de métricas en Amazon EKS y Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-haproxy"></a>

HAProxy es una aplicación proxy de código abierto. Para obtener más información, consulte [HAProxy](https://www.haproxy.org).

Si está ejecutando HAProxy en un clúster con el tipo de lanzamiento de Fargate, debe configurar un perfil de Fargate antes de seguir los pasos de este procedimiento. Para configurar el perfil, ingrese el siguiente comando: Sustituya *MyCluster* por el nombre del clúster.

```
eksctl create fargateprofile --cluster MyCluster \
--namespace haproxy-ingress-sample --name haproxy-ingress-sample
```

**Si desea instalar HAProxy con un exportador de métricas para probar la compatibilidad de Información de contenedores de Prometheus**

1. Ejecute el siguiente comando para agregar el repositorio de incubación de Helm:

   ```
   helm repo add haproxy-ingress https://haproxy-ingress.github.io/charts
   ```

1. Utilice el siguiente comando para crear un nuevo espacio de nombres:

   ```
   kubectl create namespace haproxy-ingress-sample
   ```

1. Ejecute los siguientes comandos para instalar HAProxy:

   ```
   helm install haproxy haproxy-ingress/haproxy-ingress \
   --namespace haproxy-ingress-sample \
   --set defaultBackend.enabled=true \
   --set controller.stats.enabled=true \
   --set controller.metrics.enabled=true \
   --set-string controller.metrics.service.annotations."prometheus\.io/port"="9101" \
   --set-string controller.metrics.service.annotations."prometheus\.io/scrape"="true"
   ```

1. Ejecute el siguiente comando para confirmar la anotación del servicio:

   ```
   kubectl describe service haproxy-haproxy-ingress-metrics -n haproxy-ingress-sample
   ```

   Debería ver las siguientes anotaciones.

   ```
   Annotations:   prometheus.io/port: 9101
                  prometheus.io/scrape: true
   ```

**Para desinstalar HAProxy**
+ Ejecute los comandos siguientes:

  ```
  helm uninstall haproxy --namespace haproxy-ingress-sample
  kubectl delete namespace haproxy-ingress-sample
  ```

# Tutorial para agregar un nuevo destino de raspado de Prometheus: Redis OSS en clústeres de Amazon EKS y de Kubernetes
<a name="ContainerInsights-Prometheus-Setup-redis-eks"></a>

Este tutorial proporciona una introducción práctica para raspar las métricas de Prometheus de una aplicación de muestra de Redis OSS en Amazon EKS y Kubernetes. Redis OSS (https://redis.io/) es un almacén de estructuras de datos en memoria de código abierto (con licencia BSD), utilizado como base de datos, caché y agente de mensajes. Para obtener más información, consulte [redis](https://redis.io/).

redis\$1exporter (con licencia MIT) se utiliza para exponer las métricas de Redis OSS Prometheus en el puerto especificado (predeterminado: 0.0.0.0:9121). Para obtener más información, consulte [redis\$1exporter](https://github.com/oliver006/redis_exporter).

En este tutorial se utilizan las imágenes de Docker en los siguientes dos repositorios de Docker Hub: 
+ [ redis](https://hub.docker.com/_/redis?tab=description)
+ [ redis\$1exporter](https://hub.docker.com/r/oliver006/redis_exporter)

**Para instalar una carga de trabajo de Redis OSS de muestra que exponga las métricas de Prometheus**

1. Establezca el espacio de nombres para la carga de trabajo de Redis OSS de muestra.

   ```
   REDIS_NAMESPACE=redis-sample
   ```

1. Si ejecuta Redis OSS en un clúster con el tipo de lanzamiento de Fargate, debe configurar un perfil de Fargate. Para configurar el perfil, ingrese el siguiente comando: Sustituya *MyCluster* por el nombre del clúster.

   ```
   eksctl create fargateprofile --cluster MyCluster \
   --namespace $REDIS_NAMESPACE --name $REDIS_NAMESPACE
   ```

1. Ingrese el siguiente comando para instalar la carga de trabajo de Redis OSS de muestra.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_traffic/redis/redis-traffic-sample.yaml \
   | sed "s/{{namespace}}/$REDIS_NAMESPACE/g" \
   | kubectl apply -f -
   ```

1. La instalación incluye un servicio llamado `my-redis-metrics` que expone la métrica de Redis OSS Prometheus en el puerto 9121; ingrese el siguiente comando para obtener los detalles del servicio: 

   ```
   kubectl describe service/my-redis-metrics  -n $REDIS_NAMESPACE
   ```

   En la sección `Annotations` de los resultados, verá dos anotaciones que concuerdan con la configuración de raspado de Prometheus del agente de CloudWatch, para que pueda detectar automáticamente las cargas de trabajo:

   ```
   prometheus.io/port: 9121
   prometheus.io/scrape: true
   ```

   La configuración de raspado de Prometheus relacionada se encuentra en la sección `- job_name: kubernetes-service-endpoints`de `kubernetes-eks.yaml` o `kubernetes-k8s.yaml`.

**Para empezar a recopilar métricas de Redis OSS Prometheus en CloudWatch**

1. Descargue la última versión del archivo de `kubernetes-eks.yaml` o el archivo `kubernetes-k8s.yaml` con uno de los siguientes comandos. Para un clúster de Amazon EKS con el tipo de lanzamiento de EC2, ingrese este comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
   ```

   Para un clúster de Amazon EKS con el tipo de lanzamiento de Fargate, ingrese este comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml
   ```

   En los clústeres de Kubernetes que se ejecuten en una instancia de Amazon EC2, ingrese el siguiente comando.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml
   ```

1. Abra el archivo con un editor de texto y busque la sección `cwagentconfig.json`. Agregue la subsección siguiente y guarde los cambios. Asegúrese de seguir el patrón existente de sangría.

   ```
   {
     "source_labels": ["pod_name"],
     "label_matcher": "^redis-instance$",
     "dimensions": [["Namespace","ClusterName"]],
     "metric_selectors": [
       "^redis_net_(in|out)put_bytes_total$",
       "^redis_(expired|evicted)_keys_total$",
       "^redis_keyspace_(hits|misses)_total$",
       "^redis_memory_used_bytes$",
       "^redis_connected_clients$"
     ]
   },
   {
     "source_labels": ["pod_name"],
     "label_matcher": "^redis-instance$",
     "dimensions": [["Namespace","ClusterName","cmd"]],
     "metric_selectors": [
       "^redis_commands_total$"
     ]
   },
   {
     "source_labels": ["pod_name"],
     "label_matcher": "^redis-instance$",
     "dimensions": [["Namespace","ClusterName","db"]],
     "metric_selectors": [
       "^redis_db_keys$"
     ]
   },
   ```

   La sección que agregó coloca las métricas de Redis OSS en la lista de permitidos del agente de CloudWatch. Para obtener la lista de estas métricas, consulte la siguiente sección.

1. Si el agente de CloudWatch compatible con Prometheus ya está implementado en el clúster, debe eliminarlo con el siguiente comando:

   ```
   kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
   ```

1. Implemente el agente de CloudWatch con la configuración actualizada con uno de los siguientes comandos. Reemplace *MyCluster* y la *Región* para que concuerde con la configuración.

   Para un clúster de Amazon EKS con el tipo de lanzamiento de EC2, ingrese este comando.

   ```
   kubectl apply -f prometheus-eks.yaml
   ```

   Para un clúster de Amazon EKS con el tipo de lanzamiento de Fargate, ingrese este comando.

   ```
   cat prometheus-eks-fargate.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

   Para un clúster de Kubernetes, escriba este comando:

   ```
   cat prometheus-k8s.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

## Visualización de las métricas de Redis OSS Prometheus
<a name="ContainerInsights-Prometheus-Setup-redis-eks-view"></a>

En este tutorial se envían las siguientes métricas al espacio de nombres **ContainerInsights/Prometheus** en CloudWatch. Puede utilizar la consola de CloudWatch para ver las métricas de ese espacio de nombres.


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `redis_net_input_bytes_total` |  ClusterName, `Namespace`  | 
|  `redis_net_output_bytes_total` |  ClusterName, `Namespace`  | 
|  `redis_expired_keys_total` |  ClusterName, `Namespace`  | 
|  `redis_evicted_keys_total` |  ClusterName, `Namespace`  | 
|  `redis_keyspace_hits_total` |  ClusterName, `Namespace`  | 
|  `redis_keyspace_misses_total` |  ClusterName, `Namespace`  | 
|  `redis_memory_used_bytes` |  ClusterName, `Namespace`  | 
|  `redis_connected_clients` |  ClusterName, `Namespace`  | 
|  `redis_commands_total` |  ClusterName, `Namespace`, cmd  | 
|  `redis_db_keys` |  ClusterName, `Namespace`, db  | 

**nota**  
Los valores de la dimensión **cmd** pueden ser: `append`, `client`, `command`, `config`, `dbsize`, `flushall`, `get`, `incr`, `info`, `latency` o `slowlog`.  
Los valores de la dimensión **db** pueden ir de `db0` a `db15`. 

También puede crear un panel de CloudWatch para las métricas de Redis OSS Prometheus.

**Para crear un panel para las métricas de Redis OSS Prometheus**

1. Cree variables de entorno mediante el reemplazo de los siguientes valores para que concuerden con la implementación.

   ```
   DASHBOARD_NAME=your_cw_dashboard_name
   REGION_NAME=your_metric_region_such_as_us-east-1
   CLUSTER_NAME=your_k8s_cluster_name_here
   NAMESPACE=your_redis_service_namespace_here
   ```

1. Ingrese el siguiente comando para crear el panel.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/redis/cw_dashboard_redis.json \
   | sed "s/{{YOUR_AWS_REGION}}/${REGION_NAME}/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/${CLUSTER_NAME}/g" \
   | sed "s/{{YOUR_NAMESPACE}}/${NAMESPACE}/g" \
   ```

# Conversión del tipo de métrica de Prometheus realizada por el agente de CloudWatch
<a name="ContainerInsights-Prometheus-metrics-conversion"></a>

Las bibliotecas de cliente de Prometheus ofrecen cuatro tipos de métricas principales: 
+ Contador
+ Calibre
+ Resumen
+ Histograma

El agente de CloudWatch admite los tipos de métricas de contador, medición y resumen.

 El agente de CloudWatch descarta las métricas de Prometheus con el tipo de métrica de histograma no compatible. Para obtener más información, consulte [Registro de métricas de Prometheus descartadas](ContainerInsights-Prometheus-troubleshooting-EKS.md#ContainerInsights-Prometheus-troubleshooting-droppedmetrics).

**Métricas de medición**

Una métrica de medición de Prometheus es una métrica que representa un único valor numérico que puede subir y bajar arbitrariamente. El agente de CloudWatch raspa las métricas de medición y envía estos valores directamente.

**Métricas de contador**

Una métrica de contador de Prometheus es una métrica acumulada que representa un contador monotónico en aumento cuyo valor sólo puede aumentar o reiniciarse a cero. El agente de CloudWatch calcula un delta desde el raspado anterior y envía el valor delta como valor de métrica en el evento de registro. Por lo tanto, el agente de CloudWatch comenzará a producir un evento de registro desde el segundo raspado y continuará con los raspados posteriores, si los hay.

**Métricas de resumen**

Una métrica de resumen de Prometheus es un tipo de métrica compleja que está representada por varios puntos de datos. Proporciona un recuento total de observaciones y una suma de todos los valores observados. Calcula cuantiles configurables a través de una ventana de tiempo variable.

La suma y el recuento de una métrica de resumen son acumulativos, pero los cuantiles no lo son. El siguiente ejemplo muestra la desviación de los cuantiles.

```
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 7.123e-06
go_gc_duration_seconds{quantile="0.25"} 9.204e-06
go_gc_duration_seconds{quantile="0.5"} 1.1065e-05
go_gc_duration_seconds{quantile="0.75"} 2.8731e-05
go_gc_duration_seconds{quantile="1"} 0.003841496
go_gc_duration_seconds_sum 0.37630427
go_gc_duration_seconds_count 9774
```

El agente de CloudWatch gestiona la suma y el recuento de una métrica de resumen de la misma manera que maneja las métricas de contador, como se describe en la sección anterior. El agente de CloudWatch conserva los valores del cuantil tal como se notifican originalmente.

# Métricas de Prometheus que el agente de CloudWatch recopila
<a name="ContainerInsights-Prometheus-metrics"></a>

El agente de CloudWatch compatible con Prometheus recopila automáticamente las métricas de varios servicios y cargas de trabajo. En las siguientes secciones se detallan las métricas que se recopilan de forma predeterminada. También puede configurar el agente para que recopile más métricas de otros servicios y métricas de Prometheus desde diferentes aplicaciones y servicios. Para obtener más información acerca de la recopilación de métricas adicionales, consulte [Configuración del agente de CloudWatch para Prometheus](ContainerInsights-Prometheus-Setup-configure-ECS.md#ContainerInsights-Prometheus-Setup-cw-agent-config).

Las métricas de Prometheus recopiladas de los clústeres de Amazon EKS y Kubernetes se encuentran en el espacio de nombres **ContainerInsights/Prometheus**. Las métricas de Prometheus que se recopilan de los clústeres de Amazon ECS se encuentran en el espacio de nombres **ECS/ContainerInsights/Prometheus**. 

**Topics**
+ [Métricas de Prometheus para App Mesh](#ContainerInsights-Prometheus-metrics-appmesh)
+ [Métricas de Prometheus para NGINX](#ContainerInsights-Prometheus-metrics-nginx)
+ [Métricas de Prometheus para Memcached](#ContainerInsights-Prometheus-metrics-memcached)
+ [Métricas de Prometheus para Java/JMX](#ContainerInsights-Prometheus-metrics-jmx)
+ [Métricas de Prometheus para HAProxy](#ContainerInsights-Prometheus-metrics-haproxy)

## Métricas de Prometheus para App Mesh
<a name="ContainerInsights-Prometheus-metrics-appmesh"></a>

Las siguientes métricas se recopilan automáticamente de App Mesh.

**Métricas de Prometheus para App Mesh en clústeres de Amazon EKS y de Kubernetes**


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `envoy_http_downstream_rq_total` |  ClusterName, `Namespace`  | 
|  `envoy_http_downstream_rq_xx` |  ClusterName, `Namespace` ClusterName, `Namespace`, envoy\$1http\$1conn\$1manager\$1prefix, envoy\$1response\$1code\$1class  | 
|  `envoy_cluster_upstream_cx_rx_bytes_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_tx_bytes_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_membership_healthy` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_membership_total` |  ClusterName, `Namespace`  | 
|  `envoy_server_memory_heap_size` |  ClusterName, `Namespace`  | 
|  `envoy_server_memory_allocated` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_connect_timeout` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_pending_failure_eject` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_pending_overflow` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_timeout` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_try_per_timeout` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_rx_reset` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_destroy_local_with_active_rq` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_destroy_remote_active_rq` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_maintenance_mode` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_paused_reading_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_resumed_reading_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_backed_up_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_drained_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_retry` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_retry_success` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_retry_overflow` |  ClusterName, `Namespace`  | 
|  `envoy_server_live` |  ClusterName, `Namespace`  | 
|  `envoy_server_uptime` |  ClusterName, `Namespace`  | 

**Métricas de Prometheus para App Mesh en clústeres de Amazon ECS**


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `envoy_http_downstream_rq_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_http_downstream_rq_xx` |  ClusterName, `TaskDefinitionFamily` | 
|  `envoy_cluster_upstream_cx_rx_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_tx_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_membership_healthy` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_membership_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_memory_heap_size` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_memory_allocated` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_connect_timeout` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_pending_failure_eject` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_pending_overflow` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_timeout` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_try_per_timeout` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_rx_reset` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_destroy_local_with_active_rq` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_destroy_remote_active_rq` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_maintenance_mode` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_paused_reading_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_resumed_reading_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_backed_up_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_drained_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_retry` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_retry_success` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_retry_overflow` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_live` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_uptime` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_http_downstream_rq_xx` |  ClusterName, TaskDefinitionFamily, envoy\$1http\$1conn\$1manager\$1prefix, envoy\$1response\$1code\$1class ClusterName, TaskDefinitionFamily, envoy\$1response\$1code\$1class | 

**nota**  
`TaskDefinitionFamily` es el espacio de nombres Kubernetes de la malla.  
El valor de `envoy_http_conn_manager_prefix` puede ser `ingress`, `egress` o `admin`.   
El valor de `envoy_response_code_class` puede ser `1` (corresponde a `1xx`), `2` corresponde a `2xx`), `3` corresponde a `3xx`), `4` corresponde a `4xx`) o `5` que corresponde a `5xx`). 

## Métricas de Prometheus para NGINX
<a name="ContainerInsights-Prometheus-metrics-nginx"></a>

Las siguientes métricas se recopilan automáticamente de NGINX en clústeres de Amazon EKS y de Kubernetes.


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `nginx_ingress_controller_nginx_process_cpu_seconds_total` |  ClusterName, `Namespace`, Servicio  | 
|  `nginx_ingress_controller_success` |  ClusterName, `Namespace`, Servicio  | 
|  `nginx_ingress_controller_requests` |  ClusterName, `Namespace`, Servicio  | 
|  `nginx_ingress_controller_nginx_process_connections` |  ClusterName, `Namespace`, Servicio  | 
|  `nginx_ingress_controller_nginx_process_connections_total` |  ClusterName, `Namespace`, Servicio  | 
|  `nginx_ingress_controller_nginx_process_resident_memory_bytes` |  ClusterName, `Namespace`, Servicio  | 
|  `nginx_ingress_controller_config_last_reload_successful` |  ClusterName, `Namespace`, Servicio  | 
|  `nginx_ingress_controller_requests` |  ClusterName, `Namespace`, Servicio, estado  | 

## Métricas de Prometheus para Memcached
<a name="ContainerInsights-Prometheus-metrics-memcached"></a>

Las siguientes métricas se recopilan automáticamente de Memcached en clústeres de Amazon EKS y de Kubernetes.


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `memcached_current_items` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_current_connections` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_limit_bytes` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_current_bytes` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_written_bytes_total` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_read_bytes_total` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_items_evicted_total` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_items_reclaimed_total` |  ClusterName, `Namespace`, Servicio  | 
|  `memcached_commands_total` |  ClusterName, `Namespace`, Servicio ClusterName, `Namespace`, Servicio, comando ClusterName, `Namespace`, Servicio, estado, comando  | 

## Métricas de Prometheus para Java/JMX
<a name="ContainerInsights-Prometheus-metrics-jmx"></a>

**Métricas recopiladas en clústeres de Amazon EKS y de Kubernetes**

En los clústeres de Amazon EKS y de Kubernetes, Información de contenedores puede recopilar las siguientes métricas de Prometheus predefinidas de Java Virtual Machine (JVM), Java y Tomcat (Catalina) mediante JMX Exporter. Para obtener más información, consulte [ prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter) en Github.

**Java/JMX en clústeres de Amazon EKS y de Kubernetes**


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `jvm_classes_loaded` |  `ClusterName`, `Namespace`  | 
|  `jvm_threads_current` |  `ClusterName`, `Namespace`  | 
|  `jvm_threads_daemon` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_totalswapspacesize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_systemcpuload` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_processcpuload` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_freeswapspacesize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_totalphysicalmemorysize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_freephysicalmemorysize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_openfiledescriptorcount` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_availableprocessors` |  `ClusterName`, `Namespace`  | 
|  `jvm_memory_bytes_used` |  `ClusterName`, `Namespace`, área  | 
|  `jvm_memory_pool_bytes_used` |  `ClusterName`, `Namespace`, grupo  | 

**nota**  
Los valores de la dimensión `area` pueden ser `heap` o `nonheap`.  
Los valores de la dimensión `pool` pueden ser `Tenured Gen`, `Compress Class Space`, `Survivor Space`, `Eden Space`, `Code Cache` o `Metaspace`.

**TomCat/JMX en clústeres de Amazon EKS y de Kubernetes**

Además de las métricas de Java/JMX de la tabla anterior, también se recopilan las siguientes métricas de la carga de trabajo de Tomcat.


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `catalina_manager_activesessions` |  `ClusterName`, `Namespace`  | 
|  `catalina_manager_rejectedsessions` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_bytesreceived` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_bytessent` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_requestcount` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_errorcount` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_processingtime` |  `ClusterName`, `Namespace`  | 

**Java/JMX en clústeres de Amazon ECS**


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `jvm_classes_loaded` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `jvm_threads_current` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `jvm_threads_daemon` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_totalswapspacesize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_systemcpuload` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_processcpuload` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_freeswapspacesize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_totalphysicalmemorysize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_freephysicalmemorysize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_openfiledescriptorcount` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_availableprocessors` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `jvm_memory_bytes_used` |  `ClusterName`, TaskDefinitionFamily, área  | 
|  `jvm_memory_pool_bytes_used` |  `ClusterName`, TaskDefinitionFamily, grupo  | 

**nota**  
Los valores de la dimensión `area` pueden ser `heap` o `nonheap`.  
Los valores de la dimensión `pool` pueden ser `Tenured Gen`, `Compress Class Space`, `Survivor Space`, `Eden Space`, `Code Cache` o `Metaspace`.

**Tomcat/JMX en clústeres de Amazon ECS**

Además de las métricas de Java/JMX de la tabla anterior, también se recopilan las siguientes métricas de la carga de trabajo de Tomcat en clústeres de Amazon ECS.


| Nombre de métrica | Dimensiones | 
| --- | --- | 
|  `catalina_manager_activesessions` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_manager_rejectedsessions` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_bytesreceived` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_bytessent` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_requestcount` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_errorcount` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_processingtime` |  `ClusterName`, `TaskDefinitionFamily`  | 

## Métricas de Prometheus para HAProxy
<a name="ContainerInsights-Prometheus-metrics-haproxy"></a>

Las siguientes métricas se recopilan automáticamente de HAProxy en clústeres de Amazon EKS y de Kubernetes.

Las métricas recopiladas dependen de la versión de HAProxy Ingress que esté utilizando. Para obtener más información sobre HAProxy Ingress y sus versiones, consulte [haproxy-ingress](https://artifacthub.io/packages/helm/haproxy-ingress/haproxy-ingress).


| Nombre de métrica | Dimensiones | Disponibilidad | 
| --- | --- | --- | 
|  `haproxy_backend_bytes_in_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_backend_bytes_out_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_backend_connection_errors_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_backend_connections_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_backend_current_sessions` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_backend_http_responses_total` |  `ClusterName`, `Namespace`, Servicio, código, backend  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_backend_status` |  `ClusterName`, `Namespace`, Servicio  |  Sólo en versiones de HAProxy Ingress 0.10 o posteriores   | 
|  `haproxy_backend_up` |  `ClusterName`, `Namespace`, Servicio  |  Sólo en versiones de HAProxy Ingress anteriores a 0.10  | 
|  `haproxy_frontend_bytes_in_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_frontend_bytes_out_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_frontend_connections_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_frontend_current_sessions` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_frontend_http_requests_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_frontend_http_responses_total` |  `ClusterName`,`Namespace`, Servicio, código, frontend  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_frontend_request_errors_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 
|  `haproxy_frontend_requests_denied_total` |  `ClusterName`, `Namespace`, Servicio  | Todas las versiones de HAProxy Ingress | 

**nota**  
Los valores de la dimensión `code` pueden ser `1xx`, `2xx`, `3xx`, `4xx`, `5xx` o `other`.  
Los valores de la dimensión `backend` pueden ser:  
`http-default-backend`, `http-shared-backend` o `httpsback-shared-backend` para HAProxy Ingress versión 0.0.27 o anteriores.
`_default_backend` para las versiones de HAProxy Ingress posteriores a 0.0.27.
Los valores de la dimensión `frontend` pueden ser:  
`httpfront-default-backend`, `httpfront-shared-frontend` o `httpfronts` para HAProxy Ingress versión 0.0.27 o anteriores.
`_front_http` o `_front_https` para las versiones de HAProxy Ingress posteriores a 0.0.27.

# Visualización de las métricas de Prometheus
<a name="ContainerInsights-Prometheus-viewmetrics"></a>

Puede supervisión todas las métricas de Prometheus e crear alarmas sobre ellas, incluidas las que se seleccionaron y se agregaron previamente desde App Mesh, NGINX, Java/JMX, Memcached y HAProxy, así como de cualquier otro exportador de Prometheus que se haya agregado y configurado manualmente . Para obtener más información acerca de cómo recopilar métricas de otros exportadores de Prometheus, consulte [Tutorial para agregar un destino de raspado nuevo de Prometheus: métricas del servidor de la API de Prometheus](ContainerInsights-Prometheus-Setup-configure.md#ContainerInsights-Prometheus-Setup-new-exporters).

En la consola de CloudWatch, Información de contenedores proporciona los siguientes informes preconstruidos: 
+ Para los clústeres de Amazon EKS y de Kubernetes, hay informes preconstruidos para App Mesh, NGINX, HAPROXY, Memcached y Java/JMX.
+ Para los clústeres de Amazon ECS, hay informes preconstruidos para App Mesh y Java/JMX.

Información de contenedores también proporciona paneles personalizados para cada una de las cargas de trabajo de las que Información de contenedores recopila métricas seleccionadas. Puede descargar estos paneles de GitHub 

**Para ver todas las métricas de Prometheus**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, seleccione **Métricas**.

1. En la lista de espacios de nombres, elija **ContainerInsights/Prometheus** o **ECS/ContainerInsights/Prometheus**.

1. Elija uno de los conjuntos de dimensiones de la siguiente lista. A continuación, active la casilla situada junto a las métricas que desee ver.

**Para ver los informes prediseñados de las métricas de Prometheus**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Performance monitoring** (Supervisión del rendimiento).

1. En el cuadro desplegable situado cerca de la parte superior de la página, elija cualquiera de las opciones Prometheus.

   En el otro cuadro desplegable, elija el clúster que desee ver

También se han incluido paneles personalizados para NGINX, App Mesh, Memcached, HAProxy y Java/JMX.

**Para utilizar un panel personalizado proporcionado por Amazon**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Dashboards (Paneles)**.

1. Elija **Crear un panel**. Escriba el nombre del nuevo panel y elija **Crear un panel**.

1. En **Añadir a este panel**, elija **Cancelar**.

1. Elija **Actions (Acciones)**, **View/edit source (Ver/editar código fuente)**.

1. Descargue uno de los siguientes archivos JSON:
   + [ Origen de paneles personalizados para NGINX en Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/nginx-ingress/cw_dashboard_nginx_ingress_controller.json).
   + [ App Mesh custom dashboard source on Github (Fuente de paneles personalizados de App Mesh en Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/appmesh/cw_dashboard_awsappmesh.json).
   + [ Origen de paneles personalizados de Memcached en Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/memcached/cw_dashboard_memcached.json)
   + [ Origen de paneles personalizados de HAProxy-Ingress en Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/haproxy-ingress/cw_dashboard_haproxy_ingress.json)
   + [ Origen de paneles personalizados para Java/JMX en Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/javajmx/cw_dashboard_javajmx.json).

1. Abra el archivo JSON que descargó con un editor de texto y realice los siguientes cambios:
   + Reemplace todas las cadenas `{{YOUR_CLUSTER_NAME}}` por el nombre exacto del clúster. Tenga cuidado de no agregar espacios en blanco antes o después del texto.
   + Reemplace todas las cadenas `{{YOUR_REGION}}` con la Región de AWS en la que se está ejecutando el clúster. Por ejemplo, en **us-west-1** asegúrese de no agregar espacios en blanco antes o después del texto. 
   + Reemplace todas las cadenas `{{YOUR_NAMESPACE}}` por el espacio de nombres exacto de la carga de trabajo.
   + Reemplace todas las cadenas `{{YOUR_SERVICE_NAME}}` por el nombre exacto del servicio de la carga de trabajo. Por ejemplo: ., **haproxy-haproxy-ingress-controller-metrics**

1. Copie todo el blob JSON y péguelo en el cuadro de texto de la consola de CloudWatch de manera que sustituya el texto del cuadro.

1. Elija **Actualizar** y **Guardar el panel**.

# Solución de problemas de las métricas de Prometheus
<a name="ContainerInsights-Prometheus-troubleshooting"></a>

Esta sección le ayudará a solucionar problemas relacionados con la configuración de las métricas de Prometheus. 

**Topics**
+ [Solución de problemas de las métricas de Prometheus en Amazon ECS](ContainerInsights-Prometheus-troubleshooting-ECS.md)
+ [Solución de problemas de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes](ContainerInsights-Prometheus-troubleshooting-EKS.md)

# Solución de problemas de las métricas de Prometheus en Amazon ECS
<a name="ContainerInsights-Prometheus-troubleshooting-ECS"></a>

Esta sección le ayudará a solucionar problemas relacionados con la configuración de las métricas de Prometheus en clústeres de Amazon ECS. 

## No se pueden ver las métricas de Prometheus que se enviaron a los CloudWatch Logs
<a name="ContainerInsights-Prometheus-troubleshooting-ECS-nometrics"></a>

Las métricas de Prometheus se deberían capturar como eventos de registro en el grupo de registros **/aws/containerInsights/nombre-del-clúster/Prometheus**. Si no se crea el grupo de registros o las métricas de Prometheus no se envían al grupo de registros, primero se deberá verificar si el agente de CloudWatch ha detectado correctamente los destinos de Prometheus. A continuación, verifique el grupo de seguridad y la configuración de permisos del agente de CloudWatch. Los siguientes pasos lo guiarán para realizar la depuración.

**Paso 1: habilite el modo de depuración del agente de CloudWatch**

Primero, cambie el agente de CloudWatch al modo de depuración al agregar los siguientes renglones en negrita al archivo de plantilla de CloudFormation, `cwagent-ecs-prometheus-metric-for-bridge-host.yaml` o `cwagent-ecs-prometheus-metric-for-awsvpc.yaml`. A continuación, guarde el archivo.

```
cwagentconfig.json: |
    {
      "agent": {
        "debug": true
      },
      "logs": {
        "metrics_collected": {
```

Cree un nuevo conjunto de cambios de CloudFormation con respecto a la pila existente. Establezca otros parámetros en el conjunto de cambios a los mismos valores que tiene en la pila de CloudFormation. El siguiente ejemplo es para un agente de CloudWatch instalado en un clúster de Amazon ECS que utiliza el tipo de lanzamiento de EC2 y el modo de red puente.

```
ECS_NETWORK_MODE=bridge
 CREATE_IAM_ROLES=True
ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
NEW_CHANGESET_NAME=your_selected_ecs_execution_role_name

aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
    --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                 ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                 ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                 ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                 ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
    --capabilities CAPABILITY_NAMED_IAM \
    --region $AWS_REGION \
    --change-set-name $NEW_CHANGESET_NAME
```

Diríjase a la consola de CloudFormation para revisar el nuevo conjunto de cambios, `$NEW_CHANGESET_NAME`. Debe haber un cambio aplicado al recurso **CWAgentConfigSSMParameter**. Ejecute el conjunto de cambios y reinicie la tarea del agente de CloudWatch mediante los siguientes comandos.

```
aws ecs update-service --cluster $ECS_CLUSTER_NAME \
--desired-count 0 \
--service your_service_name_here \
--region $AWS_REGION
```

Espere aproximadamente 10 segundos y, a continuación, ingrese el siguiente comando.

```
aws ecs update-service --cluster $ECS_CLUSTER_NAME \
--desired-count 1 \
--service your_service_name_here \
--region $AWS_REGION
```

**Paso 2: verifique los registros de detección del servicio de ECS**

La definición de tarea ECS del agente de CloudWatch habilita los registros de forma predeterminada en la siguiente sección. Los registros se envían a CloudWatch Logs en el grupo de registros **/ecs/ecs-cwagent-prometheus**.

```
LogConfiguration:
  LogDriver: awslogs
    Options:
      awslogs-create-group: 'True'
      awslogs-group: "/ecs/ecs-cwagent-prometheus"
      awslogs-region: !Ref AWS::Region
      awslogs-stream-prefix: !Sub 'ecs-${ECSLaunchType}-awsvpc'
```

Filtre los registros mediante la cadena `ECS_SD_Stats` para obtener las métricas relacionadas con la detección de servicios de ECS, tal y como se muestra en el siguiente ejemplo.

```
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeContainerInstances: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeInstancesRequest: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeTaskDefinition: 2
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeTasks: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_ListTasks: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: Exporter_DiscoveredTargetCount: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Get_EC2MetaData: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Get_TaskDefinition: 2
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Size_ContainerInstance: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Size_TaskDefinition: 2
2020-09-1T01:53:14Z D! ECS_SD_Stats: Latency: 43.399783ms
```

El significado de cada métrica para un ciclo de detección de servicios de ECS particular es el siguiente:
+ **AWSCLI\$1DescribeContainerInstances**: el número de llamadas a la API `ECS::DescribeContainerInstances` realizadas.
+ **AWSCLI\$1DescribeInstancesRequest**: el número de llamadas a la API `ECS::DescribeInstancesRequest` realizadas.
+ **AWSCLI\$1DescribetaskDefinition**: el número de llamadas a la API `ECS::DescribeTaskDefinition` realizadas.
+ **AWSCLI\$1DescribeTasks**: el número de llamadas a la API `ECS::DescribeTasks` realizadas.
+ **AWSCLI\$1ListTasks**: el número de llamadas a la API `ECS::ListTasks` realizadas.
+ **ExporterDiscoveredTargetCount**: el número de destinos de Prometheus que se detectaron y exportaron correctamente al archivo de resultados de destino dentro del contenedor.
+ **LRUCache\$1Get\$1EC2MetaData**: el número de veces que se recuperaron los metadatos de instancias de contenedor de la caché.
+ **LRUCache\$1Get\$1TaskDefinition**: el número de veces que los metadatos de definición de tareas de ECS se recuperaron de la caché.
+ **LRUCache\$1Size\$1ContainerInstance**: el número de metadatos de la instancia de contenedor únicos almacenados en caché en la memoria.
+ **LRUCache\$1Size\$1TaskDefinition**: el número de definiciones de tareas ECS únicas almacenadas en caché en la memoria.
+ **Latencia**: cuánto tiempo tarda el ciclo de detección de servicios.

Verifique el valor de `ExporterDiscoveredTargetCount` para ver si los destinos de Prometheus detectados concuerdan con las expectativas. De lo contrario, las razones posibles son las siguientes:
+ Es posible que la configuración de la detección de servicios de ECS no concuerde con la configuración de la aplicación. Para la detección de servicios basada en etiquetas docker, es posible que los contenedores de destino no tengan la etiqueta docker necesaria configurada en el agente de CloudWatch para detectarlos automáticamente. Para la detección de servicios basado en expresiones regulares ARN de la definición de tarea de ECS, es posible que la configuración de las expresiones regulares en el agente de CloudWatch no coincida con la definición de tarea de la aplicación. 
+ Es posible que el rol de tarea de ECS del agente de CloudWatch no tenga permiso para recuperar los metadatos de las tareas de ECS. Verifique que el agente de CloudWatch ha obtenido los siguientes permisos de sólo lectura:
  + `ec2:DescribeInstances`
  + `ecs:ListTasks`
  + `ecs:DescribeContainerInstances`
  + `ecs:DescribeTasks`
  + `ecs:DescribeTaskDefinition`

**Paso 3: verifique la conexión de red y la política de rol de tareas de ECS**

Si todavía no hay eventos de registro enviados al grupo de registro de CloudWatch Logs de destino aunque el valor de `Exporter_DiscoveredTargetCount` indica que hay destinos de Prometheus detectados, esto podría deberse a una de las siguientes causas:
+ Es posible que el agente de CloudWatch no pueda conectarse a los puertos de destino de Prometheus. Verifique la configuración del grupo de seguridad detrás del agente de CloudWatch. La IP privada debe permitir que el agente de CloudWatch se conecte a los puertos del exportador de Prometheus. 
+ Es posible que el rol de tarea de ECS del agente de CloudWatch no cuente con la política administrada **CloudWatchAgentServerPolicy**. Se necesita contar con esta política para que el rol de tarea de ECS del agente de CloudWatch pueda enviar las métricas de Prometheus como eventos de registro. Si utilizó la plantilla de muestra de CloudFormation para crear los roles de IAM de forma automática, tanto el rol de tarea de ECS como el rol de ejecución de ECS se otorgan con el privilegio mínimo para la supervisión de Prometheus. 

# Solución de problemas de métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes
<a name="ContainerInsights-Prometheus-troubleshooting-EKS"></a>

Esta sección proporciona ayuda para solucionar problemas relacionados con la configuración de las métricas de Prometheus en clústeres de Amazon EKS y de Kubernetes. 

## Pasos generales de solución de problemas en Amazon EKS
<a name="ContainerInsights-Prometheus-troubleshooting-general"></a>

Ingrese el siguiente comando para confirmar que el agente de CloudWatch se está ejecutando.

```
kubectl get pod -n amazon-cloudwatch
```

En la salida, debería aparecer una fila con el valor `cwagent-prometheus-id` en la columna `NAME` y el valor `Running` en `STATUS column.`

Para obtener más información sobre el pod en ejecución, escriba el siguiente comando. Sustituya *pod-name* por el nombre completo del pod que debe comenzar por `cw-agent-prometheus`.

```
kubectl describe pod pod-name -n amazon-cloudwatch
```

 Si Información de contenedores de CloudWatch está instalado, puede utilizar Información de registros de CloudWatch para consultar los registros del agente de CloudWatch que recopila las métricas de Prometheus.

**Para consultar los registros de la aplicación**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Información de registros de CloudWatch**.

1. Seleccione el grupo de registros de la aplicación, **/aws/containerinsights/*nombre-del-clúster*/application**

1. Sustituya la expresión de la consulta de búsqueda por la siguiente consulta y elija **Ejecutar la consulta**.

   ```
   fields ispresent(kubernetes.pod_name) as haskubernetes_pod_name, stream, kubernetes.pod_name, log | 
   filter haskubernetes_pod_name and kubernetes.pod_name like /cwagent-prometheus
   ```

También se puede confirmar que las métricas y los metadatos de Prometheus se están capturando como eventos de CloudWatch Logs.

**Para confirmar que los datos de Prometheus se están ingiriendo**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Información de registros de CloudWatch**.

1. Seleccione **/aws/containerinsights/*nombre-del-clúster*/prometheus**

1. Sustituya la expresión de la consulta de búsqueda por la siguiente consulta y elija **Ejecutar la consulta**.

   ```
   fields @timestamp, @message | sort @timestamp desc | limit 20
   ```

## Registro de métricas de Prometheus descartadas
<a name="ContainerInsights-Prometheus-troubleshooting-droppedmetrics"></a>

Esta versión no recopila métricas de Prometheus de tipo histograma. Puede utilizar el agente de CloudWatch para verificar si se está descartando alguna métrica de Prometheus porque son de tipo histograma. También puede registrar una lista de las primeras 500 métricas de Prometheus descartadas que no se envían a CloudWatch porque son de tipo histograma.

Para comprobar si se está descartando alguna métrica, ejecute el siguiente comando:

```
kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
```

Si se está descartando alguna métrica, aparecerán las siguientes líneas en el archivo `/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log`.

```
I! Drop Prometheus metrics with unsupported types. Only Gauge, Counter and Summary are supported.
I! Please enable CWAgent debug mode to view the first 500 dropped metrics
```

Si ve esas líneas y desea saber qué métricas se están descartando, siga estos pasos.

**Para registrar una lista de métricas de Prometheus descartadas**

1. Cambie el agente de CloudWatch al modo de depuración al agregar las siguientes líneas en negrita al archivo `prometheus-eks.yaml` o `prometheus-k8s.yaml`, y guarde el archivo.

   ```
   {
         "agent": {
           "debug": true
         },
   ```

   Esta sección del archivo debería aparecer así:

   ```
   cwagentconfig.json: |
       {
         "agent": {
           "debug": true
         },
         "logs": {
           "metrics_collected": {
   ```

1. Vuelva a instalar el agente de CloudWatch para habilitar el modo de depuración con los siguientes comandos:

   ```
   kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
   kubectl apply -f prometheus.yaml
   ```

   Las métricas descartadas se registran en el pod del agente de CloudWatch.

1. Para recuperar los registros del pod del agente de CloudWatch, ingrese el siguiente comando:

   ```
   kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
   ```

   O bien, si tiene instalado el registro Fluentd de Información de contenedores, los registros también se guardan en el grupo de registro de registros de CloudWatch **/aws/containerinsights/*cluster\$1name*/application**.

   Para consultar estos registros, siga los pasos que se indican en [Pasos generales de solución de problemas en Amazon EKS](#ContainerInsights-Prometheus-troubleshooting-general).

## ¿Dónde se capturan las métricas de Prometheus como eventos de registro de CloudWatch Logs?
<a name="ContainerInsights-Prometheus-troubleshooting-metrics_ingested"></a>

El agente de CloudWatch crea un flujo de registros en la configuración de cada trabajo de raspado de Prometheus. Por ejemplo, en los archivos `prometheus-eks.yaml` y `prometheus-k8s.yaml`, la línea `job_name: 'kubernetes-pod-appmesh-envoy'` raspa las métricas de App Mesh. El destino de Prometheus está definido como `kubernetes-pod-appmesh-envoy`. Por tanto, todas las métricas de Prometheus de App Mesh se ingieren como eventos de CloudWatch Logs en el flujo de registro **kubernetes-pod-appmesh-envoy** bajo el grupo de registros **/aws/containerinsights/cluster-name/Prometheus**.

## No se pueden ver las métricas de Amazon EKS o de Kubernetes Prometheus en las métricas de CloudWatch
<a name="ContainerInsights-Prometheus-troubleshooting-no-metrics"></a>

En primer lugar, asegúrese de que las métricas de Prometheus se están ingiriendo como eventos de registro en el grupo de registros **/aws/containerInsights/nombre-del-clúster/Prometheus**. Utilice la información de [¿Dónde se capturan las métricas de Prometheus como eventos de registro de CloudWatch Logs?](#ContainerInsights-Prometheus-troubleshooting-metrics_ingested) para que le ayude a comprobar el flujo de registro de destino. Si el flujo de registro no se ha creado o no hay nuevos eventos de registro en el flujo, compruebe lo siguiente:
+ Compruebe que los puntos de enlace del exportador de métricas de Prometheus están configurados correctamente.
+ Verifique que las configuraciones de raspado de Prometheus incluidas en la sección `config map: cwagent-prometheus` del archivo YAML del agente de CloudWatch sean correctas. La configuración debe ser la misma que la de un archivo de configuración de Prometheus. Para obtener más información, consulte [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) en la documentación de Prometheus.

Si las métricas de Prometheus se ingieren correctamente como eventos de registro, compruebe que la configuración de formato de métrica integrado se ha agregado a los eventos de registro para generar las métricas de CloudWatch.

```
"CloudWatchMetrics":[
   {
      "Metrics":[
         {
            "Name":"envoy_http_downstream_cx_destroy_remote_active_rq"
         }
      ],
      "Dimensions":[
         [
            "ClusterName",
            "Namespace"
         ]
      ],
      "Namespace":"ContainerInsights/Prometheus"
   }
],
```

Para obtener más información sobre el formato de métrica integrado, consulte [Especificación: Formato de métricas integradas](CloudWatch_Embedded_Metric_Format_Specification.md).

Si no hay ningún formato de métrica integrada en los eventos de registro, verifique que la sección `metric_declaration` esté configurada correctamente en la sección `config map: prometheus-cwagentconfig` del archivo YAML de instalación del agente de CloudWatch. Para obtener más información, consulte [Tutorial para agregar un destino de raspado nuevo de Prometheus: métricas del servidor de la API de Prometheus](ContainerInsights-Prometheus-Setup-configure.md#ContainerInsights-Prometheus-Setup-new-exporters).

# Integración con Información de aplicaciones
<a name="container-insights-appinsights"></a>

Información de aplicaciones de Amazon CloudWatch ayuda a supervisar las aplicaciones e identifica y configura las métricas clave, los registros y las alarmas entre los recursos de aplicaciones y la pila de tecnología. Para obtener más información, consulte [Detecte problemas comunes de aplicaciones con Información de aplicaciones de CloudWatch](cloudwatch-application-insights.md).

Puede habilitar Información de aplicaciones para recopilar datos adicionales de las aplicaciones y microservicios en contenedores. Si aún no lo ha hecho, puede habilitarlo al seleccionar **Configuración automática de Información de aplicaciones** debajo de la vista de rendimiento en el panel de Información de contenedores.

Si ya ha configurado Información de aplicaciones de CloudWatch para supervisar las aplicaciones en contenedores, el panel de Información de aplicaciones aparece debajo del panel de Información de contenedores.

Para obtener más información acerca de Información de aplicaciones y aplicaciones en contenedores, consulte [Habilitación del monitoreo de recursos de Información de aplicaciones para Amazon ECS y Amazon EKS](appinsights-setting-up-console.md#appinsights-container-insights).

# Consulta de los eventos del ciclo de vida de Amazon ECS en Información de contenedores
<a name="container-insights-ECS-lifecycle-events"></a>

Puede ver los eventos del ciclo de vida de Amazon ECS en la consola de Información de contenedores. Esto le ayuda a correlacionar las métricas, los registros y los eventos de sus contenedores en una sola vista para ofrecerle una visibilidad operativa más completa.

Los eventos incluyen eventos de cambio de estado de instancia de contenedor, eventos de cambio de estado de tarea y eventos de acciones de servicio. Amazon ECS los envía automáticamente a Amazon EventBridge y también se recopilan en CloudWatch en formato de registro de eventos. Para obtener más información acerca de estos eventos, consulte [Eventos de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html).

Se aplican los precios estándar de Container Insights para eventos de Amazon ECS Lifecycle. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

Si quiere configurar la tabla de eventos del ciclo de vida y crear reglas para un clúster, debe disponer de los permisos `events:PutRule`, `events:PutTargets` y `logs:CreateLogGroup`. También debe asegurarse de que haya una política de recursos que permita a EventBridge crear el flujo de registros y enviar los registros a los registros de CloudWatch. Si esta política de recursos no existe, puede introducir el siguiente comando para crearla:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Principal": {
        "Service": ["events.amazonaws.com", "delivery.logs.amazonaws.com"]
      },
      "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/events/ecs/containerinsights/*:*",
      "Condition": {
        "StringEquals": {
        "aws:SourceAccount": "111122223333"
        },
        "ArnLike": {
        "aws:SourceArn": "arn:aws:events:us-east-1:111122223333:rule/eventsToLog*"
        }
      },
      "Sid": "TrustEventBridgeToStoreECSLifecycleLogEvents"
    }
  ]
}
```

------

Puede usar el siguiente comando para comprobar si ya dispone de esta política y para confirmar que la asociación funcionó correctamente.

```
aws logs describe-resource-policies --region region --output json
```

Para ver la tabla de los eventos del ciclo de vida, debe disponer de los permisos `events:DescribeRule`, `events:ListTargetsByRule` y `logs:DescribeLogGroups`.

**Cómo ver los eventos del ciclo de vida de Amazon ECS en la consola de Información de contenedores de CloudWatch**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**, **Información de contenedores**.

1. Seleccione **Ver paneles de rendimiento**. 

1. En el siguiente menú desplegable, elija **ECS Clusters** (Clústeres de ECS), **ECS Services** (Servicios de ECS) o **ECS Tasks** (Tareas de ECS).

1. Si elige **ECS Services** (Servicios de ECS) o **ECS Tasks** (Tareas de ECS) en el paso anterior, seleccione la pestaña **Lifecycle events** (Eventos del ciclo de vida).

1. En la parte inferior de la página, si ve **Configure lifecycle events** (Configurar eventos del ciclo de vida), selecciónelo para crear reglas de EventBridge para el clúster.

   Los eventos se muestran debajo de los paneles de información del contenedor y encima de la sección Información de aplicaciones. Para ejecutar análisis adicionales y crear más visualizaciones sobre estos eventos, elija **View in Logs Insights** (Ver en Logs Insights) en la tabla Lifecycle Events (Eventos del ciclo de vida).

# Solución de problemas de Información de contenedores
<a name="ContainerInsights-troubleshooting"></a>

Las siguientes secciones pueden servir de ayuda si está teniendo problemas con Información de contenedores.

## Error de implementación en Amazon EKS o Kubernetes
<a name="ContainerInsights-setup-EKS-troubleshooting-general"></a>

Si el agente no se implementa correctamente en un clúster de Kubernetes, pruebe lo siguiente:
+ Ejecute el siguiente comando para obtener la lista de pods.

  ```
  kubectl get pods -n amazon-cloudwatch
  ```
+ Ejecute el siguiente comando y compruebe los eventos de la parte inferior de la salida.

  ```
  kubectl describe pod pod-name -n amazon-cloudwatch
  ```
+ Ejecute el siguiente comando para comprobar los registros.

  ```
  kubectl logs pod-name -n amazon-cloudwatch
  ```

## Pánico no autorizado: no se puede recuperar datos de cadvisor desde kubelet
<a name="ContainerInsights-setup-EKS-troubleshooting-permissions"></a>

Si su implementación falla con el error `Unauthorized panic: Cannot retrieve cadvisor data from kubelet`, su kubelet podría no tener el modo de autorización Webhook habilitado. Este modo es obligatorio para Información de contenedores. Para obtener más información, consulte [Verificación de los requisitos previos de Información de contenedores en CloudWatch](Container-Insights-prerequisites.md).

## Implementación de Información de contenedores en un clúster que se eliminó y recreó en Amazon ECS
<a name="ContainerInsights-troubleshooting-recreate"></a>

Si elimina un clúster de Amazon ECS existente que no tiene habilitado Información de contenedores y lo vuelve a crear con el mismo nombre, no podrá habilitar Información de contenedores en ese nuevo clúster en el momento de volver a crearlo. Puede habilitarlo si lo vuelve a crear y, a continuación, escribe el siguiente comando:

```
aws ecs update-cluster-settings --cluster myCICluster --settings name=container Insights,value=enabled
```

## Error de punto de enlace inválido
<a name="ContainerInsights-setup-invalid-endpoint"></a>

Si aparece un mensaje de error similar al siguiente, compruebe que ha reemplazado todos los marcadores de posición, como *nombre-clúster* y *nombre-región*, por la información correcta para la implementación en los comandos que utiliza.

```
"log": "2020-04-02T08:36:16Z E! cloudwatchlogs: code: InvalidEndpointURL, message: invalid endpoint uri, original error: &url.Error{Op:\"parse\", URL:\"https://logs.{{region_name}}.amazonaws.com/\", Err:\"{\"}, &awserr.baseError{code:\"InvalidEndpointURL\", message:\"invalid endpoint uri\", errs:[]error{(*url.Error)(0xc0008723c0)}}\n",
```

## Las métricas no aparecen en la consola
<a name="ContainerInsights-setup-EKS-troubleshooting-nometrics"></a>

Si no ve ningún métrica de Información de contenedores en la Consola de administración de AWS, asegúrese de haber completado la configuración de Información de contenedores. Las métricas no aparecen antes de haber configurado por completo Información de contenedores. Para obtener más información, consulte [Configuración de Información de contenedores](deploy-container-insights.md).

## Faltan métricas de pod en Amazon EKS o en Kubernetes después de actualizar el clúster
<a name="ContainerInsights-troubleshooting-podmetrics-missing"></a>

Esta sección puede ser útil si faltan todas o algunas métricas de pod después de implementar el agente de CloudWatch como un conjunto de daemons en un clúster nuevo o actualizado, o si ve un registro de errores con el mensaje `W! No pod metric collected`.

Estos errores pueden deberse a cambios en el tiempo de ejecución del contenedor, como containerd o el controlador docker systemd cgroup. Por lo general, puede resolverlo mediante la actualización del manifiesto de implementación para que el socket containerd del host esté montado en el contenedor. Vea el siguiente ejemplo:

```
# For full example see https://github.com/aws-samples/amazon-cloudwatch-container-insights/blob/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: cloudwatch-agent
  namespace: amazon-cloudwatch
spec:
  template:
    spec:
      containers:
        - name: cloudwatch-agent
# ...
          # Don't change the mountPath
          volumeMounts:
# ...
            - name: dockersock
              mountPath: /var/run/docker.sock
              readOnly: true
            - name: varlibdocker
              mountPath: /var/lib/docker
              readOnly: true
            - name: containerdsock # NEW mount
              mountPath: /run/containerd/containerd.sock
              readOnly: true
# ...
      volumes:
# ...
        - name: dockersock
          hostPath:
            path: /var/run/docker.sock
        - name: varlibdocker
          hostPath:
            path: /var/lib/docker
        - name: containerdsock # NEW volume
          hostPath:
            path: /run/containerd/containerd.sock
```

## No hay métricas de pod cuando se utiliza Bottlerocket para Amazon EKS
<a name="ContainerInsights-troubleshooting-bottlerocket"></a>

Bottlerocket es un sistema operativo de código abierto basado en Linux que está diseñado específicamente por AWS para ejecutar contenedores. 

Bottlerocket utiliza una ruta diferente `containerd` en el host, por lo que debe cambiar los volúmenes a la ubicación. De lo contrario, aparece un error en los registros que incluye `W! No pod metric collected`. Consulte el siguiente ejemplo.

```
volumes:
  # ... 
    - name: containerdsock
      hostPath:
        # path: /run/containerd/containerd.sock
        # bottlerocket does not mount containerd sock at normal place
        # https://github.com/bottlerocket-os/bottlerocket/commit/91810c85b83ff4c3660b496e243ef8b55df0973b
        path: /run/dockershim.sock
```

## No hay métricas del sistema de archivos de contenedor cuando se utiliza el tiempo de ejecución containerd para Amazon EKS o Kubernetes
<a name="ContainerInsights-troubleshooting-containerd"></a>

Se trata de un problema conocido y los colaboradores de la comunidad lo están tratando. Para obtener más información, consulte [Disk usage metric for containerd](https://github.com/google/cadvisor/issues/2785) (Métrica de uso de disco para containerd) y [container file system metrics is not supported by cadvisor for containerd](https://github.com/aws/amazon-cloudwatch-agent/issues/192) (métricas del sistema de archivos de contenedor no son compatibles con cadvisor para containerd) en GitHub.

## Aumento inesperado del volumen de registro del agente de CloudWatch al recopilar métricas de Prometheus
<a name="ContainerInsights-troubleshooting-log-volume-increase"></a>

Esta fue una regresión que se presentó en la versión 1.247347.6b250880 del agente CloudWatch. Esta regresión ya se ha corregido en versiones más recientes del agente. Su impacto se limitó a situaciones en las que los clientes recopilaban los registros del propio agente de CloudWatch y también utilizaban Prometheus. Para obtener más información, consulte [[prometheus] agent is printing all the scraped metrics in log](https://github.com/aws/amazon-cloudwatch-agent/issues/209) ([prometheus] el agente está imprimiendo todas las métricas raspadas en el registro) en GitHub.

## La última imagen de docker mencionada en las notas de la versión que no se encontró en Dockerhub
<a name="ContainerInsights-troubleshooting-docker-image"></a>

Hemos actualizado la nota de la versión y la etiqueta en Github antes de comenzar la versión real internamente. Por lo general, toma 1 o 2 semanas ver la última imagen de docker en los registros después de que se actualizó el número de versión en Github. No hay ninguna versión nocturna para la imagen del contenedor del agente de CloudWatch. Puede crear la imagen directamente desde la fuente en la siguiente ubicación: [https://github.com/aws/amazon-cloudwatch-agent/tree/main/amazon-cloudwatch-container-insights/cloudwatch-agent-dockerfile](https://github.com/aws/amazon-cloudwatch-agent/tree/main/amazon-cloudwatch-container-insights/cloudwatch-agent-dockerfile)

## Error de CrashLoopBackoff en el agente de CloudWatch
<a name="ContainerInsights-troubleshooting-crashloopbackoff"></a>

Si ve un error `CrashLoopBackOff` del agente de CloudWatch, asegúrese de que los permisos de IAM estén establecidos correctamente. Para obtener más información, consulte [Verificación de los requisitos previos de Información de contenedores en CloudWatch](Container-Insights-prerequisites.md).

## Agente de CloudWatch o pod FluentD bloqueado en pendiente
<a name="ContainerInsights-troubleshooting-pending"></a>

Si dispone de un agente de CloudWatch o un pod Fluentd bloqueado en `Pending` o con un error `FailedScheduling`, determine si los nodos tienen suficientes recursos informáticos en función del número de núcleos y la cantidad de RAM que necesitan los agentes. Especifique el siguiente comando para describir el pod:

```
kubectl describe pod cloudwatch-agent-85ppg -n amazon-cloudwatch
```

# Creación de su propia imagen de Docker del agente de CloudWatch
<a name="ContainerInsights-build-docker-image"></a>

Puede crear su propia imagen de Docker del agente de CloudWatch mediante una referencia al Dockerfile ubicado en [https://github.com/aws-samples/amazon-cloudwatch-container-insights/blob/latest/cloudwatch-agent-dockerfile/Dockerfile](https://github.com/aws-samples/amazon-cloudwatch-container-insights/blob/latest/cloudwatch-agent-dockerfile/Dockerfile).

Dockerfile admite la creación de imágenes multiarquitectura directamente con `docker buildx`.

# Implementación de otras características del agente de CloudWatch en los contenedores
<a name="ContainerInsights-other-agent-features"></a>

Puede implementar otras características de supervisión en los contenedores con el agente de CloudWatch. Estas son algunas de ellas:
+ **Formato de métricas integradas**: para obtener más información, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).
+ **StatsD**: para obtener más información, consulte [Recuperación de las métricas personalizadas con StatsD](CloudWatch-Agent-custom-metrics-statsd.md).

Las instrucciones y los archivos necesarios se encuentran en las siguientes ubicaciones de GitHub:
+ En el caso de los contenedores de Amazon ECS, consulte [Example Amazon ECS task definitions based on deployment modes](https://github.com/aws-samples/amazon-cloudwatch-container-insights/tree/latest/ecs-task-definition-templates/deployment-mode) (Ejemplo de definiciones de tareas de Amazon ECS basadas en modos de implementación).
+ En el caso de los contenedores de Amazon EKS y de Kubernetes, consulte [Example Kubernetes YAML files based on deployment modes](https://github.com/aws-samples/amazon-cloudwatch-container-insights/tree/latest/k8s-deployment-manifest-templates/deployment-mode) (Ejemplo de archivos de YAML de Kubernetes basados en modos de implementación).

# Lambda Insights
<a name="Lambda-Insights"></a>

CloudWatch Lambda Insights es una solución de supervisión y solución de problemas para aplicaciones sin servidor que se ejecutan en AWS Lambda. La solución recopila, agrega y resume las métricas del sistema, incluido el tiempo de la CPU, la memoria, el disco y el uso de red. También recopila, agrega y resume información de diagnóstico como inicios en frío y paradas de trabajo de Lambda para ayudarlo a aislar problemas con las funciones de Lambda y resolverlos rápidamente.

Lambda Insights utiliza una extensión nueva de CloudWatch Lambda que se proporciona como una capa de Lambda. Cuando instale la extensión en una función de Lambda, esta recopila métricas del sistema y emite un único evento de registro de rendimiento para cada vez que utilice esa función de Lambda. CloudWatch utiliza el formato de métrica incrustado para extraer métricas de los eventos de registro.

**nota**  
El agente Lambda Insights solo se admite en los tiempos de ejecución de Lambda que utilizan Amazon Linux 2 y Amazon Linux 2023.

Para obtener más información acerca de las extensiones Lambda, consulte [ Uso de extensiones AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html). Para obtener más información sobre el formato de métrica integrado, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).

Puede utilizar Lambda Insights con cualquier función de Lambda que utilice un tiempo de ejecución de Lambda que admita extensiones de Lambda. Para obtener una lista de los tiempos de ejecución, consulte [Lambda Extensions API](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-extensions-api.html) (Extensiones de la API de Lambda).

**Precios**

De cada función de Lambda habilitada para Lambda Insights, solo paga por lo que usa para métricas y registros. Para obtener más información sobre los precios, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

Se le cobra por el tiempo de ejecución que la extensión de Lambda consumió en incrementos de 1 ms. Para obtener más información acerca de los precios de Lambda, consulte [Precios de AWS Lambda](https://aws.amazon.com/lambda/pricing/).

# Introducción a Lambda Insights
<a name="Lambda-Insights-Getting-Started"></a>

Para habilitar Lambda Insights en una función de Lambda, puede utilizar un interruptor de un clic en la consola de Lambda. También puede utilizar AWS CLI, CloudFormation, la CLI de AWS Serverless Application Model o AWS Cloud Development Kit (AWS CDK). 

En las siguientes secciones se proporcionan instrucciones detalladas para estos pasos.

**Topics**
+ [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md)
+ [Uso de la consola para habilitar Lambda Insights en una función de Lambda existente](Lambda-Insights-Getting-Started-console.md)
+ [Habilite Lambda Insights en una función de Lambda existente con la AWS CLI](Lambda-Insights-Getting-Started-cli.md)
+ [Habilite Lambda Insights en una función de Lambda existente con la CLI de AWS SAM](Lambda-Insights-Getting-Started-SAM-CLI.md)
+ [Habilite Lambda Insights en una función de Lambda existente con CloudFormation](Lambda-Insights-Getting-Started-cloudformation.md)
+ [Habilite Lambda Insights en una función de Lambda existente con el AWS CDK](Lambda-Insights-Getting-Started-clouddevelopmentkit.md)
+ [Habilite Lambda Insights en una función de Lambda existente con Serverless Framework](Lambda-Insights-Getting-Started-serverless.md)
+ [Habilite Lambda Insights en una implementación de imágenes de contenedor de Lambda](Lambda-Insights-Getting-Started-docker.md)
+ [Actualización de la versión de la extensión Lambda Insights en una función](Lambda-Insights-Update-Extension.md)

# Versiones disponibles de la extensión de Lambda Insights
<a name="Lambda-Insights-extension-versions"></a>

En esta sección se enumeran las versiones de la extensión de Lambda Insights y los ARN que se utilizan para estas extensiones en cada Región de AWS.

**Topics**
+ [plataformas x86-64](Lambda-Insights-extension-versionsx86-64.md)
+ [Plataformas ARM64](Lambda-Insights-extension-versionsARM.md)

# plataformas x86-64
<a name="Lambda-Insights-extension-versionsx86-64"></a>

En esta sección se enumeran las versiones de la extensión de Lambda Insights para plataformas x84-64 y los ARN que se utilizan para estas extensiones en cada región de AWS.

**importante**  
Las extensiones 1.0.317.0 y posteriores de Lambda Insights no son compatibles con Amazon Linux 1.

## 1.0.660.0
<a name="Lambda-Insights-extension-1.0.660.0"></a>

La versión 1.0.660.0 incluye el soporte de la extensión Lambda Insights para las funciones de Lambda que se ejecutan en instancias administradas de Lambda. En el caso de las funciones que se ejecutan en instancias administradas de Lambda, la extensión enviará un evento de registro de EMF una vez cada minuto y creará 12 métricas de CloudWatch con una granularidad de un minuto.

**ARN para la versión 1.0.660.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:56`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:56`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:38`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:40`  | 
|  Asia-Pacífico (Malasia) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:13`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:33`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:62`  | 
|  Asia-Pacífico (Nueva Zelanda) |  `arn:aws:lambda:ap-southeast-6:727646510379:layer:LambdaInsightsExtension:6`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:45`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:63`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Asia-Pacífico (Taipéi) |  `arn:aws:lambda:ap-east-2:145023102084:layer:LambdaInsightsExtension:13`  | 
|  Asia-Pacífico (Tailandia) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:13`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:91`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:63`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:25`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:51`  | 
|  China (Ningxia) |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:51`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:56`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:63`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:40`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:61`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:39`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:33`  | 
|  México (centro) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:13`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:56`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:39`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:63`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:24`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:24`  | 

## 1.0.498.0
<a name="Lambda-Insights-extension-1.0.498.0"></a>

La versión 1.0.498.0 incluye correcciones de errores y mejoras de rendimiento.

**ARN para la versión 1.0.498.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:52`  | 
|  Asia-Pacífico (Tailandia) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:8`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:52`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:34`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:36`  | 
|  Asia-Pacífico (Malasia) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:9`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:29`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:58`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:41`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:59`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:87`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:59`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:21`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:48`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:48`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:52`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:59`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:36`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:57`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:35`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:29`  | 
|  México (centro) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:8`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:52`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:35`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:59`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:24`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:24`  | 
|  Asia-Pacífico (Nueva Zelanda) |  `arn:aws:lambda:ap-southeast-6:727646510379:layer:LambdaInsightsExtension:1`  | 
|  Asia-Pacífico (Taipéi) |  `arn:aws:lambda:ap-east-2:145023102084:layer:LambdaInsightsExtension:8`  | 

## 1.0.404.0
<a name="Lambda-Insights-extension-1.0.404.0"></a>

La versión 1.0.404.0 reduce el tamaño binario de la extensión Lambda Insights de \$110 MB a \$16 MB y, posteriormente, reduce el tamaño del zip de la capa de extensión de Lambda Insights de \$14 MB a \$12,7 MB. También reduce el consumo total de memoria del agente de \$110 MB a \$17 MB.

**ARN para la versión 1.0.404.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:47`  | 
|  Asia-Pacífico (Tailandia) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:3`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:47`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:29`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:33`  | 
|  Asia-Pacífico (Malasia) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:4`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:24`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:37`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:83`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:16`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:46`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:46`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:47`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:31`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:30`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:23`  | 
|  México (centro) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:3`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:47`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:30`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:24`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:24`  | 

## 1.0.391.0
<a name="Lambda-Insights-extension-1.0.391.0"></a>

**importante**  
La versión 1.0.391.0 cambia la forma en que Lambda Insights recopila e informa sobre el uso de subprocesos. En versiones anteriores de la extensión, la métrica `threads_max` informaba sobre el número máximo de subprocesos que se ejecutan en el proceso con el identificador de proceso de 1. A partir de la versión 1.0.391.0, esta métrica informa sobre el número máximo de subprocesos que se estaban ejecutando en cualquier momento de la ejecución de la función, en todos los procesos del entorno de ejecución. Esto incluye los procesos de la función de Lambda, los procesos de las extensiones, los procesos específicos del sistema/tiempo de ejecución, etc. Esto hace que la métrica `threads_max` sea más completa y, al mismo tiempo, evalúa los subprocesos restantes que quedan para su uso. Para obtener más información sobre las cuotas de procesos y subprocesos, consulte [Cuotas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

La versión 1.0.391.0 también agrega compatibilidad con las regiones de Asia-Pacífico (Tailandia) y México (centro).

**ARN para la versión 1.0.391.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:46`  | 
|  Asia-Pacífico (Tailandia) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:46`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:28`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:32`  | 
|  Asia-Pacífico (Malasia) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:3`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:23`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:36`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:82`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:15`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:45`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:45`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:46`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:30`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:29`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:23`  | 
|  México (centro) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:2`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:46`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:29`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:54`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:23`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:23`  | 

## 1.0.333.0
<a name="Lambda-Insights-extension-1.0.333.0"></a>

La versión 1.0.333.0 incluye correcciones de errores.

**ARN para la versión 1.0.333.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:44`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:44`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:26`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:30`  | 
|  Asia-Pacífico (Malasia) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:1`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:21`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:34`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:80`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:13`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:43`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:43`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:44`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:28`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:27`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:21`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:44`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:27`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:21`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:21`  | 

## 1.0.317.0
<a name="Lambda-Insights-extension-1.0.317.0"></a>

En la versión 1.0.317.0 se retira la compatibilidad con la plataforma Amazon Linux 1 y se corrigen errores. También se admiten las regiones de AWS GovCloud (US).

**ARN para la versión 1.0.317.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:43`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:43`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:25`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:29`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:20`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:33`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:79`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:12`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:42`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:42`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:43`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:27`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:26`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:20`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:43`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:26`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:19`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:19`  | 

## 1.0.295.0
<a name="Lambda-Insights-extension-1.0.295.0"></a>

La versión 1.0.295.0 incluye actualizaciones de dependencias para todos los tiempos de ejecución compatibles.

**ARN para la versión 1.0.295.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:42`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:42`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:24`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:28`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:19`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:32`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:78`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:11`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:41`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:41`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:42`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:26`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:25`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:19`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:42`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:25`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:50`  | 

## 1.0.275.0
<a name="Lambda-Insights-extension-1.0.275.0"></a>

La versión 1.0.275.0 incluye actualizaciones de dependencias importantes para todos los tiempos de ejecución compatibles.

**ARN para la versión 1.0.275.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:40`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:40`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:22`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:26`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:17`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:47`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:30`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:76`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:9`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:39`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:39`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:40`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:24`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:46`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:23`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:17`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:40`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:23`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:48`  | 

## 1.0.273.0
<a name="Lambda-Insights-extension-1.0.273.0"></a>

La versión 1.0.273.0 incluye importantes correcciones de errores para todos los tiempos de ejecución compatibles y agrega compatibilidad con la región Oeste de Canadá (Calgary).

**ARN para la versión 1.0.273.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:35`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:35`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:17`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:21`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:12`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:43`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:26`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:44`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:72`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:44`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:4`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:36`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:36`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:35`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:44`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:19`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:42`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:17`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:12`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:35`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:18`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:44`  | 

## 1.0.229.0
<a name="Lambda-Insights-extension-1.0.229.0"></a>

La versión 1.0.229.0 incluye importantes correcciones de errores para todos los tiempos de ejecución compatibles y añade compatibilidad con la región de Israel (Tel Aviv).

**ARN para la versión 1.0.229.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:28`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:28`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:10`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:14`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:5`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:36`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:19`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:37`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:37`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:29`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:29`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:28`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:37`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:12`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:35`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:11`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:5`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:28`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:11`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:37`  | 

## 1.0.178.0
<a name="Lambda-Insights-extension-1.0.178.0"></a>

La versión 1.0.178.0 agrega compatibilidad con las siguientes regiones de AWS. 
+ Asia-Pacífico (Hyderabad)
+ Asia-Pacífico (Yakarta)
+ Europa (España)
+ Europa (Zúrich)
+ Medio Oriente (EAU)

**ARN para la versión 1.0.178.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:35`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:25`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:25`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:8`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:31`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:32`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:32`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:26`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:26`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:35`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:25`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:32`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:10`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:30`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:7`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:25`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:9`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:32`  | 

## 1.0.143.0
<a name="Lambda-Insights-extension-1.0.143.0"></a>

La versión 1.0.143.0 incluye correcciones de errores de compatibilidad con Python 3.7 y Go 1.x. El tiempo de ejecución de Python 3.6 Lambda está en desuso. Para obtener más información, consulte [Tiempos de ejecución de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).

**ARN para la versión 1.0.143.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:13`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:13`  | 
|  Asia-Pacífico (Bombay) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:32`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:20`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:14`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:14`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:13`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:13`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:20`  | 

## 1.0.135.0
<a name="Lambda-Insights-extension-1.0.135.0"></a>

La versión 1.0.135.0 incluye correcciones de errores sobre la forma en que Lambda Insights recopila e informa datos sobre el uso del descriptor de discos y archivos. En versiones anteriores de la extensión, la métrica `tmp_free` informó el espacio libre máximo en el directorio `/tmp` mientras se ejecuta una función. Esta versión cambia la métrica para que informe, en cambio, el valor mínimo, lo que la hace más útil a la hora de evaluar el uso del disco. Para obtener más información sobre las cuotas de almacenamiento del directorio `tmp`, consulte [Cuotas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

La versión 1.0.135.0 también informa ahora el uso del descriptor de archivos (`fd_use` y `fd_max`) como el valor máximo en todos los procesos, en lugar de informar el nivel del sistema operativo. 

**ARN para la versión 1.0.135.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Bombay) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:1`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:25`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:11`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:11`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:11`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:11`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:18`  | 

## 1.0.119.0
<a name="Lambda-Insights-extension-1.0.119.0"></a>

**ARN para la versión 1.0.119.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:9`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:9`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:23`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:9`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:9`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:9`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:9`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:16`  | 

## 1.0.98.0
<a name="Lambda-Insights-extension-1.0.98.0"></a>

En esta versión se elimina el registro innecesario y también se soluciona un problema con las invocaciones locales de la CLI de AWS Serverless Application Model. Para obtener más información acerca de este problema, consulte [Adding results in timeout with 'sam local invoke'](https://github.com/aws/aws-sam-cli/issues/2469) (La adición de LambdaInsightsExtension da como resultado tiempo de espera con 'invocación local sam').

**ARN para la versión 1.0.98.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:8`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:8`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:8`  | 
|  China (Ningxia); |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:8`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:8`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:8`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:14`  | 

## 1.0.89.0
<a name="Lambda-Insights-extension-1.0.89.0"></a>

Esta versión corrige la marca de tiempo del evento de rendimiento para representar siempre el comienzo de la invocación de la función.

**ARN para la versión 1.0.89.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asia-Pacífico (Bombay) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:12`  | 

## 1.0.86.0
<a name="Lambda-Insights-extension-1.0.86.0"></a>

Con la versión 1.0.54.0 de la extensión, algunas veces las métricas de la memoria se notificaron incorrectamente y, otras veces, eran superiores al 100 %. La versión 1.0.86.0 corrige el problema de medición de la memoria al utilizar los mismos datos de eventos que las métricas de la plataforma de Lambda. Esto significa que puede ver un cambio drástico en los valores registrados de la métrica de memoria. Esto se logra mediante el uso de la nueva API de Lambda Logs. Esto proporciona una medición más precisa del uso de la memoria de entorno de pruebas de Lambda. Sin embargo, hay que tener en cuenta que la API de Lambda Logs no puede entregar eventos de informes de la plataforma si el tiempo de espera de la función entorno de pruebas se agota y, por lo tanto, se cierra. En este caso. Lambda Insights no puede registrar las métricas de invocación. Para obtener más información acerca de la API de Lambda Logs, consulte [AWSLambda Logs API](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-logs-api.html).

**Características nuevas en la versión 1.0.86.0**
+ Utiliza la API de Lambda Logs para corregir la métrica de la memoria. Esto resuelve el problema anterior en el que las estadísticas de la memoria eran superiores al 100 %.
+ Presenta `Init Duration` como una nueva métrica de CloudWatch.
+ Utiliza los ARN de invocación para agregar una dimensión **version** (versión) para alias y versiones invocadas. Si utiliza alias o versiones de Lambda para lograr implementaciones progresivas (como implementaciones azul-verde), puede ver las métricas mediante el alias invocado. La dimensión **version** (versión) no se aplica si la función no utiliza un alias o una versión. Para obtener más información, consulte [Alias de la función de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html).
+ Agrega un `billed_mb_ms field` a los eventos de rendimiento para mostrar el coste por invocación. Esto no tiene en cuenta ningún coste asociado con la simultaneidad aprovisionada.
+ Agrega los campos `billed_duration` y `duration` a los eventos de rendimiento.

**ARN para la versión 1.0.86.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Bombay) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:11`  | 

## 1.0.54.0
<a name="Lambda-Insights-extension-1.0.54.0"></a>

La versión 1.0.54.0 fue la versión inicial de la extensión de Lambda Insights.

**ARN para la versión 1.0.54.0**

En la siguiente tabla se muestran los ARN que se deben utilizar para esta versión de la extensión en cada Región de AWS en la que está disponible.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Bombay) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:2`  | 

# Plataformas ARM64
<a name="Lambda-Insights-extension-versionsARM"></a>

En esta sección se enumeran las versiones de la extensión de Lambda Insights para plataformas ARM64 y los ARN que se utilizan para estas extensiones en cada región de AWS.

**importante**  
Las extensiones 1.0.317.0 y posteriores de Lambda Insights no son compatibles con Amazon Linux 1.

## 1.0.660.0
<a name="Lambda-Insights-extension-ARM-1.0.660.0"></a>

La versión 1.0.660.0 incluye el soporte de la extensión Lambda Insights para las funciones de Lambda que se ejecutan en instancias administradas de Lambda. En el caso de las funciones que se ejecutan en instancias administradas de Lambda, la extensión enviará un evento de registro de EMF una vez cada minuto y creará 12 métricas de CloudWatch con una granularidad de un minuto.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:33`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asia-Pacífico (Malasia) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:33`  | 
|  Asia-Pacífico (Nueva Zelanda) |  `arn:aws:lambda:ap-southeast-6:727646510379:layer:LambdaInsightsExtension-Arm64:165`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:28`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Asia-Pacífico (Taipéi) |  `arn:aws:lambda:ap-east-2:145023102084:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asia-Pacífico (Tailandia) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:42`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension-Arm64:7`  | 
|  China (Pekín) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension-Arm64:4`  | 
|  China (Ningxia) |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension-Arm64:7`  | 
|  México (centro) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension-Arm64:7`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:6`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:6`  | 

## 1.0.498.0
<a name="Lambda-Insights-extension-ARM-1.0.498.0"></a>

La versión 1.0.498.0 incluye correcciones de errores y mejoras de rendimiento.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asia-Pacífico (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Asia-Pacífico (Malasia) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Asia-Pacífico (Tailandia) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:38`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:24`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Oeste de Canadá (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Europa (Zúrich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Israel (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension-Arm64:3`  | 
|  México (centro) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Medio Oriente (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension-Arm64:3`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  China (Beijing) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension-Arm64:1`  | 
|  China (Ningxia) |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension-Arm64:1`  | 
|  AWS GovCloud (EE. UU. Este) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:6`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:6`  | 

## 1.0.404.0
<a name="Lambda-Insights-extension-ARM-1.0.404.0"></a>

La versión 1.0.404.0 reduce el tamaño binario de la extensión Lambda Insights de unos 9 MB a unos 5 MB y, posteriormente, reduce el tamaño del zip de la capa de extensión de Lambda Insights de unos 3,7 MB a unos 2,5 MB. También reduce el consumo total de memoria del agente de \$111 MB a \$17 MB.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:34`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:21`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:6`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:6`  | 

## 1.0.391.0
<a name="Lambda-Insights-extension-ARM-1.0.391.0"></a>

**importante**  
La versión 1.0.391.0 cambia la forma en que Lambda Insights recopila e informa sobre el uso de subprocesos. En versiones anteriores de la extensión, la métrica `threads_max` informaba sobre el número máximo de subprocesos que se ejecutan en el proceso con el identificador de proceso de 1. A partir de la versión 1.0.391.0, esta métrica informa sobre el número máximo de subprocesos que se estaban ejecutando en cualquier momento de la ejecución de la función, en todos los procesos del entorno de ejecución. Esto incluye los procesos de la función de Lambda, los procesos de las extensiones, los procesos específicos del sistema/tiempo de ejecución, etc. Esto hace que la métrica `threads_max` sea más completa y, al mismo tiempo, evalúa los subprocesos restantes que quedan para su uso. Para obtener más información sobre las cuotas de procesos y subprocesos, consulte [Cuotas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:24`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:8`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:24`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:33`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:8`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:20`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:5`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:5`  | 

## 1.0.333.0
<a name="Lambda-Insights-extension-ARM-1.0.333.0"></a>

La versión 1.0.333.0 incluye correcciones de errores.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:6`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:6`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:18`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:3`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:3`  | 

## 1.0.317.0
<a name="Lambda-Insights-extension-ARM-1.0.317.0"></a>

En la versión 1.0.317.0 se retira la compatibilidad con la plataforma Amazon Linux 1 y se corrigen errores. También se admiten las regiones de AWS GovCloud (US).


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:17`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  AWS GovCloud (Este de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:1`  | 
|  AWS GovCloud (Oeste de EE. UU.) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:1`  | 

## 1.0.295.0
<a name="Lambda-Insights-extension-ARM-1.0.295.0"></a>

La versión 1.0.295.0 incluye actualizaciones de dependencias para todos los tiempos de ejecución compatibles.


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:15`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:16`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 

## 1.0.275.0
<a name="Lambda-Insights-extension-ARM-1.0.275.0"></a>

La versión 1.0.275.0 incluye correcciones de errores para todos los tiempos de ejecución compatibles y compatibilidad con las regiones de Europa (España) y Asia Pacífico (Hyderabad). 


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asia-Pacífico (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:13`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:15`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:14`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 

## 1.0.273.0
<a name="Lambda-Insights-extension-ARM-1.0.273.0"></a>

La versión 1.0.273.0 incluye correcciones de errores para todos los tiempos de ejecución compatibles. 


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:11`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Europa (Milán) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:9`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 

## 1.0.229.0
<a name="Lambda-Insights-extension-ARM-1.0.229.0"></a>

La versión 1.0.229.0 incluye correcciones de errores para todos los tiempos de ejecución compatibles. También añade compatibilidad con las siguientes regiones: 
+ Oeste de EE. UU. (Norte de California)
+ África (Ciudad del Cabo)
+ Asia-Pacífico (Hong Kong)
+ Asia-Pacífico (Yakarta)
+ Asia-Pacífico (Osaka)
+ Asia-Pacífico (Seúl)
+ Canadá (Centro)
+ Europa (Milán)
+ Europa (París)
+ Europa (Estocolmo)
+ Medio Oriente (Baréin)
+ América del Sur (São Paulo)


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Oeste de EE. UU. (Norte de California) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  África (Ciudad del Cabo) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Yakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asia-Pacífico (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Seúl) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:11`  | 
|  Canadá (centro) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europa (España) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europa (París) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europa (Estocolmo) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Medio Oriente (Baréin) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:2`  | 
|  América del Sur (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 

## 1.0.135.0
<a name="Lambda-Insights-extension-ARM-1.0.135.0"></a>

La versión 1.0.135.0 incluye correcciones de errores sobre la forma en que Lambda Insights recopila e informa datos sobre el uso del descriptor de discos y archivos. En versiones anteriores de la extensión, la métrica `tmp_free` informó el espacio libre máximo en el directorio `/tmp` mientras se ejecuta una función. Esta versión cambia la métrica para que informe, en cambio, el valor mínimo, lo que la hace más útil a la hora de evaluar el uso del disco. Para obtener más información sobre las cuotas de almacenamiento del directorio `tmp`, consulte [Cuotas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

La versión 1.0.135.0 también informa ahora el uso del descriptor de archivos (`fd_use` y `fd_max`) como el valor máximo en todos los procesos, en lugar de informar el nivel del sistema operativo. 


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 

## 1.0.119.0
<a name="Lambda-Insights-extension-ARM-1.0.119.0"></a>


| Región | ARN | 
| --- | --- | 
|  Este de EE. UU. (Norte de Virginia) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Este de EE. UU. (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Oeste de EE. UU. (Oregón) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asia-Pacífico (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asia-Pacífico (Singapur) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asia-Pacífico (Sídney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asia-Pacífico (Tokio) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Europa (Fráncfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Europa (Irlanda) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Europa (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 

# Uso de la consola para habilitar Lambda Insights en una función de Lambda existente
<a name="Lambda-Insights-Getting-Started-console"></a>

 Siga estos pasos en la consola de Lambda para habilitar Lambda Insights en una función de Lambda existente. 

**Cómo habilitar Lambda Insights en una función de Lambda**

1. Abra la consola de AWS Lambda en [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1.  Elija el nombre de una función y, a continuación, seleccione la pestaña **Configuration** (Configuración) en la siguiente pantalla. 

1.  En la pestaña **Configuración**, elija **Herramientas de supervisión y operaciones** en el menú de navegación izquierdo y, a continuación, elija **Editar**. 

    Esto lo llevará a una pantalla en la que puede editar las herramientas de supervisión. 

1. En **Supervisión mejorada de Lambda Insights,** elija **Editar**.

1. En la sección **CloudWatch Lambda Insights**, habilite **Supervisión mejorada** y, a continuación, elija **Guardar**. 

# Habilite Lambda Insights en una función de Lambda existente con la AWS CLI
<a name="Lambda-Insights-Getting-Started-cli"></a>

Siga estos pasos para utilizar la AWS CLI para habilitar Lambda Insights en una función de Lambda existente.

**Paso 1: actualice los permisos de la función**

**Para actualizar los permisos de la función**
+ Adjunte la politíca de IAM administrada **CloudWatchLambdaInsightsExecutionRolePolicy** al rol de ejecución de la función mediante el ingreso del siguiente comando. 

  ```
  aws iam attach-role-policy \
  --role-name function-execution-role \
  --policy-arn "arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy"
  ```

**Paso 2: instale la extensión de Lambda**

Instale la extensión de Lambda con el siguiente comando. Reemplace el valor ARN para el parámetro `layers` con el ARN que concuerde con su Región y la versión de extensión que desea utilizar. Para obtener más información, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

```
aws lambda update-function-configuration \
   --function-name function-name \
   --layers "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14"
```

**Paso 3: habilite el punto de conexión de VPC de CloudWatch Logs**

Este paso sólo es necesario para las funciones que se ejecutan en una subred privada sin acceso a Internet y si aún no ha configurado un punto de enlace de la virtual private cloud (VPC) de CloudWatch Logs.

Si necesita realizar este paso, ingrese el siguiente comando, lo que reemplaza los espacios disponibles con información para la VPC.

Para obtener más información, consulte [Using CloudWatch Logs with Interface VPC Endpoints](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html) (Uso de CloudWatch Logs con puntos de enlace de la VPC de tipo interfaz).

```
aws ec2 create-vpc-endpoint \
--vpc-id vpcId \
--vpc-endpoint-type Interface \
--service-name com.amazonaws.region.logs \
--subnet-id subnetId 
--security-group-id securitygroupId
```

# Habilite Lambda Insights en una función de Lambda existente con la CLI de AWS SAM
<a name="Lambda-Insights-Getting-Started-SAM-CLI"></a>

Siga estos pasos para utilizar la AWS CLI de AWS SAM para habilitar Lambda Insights en una función de Lambda existente.

Si aún no instaló la última versión de la CLI de AWS SAM, primero debe instalarla o actualizarla. Para obtener más información, consulte [ Instalación de la CLI de AWS SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html).

**Paso 1: instale la capa**

Para que la extensión Lambda Insights esté disponible para todas las funciones de Lambda, agregue una propiedad `Layers` a la sección `Globals` de la plantilla SAM con el ARN de la capa de Lambda Insights. En el siguiente ejemplo se utiliza la capa para la versión inicial de Lambda Insights. Para obtener la versión más reciente de la capa de extensión de Lambda Insights, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

```
Globals:
  Function:
    Layers:
      - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

Para habilitar esta capa para una sola función, agregue la propiedad `Layers` a la función como se muestra en este ejemplo.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

**Paso 2: agregue la política administrada**

Para cada función, agregue la política de IAM **CloudWatchLambdaInsightsExecutionRolePolicy**.

AWS SAM no es compatible con políticas globales, por lo que debe habilitar las de cada función de manera individual, como se muestra en este ejemplo. Para obtener más información acerca de las globales, consulte [Globals Section](https://github.com/aws/serverless-application-model/blob/master/docs/globals.rst) (Sección de globales). 

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Policies:
        - CloudWatchLambdaInsightsExecutionRolePolicy
```

**Invocaciones locales**

La CLI de AWS SAM admite extensiones Lambda. Sin embargo, cada invocación ejecutada localmente restablece el entorno en tiempo de ejecución. Los datos de Lambda Insights no estarán disponibles desde las invocaciones locales porque el tiempo de ejecución se reinicia sin un evento de cierre. Para obtener más información, consulte [Versión 1.6.0: agregar compatibilidad con las pruebas locales de las extensiones de AWS Lambda](https://github.com/aws/aws-sam-cli/releases/tag/v1.6.0).

**Solución de problemas**

Para solucionar problemas con la instalación de Lambda Insights, agregue la siguiente variable de entorno a la función de Lambda para habilitar el registro de depuración.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          LAMBDA_INSIGHTS_LOG_LEVEL: info
```

# Habilite Lambda Insights en una función de Lambda existente con CloudFormation
<a name="Lambda-Insights-Getting-Started-cloudformation"></a>

Siga estos pasos para utilizar CloudFormation para habilitar Lambda Insights en una función de Lambda existente.

**Paso 1: instale la capa**

Agregue la capa de Lambda Insights a la propiedad `Layers` dentro del ARN de la capa de Lambda Insights. En el siguiente ejemplo se utiliza la capa para la versión inicial de Lambda Insights. Para obtener la versión más reciente de la capa de extensión de Lambda Insights, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

```
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

**Paso 2: agregue la política administrada**

Agregue la política de IAM **CloudWatchLambdaInsightsExecutionRolePolicy** al rol de ejecución de la función.

```
Resources:
  MyFunctionExecutionRole:
    Type: 'AWS::IAM::Role'
    Properties:
      ManagedPolicyArns:
        - 'arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy'
```

**Paso 3: (opcional) Agregue el punto de conexión de VPC**

Este paso sólo es necesario para las funciones que se ejecutan en una subred privada sin acceso a Internet y si aún no ha configurado un punto de enlace de la virtual private cloud (VPC) de CloudWatch Logs. Para obtener más información, consulte [Using CloudWatch Logs with Interface VPC Endpoints](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html) (Uso de CloudWatch Logs con puntos de enlace de la VPC de tipo interfaz).

```
Resources:
  CloudWatchLogsVpcPrivateEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      PrivateDnsEnabled: 'true'
      VpcEndpointType: Interface
      VpcId: !Ref: VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.logs
      SecurityGroupIds:
        - !Ref InterfaceVpcEndpointSecurityGroup
      SubnetIds:
        - !Ref PublicSubnet01
        - !Ref PublicSubnet02
        - !Ref PublicSubnet03
```

# Habilite Lambda Insights en una función de Lambda existente con el AWS CDK
<a name="Lambda-Insights-Getting-Started-clouddevelopmentkit"></a>

Siga estos pasos para utilizar AWS CDK para habilitar Lambda Insights en una función de Lambda existente. Para seguir estos pasos, ya debe estar usando AWS CDK para administrar los recursos.

Los comandos de esta sección se encuentran en TypeScript.

Primero, actualice los permisos de la función.

```
executionRole.addManagedPolicy(
 ManagedPolicy.fromAwsManagedPolicyName('CloudWatchLambdaInsightsExecutionRolePolicy')
);
```

A continuación, instale la extensión en la función de Lambda. Reemplace el valor ARN para el parámetro `layerArn` con el ARN que concuerde con la Región y la versión de extensión que desea utilizar. Para obtener más información, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

```
import lambda = require('@aws-cdk/aws-lambda');
const layerArn = 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14';
const layer = lambda.LayerVersion.fromLayerVersionArn(this, 'LayerFromArn', layerArn);
```

Si es necesario, habilite el punto de enlace de la virtual private cloud (VPC) para CloudWatch Logs. Este paso sólo es necesario para las funciones que se ejecutan en una subred privada sin acceso a Internet y si aún no ha configurado un punto de enlace de la VPC de CloudWatch Logs.

```
const cloudWatchLogsEndpoint = vpc.addInterfaceEndpoint('cwl-gateway', {
  service: InterfaceVpcEndpointAwsService.CLOUDWATCH_LOGS,
});

cloudWatchLogsEndpoint.connections.allowDefaultPortFromAnyIpv4();
```

# Habilite Lambda Insights en una función de Lambda existente con Serverless Framework
<a name="Lambda-Insights-Getting-Started-serverless"></a>

Siga estos pasos para utilizar Serverless Framework para habilitar Lambda Insights en una función de Lambda existente. Para obtener más información acerca de Serverless Framework, consulte [serverless.com](https://www.serverless.com/).

Esto se hace a través de un complemento Lambda Insights para Serverless. Para obtener más información, consulte [serverless-plugin-lambda-insights](https://www.npmjs.com/package/serverless-plugin-lambda-insights).

Si aún no tiene instalada la versión más reciente de la interfaz de línea de comandos Serverless, primero debe instalarla o actualizarla. Para obtener más información, consulte [Introducción al código abierto del marco sin servidor y AWS](https://www.serverless.com/framework/docs/getting-started/).

**Para utilizar Serverless Framework para habilitar Lambda Insights en una función de Lambda**

1. Ejecute el siguiente comando en su directorio Serverless para instalar el complemento Serverless para Lambda Insights:

   ```
   npm install --save-dev serverless-plugin-lambda-insights
   ```

1. En el archivo `serverless.yml`, agregue el complemento en la sección `plugins` como se muestra:

   ```
   provider:
     name: aws
   plugins:
     - serverless-plugin-lambda-insights
   ```

1. Habilitación de Lambda Insights.
   + Puede habilitar Lambda Insights individualmente por función al agregar la siguiente propiedad al archivo serverless.yml

     ```
     functions:
       myLambdaFunction:
         handler: src/app/index.handler
         lambdaInsights: true #enables Lambda Insights for this function
     ```
   + Puede habilitar Lambda Insights para todas las funciones dentro del archivo `serverless.yml` si agrega la siguiente sección personalizada:

     ```
     custom:
       lambdaInsights:
         defaultLambdaInsights: true #enables Lambda Insights for all functions
     ```

1. Vuelva a implementar el servicio Serverless con el siguiente comando:

   ```
   serverless deploy
   ```

   Esto vuelve a implementar todas las funciones y habilita Lambda Insights para las funciones que haya especificado. Habilita Lambda Insights al agregar la capa de Lambda Insights y al adjuntar los permisos necesarios mediante la política de IAM `arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy`.

# Habilite Lambda Insights en una implementación de imágenes de contenedor de Lambda
<a name="Lambda-Insights-Getting-Started-docker"></a>

Para habilitar Lambda Insights en una función de Lambda que se implementa como una imagen de contenedor, agregue líneas en el Dockerfile. Estas líneas instalan el agente Lambda Insights como una extensión en la imagen de contenedor. Las líneas que se van a añadir son diferentes para los contenedores x86-64 y los contenedores ARM64.

**nota**  
El agente Lambda Insights solo se admite en los tiempos de ejecución de Lambda que utilizan Amazon Linux 2 y Amazon Linux 2023.

**Topics**
+ [Implementación de imágenes de contenedores x86-64](#Lambda-Insights-Getting-Started-docker-x86-64)
+ [Implementación de imágenes de contenedores ARM64](#Lambda-Insights-Getting-Started-docker-ARM64)

## Implementación de imágenes de contenedores x86-64
<a name="Lambda-Insights-Getting-Started-docker-x86-64"></a>

Para habilitar Lambda Insights en una función de Lambda que se implementa como una imagen de contenedor que se ejecuta en un contenedor x86-64, agregue las siguientes líneas en el Dockerfile. Estas líneas instalan el agente Lambda Insights como una extensión en la imagen de contenedor.

```
RUN curl -O https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm && \
    rpm -U lambda-insights-extension.rpm && \
    rm -f lambda-insights-extension.rpm
```

Después de crear la función de Lambda, asigne la política de IAM **CloudWatchLambdaInsightsExecutionRolePolicy** al rol de ejecución de la función; Lambda Insights se habilita en la función de Lambda basada en imágenes de contenedor.

**nota**  
Para utilizar una versión anterior de la extensión de Lambda Insights, reemplace la URL de los comandos anteriores por esta URL: `https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.1.0.111.0.rpm`. Para obtener más información, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

**Para verificar la firma del paquete de agente de Lambda Insights en un servidor Linux**

1. Ingrese el siguiente comando para descargar la clave pública.

   ```
   shell$ wget https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/lambda-insights-extension.gpg
   ```

1. Ingrese el siguiente comando para importar la clave pública en el archivo de claves.

   ```
   shell$ gpg --import lambda-insights-extension.gpg
   ```

   El resultado será similar al siguiente. Tome nota del valor de `key`, ya que lo necesitará en el siguiente paso. En este resultado de ejemplo, el valor de clave es `848ABDC8`.

   ```
   gpg: key 848ABDC8: public key "Amazon Lambda Insights Extension" imported
   gpg: Total number processed: 1
   gpg: imported: 1  (RSA: 1)
   ```

1. Compruebe la huella digital mediante el siguiente comando. Reemplace `key-value` con el valor de clave del paso anterior.

   ```
   shell$  gpg --fingerprint key-value
   ```

   La cadena de huellas digitales en el resultado de este comando debe ser `E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8`. Si la cadena de huellas digitales no concuerda, no instale el agente y contáctese con AWS.

1. Después de haber verificado la huella digital, puede utilizarla para verificar la firma del paquete del agente de Lambda Insights. Ingrese el siguiente comando para descargar el paquete de archivo SIGNATURE.

   ```
   shell$  wget https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm.sig
   ```

1. Para verificar la firma, ejecute el siguiente comando:

   ```
   shell$ gpg --verify lambda-insights-extension.rpm.sig lambda-insights-extension.rpm
   ```

   El resultado debe tener el siguiente aspecto:

   ```
   gpg: Signature made Thu 08 Apr 2021 06:41:00 PM UTC using RSA key ID 848ABDC8
   gpg: Good signature from "Amazon Lambda Insights Extension"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: E0AF FA11 FFF3 5BD7 349E  E222 479C 97A1 848A BDC8
   ```

   En el resultado esperado, puede haber una advertencia sobre una firma de confianza. Una clave solo es de confianza si la ha firmado usted o alguien en quien confíe. Esto no significa que la firma no sea válida, solo que no ha verificado la clave pública.

   Si el resultado contiene `BAD signature`, verifique si ha realizado los pasos correctamente. Si sigue recibiendo una respuesta `BAD signature`, contáctese con AWS y evite usar el archivo descargado.

### Ejemplo de x86-64
<a name="Lambda-Insights-Getting-Started-docker-example"></a>

Esta sección incluye un ejemplo de habilitación de Lambda Insights en una función Python de Lambda basada en imágenes de contenedor.

**Un ejemplo de habilitación de Lambda Insights en una imagen de contenedor de Lambda**

1. Cree un archivo Dockerfile similar al que se muestra a continuación:

   ```
   FROM public.ecr.aws/lambda/python:3.8
   
   // extra lines to install the agent here
   RUN curl -O https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm && \
       rpm -U lambda-insights-extension.rpm && \
       rm -f lambda-insights-extension.rpm
     
   COPY index.py ${LAMBDA_TASK_ROOT}
   CMD [ "index.handler" ]
   ```

1. Cree un archivo Python denominado `index.py` que es similar al que se muestra a continuación:

   ```
   def handler(event, context):
     return {
       'message': 'Hello World!'
     }
   ```

1. Coloque el archivo Dockerfile y `index.py` en el mismo directorio. A continuación, en ese directorio, ejecute los siguientes pasos para crear la imagen de Docker y cargarla en Amazon ECR.

   ```
   // create an ECR repository
   aws ecr create-repository --repository-name test-repository
   // build the docker image
   docker build -t test-image .
   // sign in to AWS
   aws ecr get-login-password | docker login --username AWS --password-stdin "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com
   // tag the image
   docker tag test-image:latest "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   // push the image to ECR
   docker push "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   ```

1. Utilice la imagen de Amazon ECR que acaba de crear para crear la función de Lambda.

1.  Asigne la política de IAM **CloudWatchLambdaInsightsExecutionRolePolicy** para el rol de ejecución de la función.

## Implementación de imágenes de contenedores ARM64
<a name="Lambda-Insights-Getting-Started-docker-ARM64"></a>

Para habilitar Lambda Insights en una función de Lambda que se implementa como una imagen de contenedor que se ejecuta en un contenedor AL2\$1aarch64 (que utiliza arquitectura ARM64), añada las siguientes líneas en el Dockerfile. Estas líneas instalan el agente Lambda Insights como una extensión en la imagen de contenedor.

```
RUN curl -O https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm && \
    rpm -U lambda-insights-extension-arm64.rpm && \
    rm -f lambda-insights-extension-arm64.rpm
```

Después de crear la función de Lambda, asigne la política de IAM **CloudWatchLambdaInsightsExecutionRolePolicy** al rol de ejecución de la función; Lambda Insights se habilita en la función de Lambda basada en imágenes de contenedor.

**nota**  
Para utilizar una versión anterior de la extensión de Lambda Insights, reemplace la URL de los comandos anteriores por esta URL: `https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.1.0.229.0.rpm`. Para obtener más información, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

**Para verificar la firma del paquete de agente de Lambda Insights en un servidor Linux**

1. Ingrese el siguiente comando para descargar la clave pública.

   ```
   shell$ wget https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/lambda-insights-extension.gpg
   ```

1. Ingrese el siguiente comando para importar la clave pública en el archivo de claves.

   ```
   shell$ gpg --import lambda-insights-extension.gpg
   ```

   El resultado será similar al siguiente. Tome nota del valor de `key`, ya que lo necesitará en el siguiente paso. En este resultado de ejemplo, el valor de clave es `848ABDC8`.

   ```
   gpg: key 848ABDC8: public key "Amazon Lambda Insights Extension" imported
   gpg: Total number processed: 1
   gpg: imported: 1  (RSA: 1)
   ```

1. Compruebe la huella digital mediante el siguiente comando. Reemplace `key-value` con el valor de clave del paso anterior.

   ```
   shell$  gpg --fingerprint key-value
   ```

   La cadena de huellas digitales en el resultado de este comando debe ser `E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8`. Si la cadena de huellas digitales no concuerda, no instale el agente y contáctese con AWS.

1. Después de haber verificado la huella digital, puede utilizarla para verificar la firma del paquete del agente de Lambda Insights. Ingrese el siguiente comando para descargar el paquete de archivo SIGNATURE.

   ```
   shell$  wget https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm.sig
   ```

1. Para verificar la firma, ejecute el siguiente comando:

   ```
   shell$ gpg --verify lambda-insights-extension-arm64.rpm.sig lambda-insights-extension-arm64.rpm
   ```

   El resultado debe tener el siguiente aspecto:

   ```
   gpg: Signature made Thu 08 Apr 2021 06:41:00 PM UTC using RSA key ID 848ABDC8
   gpg: Good signature from "Amazon Lambda Insights Extension"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: E0AF FA11 FFF3 5BD7 349E  E222 479C 97A1 848A BDC8
   ```

   En el resultado esperado, puede haber una advertencia sobre una firma de confianza. Una clave solo es de confianza si la ha firmado usted o alguien en quien confíe. Esto no significa que la firma no sea válida, solo que no ha verificado la clave pública.

   Si el resultado contiene `BAD signature`, verifique si ha realizado los pasos correctamente. Si sigue recibiendo una respuesta `BAD signature`, contáctese con AWS y evite usar el archivo descargado.

### Ejemplo de ARM64
<a name="Lambda-Insights-Getting-Started-docker-example-ARM64"></a>

Esta sección incluye un ejemplo de habilitación de Lambda Insights en una función Python de Lambda basada en imágenes de contenedor.

**Un ejemplo de habilitación de Lambda Insights en una imagen de contenedor de Lambda**

1. Cree un archivo Dockerfile similar al que se muestra a continuación:

   ```
   FROM public.ecr.aws/lambda/python:3.8
   // extra lines to install the agent here
   RUN curl -O https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm && \
       rpm -U lambda-insights-extension-arm64.rpm && \
       rm -f lambda-insights-extension-arm64.rpm
     
   COPY index.py ${LAMBDA_TASK_ROOT}
   CMD [ "index.handler" ]
   ```

1. Cree un archivo Python denominado `index.py` que es similar al que se muestra a continuación:

   ```
   def handler(event, context):
     return {
       'message': 'Hello World!'
     }
   ```

1. Coloque el archivo Dockerfile y `index.py` en el mismo directorio. A continuación, en ese directorio, ejecute los siguientes pasos para crear la imagen de Docker y cargarla en Amazon ECR.

   ```
   // create an ECR repository
   aws ecr create-repository --repository-name test-repository
   // build the docker image
   docker build -t test-image .
   // sign in to AWS
   aws ecr get-login-password | docker login --username AWS --password-stdin "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com
   // tag the image
   docker tag test-image:latest "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   // push the image to ECR
   docker push "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   ```

1. Utilice la imagen de Amazon ECR que acaba de crear para crear la función de Lambda.

1.  Asigne la política de IAM **CloudWatchLambdaInsightsExecutionRolePolicy** para el rol de ejecución de la función.

# Actualización de la versión de la extensión Lambda Insights en una función
<a name="Lambda-Insights-Update-Extension"></a>

Una práctica recomendada que debería seguir es la de mantener su extensión de Lambda Insights actualizada a la última versión. En los temas de esta página, se explica cómo hacerlo.

**nota**  
En esta página, se explica cómo actualizar la versión de la extensión utilizada por una función que ya utiliza Lambda Insights. Para conocer cómo puede empezar a utilizar Lambda Insights, consulte [Introducción a Lambda Insights](Lambda-Insights-Getting-Started.md).

## Actualización de la versión de la extensión de Lambda Insights con la consola de Lambda
<a name="Lambda-Insights-Update-Extension-console"></a>

Siga los siguientes pasos para actualizar la versión de la extensión de Lambda Insights con la consola de Lambda Insights.

**Para actualizar con la consola de Lambda**

1. Abra la consola de AWS Lambda en [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Elija el nombre de su función.

1. En la sección **Capas**, seleccione **Editar**.

1. En la lista de capas, busque **LambdaInsightsExtension** y, a continuación, cambie la versión de la capa a la versión más reciente que aparece en [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

1. Seleccione **Save**.

## Actualización de la versión de la extensión de Lambda Insights con la AWS CLI
<a name="Lambda-Insights-Update-Extension-CLI"></a>

Para utilizar la AWS CLI con el fin de actualizar la versión de la extensión de Lambda Insights, ingrese el siguiente comando. Reemplace el valor del ARN del parámetro layers con un ARN que concuerde con su región y la versión de extensión que desea utilizar. Para más información sobre la versión más reciente de la capa de extensión de Lambda Insights, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

```
aws lambda update-function-configuration \
--function-name function-name \
--layers "arn:aws:lambda:us-west-1:111122223333:layer:LambdaInsightsExtension:53"
```

## Actualización de la extensión de Lambda Insights en una o más funciones con la CLI de AWS SAM
<a name="Lambda-Insights-Update-Extension-SAM-CLI"></a>

Para actualizar la versión de la extensión de Lambda Insights para todas sus funciones de Lambda, actualice la propiedad `Layers` en la sección `Globals` de su plantilla de AWS Serverless Application Model (SAM) con el ARN de una capa de Lambda Insights. Para más información sobre la versión más reciente de la capa de extensión de Lambda Insights, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

Lo siguiente actualiza todas sus funciones de Lambda.

```
Globals:
  Function:
    Layers:
       - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

Lo siguiente actualiza solo una función.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

## Actualización de la extensión de Lambda Insights en una o más funciones con CloudFormation
<a name="Lambda-Insights-Update-Extension-CloudFormation"></a>

Para actualizar la versión de extensión Lambda Insights con CloudFormation, actualice la capa de extensión de la propiedad `Layers` dentro del recurso CloudFormation de la función, como en el siguiente ejemplo. Para más información sobre la versión más reciente de la capa de extensión de Lambda Insights, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

```
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

## Actualización de la extensión de Lambda Insights en una o más funciones con el AWS CDK
<a name="Lambda-Insights-Update-Extension-CDK"></a>

Puede actualizar la versión de la extensión en la función de Lambda al reemplazar el valor del ARN del parámetro `layerArn` con un ARN que concuerde con su región y la versión de extensión que desea utilizar. Para más información sobre la versión más reciente de la capa de extensión de Lambda Insights, consulte [Versiones disponibles de la extensión de Lambda Insights](Lambda-Insights-extension-versions.md).

```
import lambda = require('@aws-cdk/aws-lambda'); 
const layerArn = 'arn:aws:lambda:us-west-1:111122223333:layer:LambdaInsightsExtension:53'; 
const layer = lambda.LayerVersion.fromLayerVersionArn(this, 'LayerFromArn', layerArn);
```

## Actualización de la extensión de Lambda Insights en una o más funciones con Serverless Framework
<a name="Lambda-Insights-Update-Extension-Serverless"></a>

Siga estos pasos para actualizar la versión de la extensión de Lambda Insights en una función de Lambda existente con Serverless Framework. Para obtener más información sobre Serverless Framework, consulte la [documentación de Serverless Framework](https://serverless.com).

Este método utiliza un complemento de Lambda Insights para Serverless. Para obtener más información, consulte [serverless-plugin-lambda-insights](https://www.npmjs.com/package/serverless-plugin-lambda-insights).

Si aún no tiene instalada la versión más reciente de la interfaz de la línea de comandos de Serverless, primero debe instalarla o actualizarla. Para más información, consulte [Setting Up Serverless Framework With AWS](https://www.serverless.com/framework/docs/getting-started/).

**Para actualizar con la consola de Lambda**

1. Actualice Lambda Insights. Si aún no lo hizo, agregue una sección `custom` al final del archivo y especifique la versión de Lambda Insights dentro de una propiedad `lambdaInsightsVersion`.

   ```
   custom:
       lambdaInsights:
           lambdaInsightsVersion: 53 #specify the Layer Version
   ```

1. Vuelva a implementar el servicio Serverless con el siguiente comando.

   ```
   serverless deploy
   ```

## Actualización de la versión de la extensión de Lambda Insights en una implementación de imágenes de contenedor de Lambda
<a name="Lambda-Insights-Update-Extension-container"></a>

Para actualizar Lambda Insights en una imagen de contenedor de Lambda, siga los pasos que se indican en [Habilite Lambda Insights en una implementación de imágenes de contenedor de Lambda](Lambda-Insights-Getting-Started-docker.md) para volver a crear la imagen con la versión más reciente de Lambda Insights. A continuación, utilice la AWS CLI para [actualizar el código de la función](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html) y proporcionar un URI de imagen de contenedor como valor para el parámetro `--image-uri`.

# Visualización de las métricas de Lambda Insights
<a name="Lambda-Insights-view-metrics"></a>

Después de instalar la extensión de Lambda Insights en una función de Lambda que se ha invocado, puede utilizar la consola CloudWatch para ver las métricas. Puede ver la información general multifunción o centrarse en una sola función. También puede ver las métricas de las funciones de Lambda que se ejecutan en instancias administradas.

Para obtener una lista de las métricas de Lambda Insights, consulte [Métricas que Lambda Insights recopila](Lambda-Insights-metrics.md).

**Para ver la información general multifunción de las métricas de Lambda Insights**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Información**, **Lambda Insights**.

1. En el menú desplegable **Vista de Lambda Insights** de la parte superior de la página, seleccione **Funciones**.

1. Elija **Multifunción**.

   En la parte superior de la página se muestran gráficos con métricas agregadas de todas las funciones de Lambda en la Región que tiene Lambda Insights habilitada. En la parte inferior de la página se muestra una tabla que enumera las funciones.

1. Para filtrar las funciones por nombre y reducir el número de funciones que se muestran, escriba parte del nombre de la función en el cuadro que está situado cerca de la parte superior de la página.

1. Para agregar esta vista a un panel como widget, elija **Add to dashboard** (Agregar al panel).

**Para ver las métricas de una sola función**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Información**, **Lambda Insights**.

1. En el menú desplegable **Vista de Lambda Insights** de la parte superior de la página, seleccione **Funciones**.

1. Elija **Función única**.

   En la parte superior de la página se muestran gráficos con métricas para la función seleccionada.

1. Si tiene habilitado X-Ray, puede elegir un único ID de rastreo. Esto abre la página del Mapa de seguimiento de X-Ray para esa invocación, y desde allí puede alejarse para ver el rastro distribuido y los otros servicios involucrados en el manejo de esa transacción específica. Para obtener más información sobre el Mapa de seguimiento de X-Ray, consulte [Uso del Mapa de seguimiento de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-servicemap.html). 

1. Para abrir Información de registros de CloudWatch y ampliar un error específico, elija **View logs** (Ver registros) en la tabla situada en la parte inferior de la página.

1. Para agregar esta vista a un panel como widget, elija **Add to dashboard** Agregar al panel.

**Consulta de las métricas de las funciones de Lambda que se ejecutan en instancias administradas**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Información**, **Lambda Insights**.

1. En el menú desplegable **Vista de Lambda Insights** de la parte superior de la página, seleccione **Funciones de instancias administradas**.

   La página muestra la vista de instancias administradas con métricas de las funciones de Lambda que se ejecutan en instancias administradas.

1. En la sección **Vistas**, seleccione un nivel de granularidad para ver las métricas:
   + **Proveedor de capacidad**: muestra las métricas agregadas por proveedor de capacidad.
   + **Tipo de instancia**: muestra las métricas agregadas por tipo de instancia.
   + **Función**: muestra las métricas por función individual. En la parte superior de la página, se muestran gráficos con métricas agregadas de todas las funciones de Lambda en la región en la que se ha activado Lambda Insights. En la parte inferior de la página se muestra una tabla que enumera las funciones. Para filtrar por nombre de función, escriba parte del nombre de la función en el cuadro situado cerca de la parte superior de la página.

1. Utilice la sección **Filtros** para filtrar por proveedor de capacidad, tipo de instancia o función.

1. Para agregar esta vista a un panel como widget, elija **Add to dashboard** (Agregar al panel).

# Integración con Información de aplicaciones
<a name="lambda-insights-appinsights"></a>

Información de aplicaciones de Amazon CloudWatch ayuda a supervisar las aplicaciones e identifica y configura las métricas clave, los registros y las alarmas entre los recursos de aplicaciones y la pila de tecnología. Para obtener más información, consulte [Detecte problemas comunes de aplicaciones con Información de aplicaciones de CloudWatch](cloudwatch-application-insights.md).

Puede habilitar Información de aplicaciones para recopilar datos adicionales de las funciones Lambda. Si aún no lo ha hecho, puede habilitarlo al seleccionar **Configuración automática de Información de aplicaciones** en la pestaña **Información de aplicaciones** debajo de la vista de rendimiento en el panel de Información de contenedores.

Si ya ha configurado Información de aplicaciones de CloudWatch para supervisar las aplicaciones en contenedores, el panel de **Información de aplicaciones** aparece debajo del panel de Información de contenedores.

# Métricas que Lambda Insights recopila
<a name="Lambda-Insights-metrics"></a>

Lambda Insights recopila algunas métricas de las funciones de Lambda en donde está instalada. Algunas de estas métricas están disponibles como datos de serie temporal agregados en CloudWatch Metrics. Otras métricas no se agregan en datos de serie temporal, pero se pueden encontrar en las entradas de registro con formato de métricas integradas mediante Información de registros de CloudWatch.

**Topics**
+ [Funciones de Lambda](Lambda-Insights-metrics-lambda-functions.md)
+ [Funciones de Lambda de instancias administradas](Lambda-Insights-metrics-managed-instances.md)

# Funciones de Lambda
<a name="Lambda-Insights-metrics-lambda-functions"></a>

Las siguientes métricas están disponibles como datos de serie temporal agregados en Métricas de CloudWatch en el espacio de nombres `LambdaInsights` para las funciones de Lambda estándar.


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `cpu_total_time` |  function\$1name function\$1name, versión  |  Suma de `cpu_system_time` y `cpu_user_time`. Unidad: milisegundos  | 
|  `init_duration` |  function\$1name function\$1name, versión  |  La cantidad de tiempo empleado en la fase `init` del ciclo de vida del entorno de ejecución de Lambda. Unidad: milisegundos  | 
|  `memory_utilization` |  function\$1name function\$1name, versión  |  La memoria máxima medida como porcentaje de la memoria asignada a la función. Unidad: porcentaje  | 
|  `used_memory_max` |  function\$1name function\$1name, versión  |  La memoria medida del entorno de ejecución de la función. Unidades: megabytes  | 
|  `rx_bytes` |  function\$1name function\$1name, versión  |  Cantidad de bytes que la función recibe. Unidades: bytes  | 
|  `tmp_free` |  function\$1name function\$1name, versión  |  La cantidad de espacio disponible en el directorio `/tmp`. Unidades: bytes  | 
|  `tmp_used` |  function\$1name function\$1name, versión  |  La cantidad de espacio utilizado en el directorio `/tmp`. Unidades: bytes  | 
|  `tx_bytes` |  function\$1name function\$1name, versión  |  Cantidad de bytes que la función envía. Unidades: bytes  | 
|  `total_memory` |  function\$1name function\$1name, versión  |  La cantidad de memoria que se asigna a la función de Lambda. Es lo mismo que el tamaño de la memoria de la función. Unidades: megabytes  | 
|  `total_network` |  function\$1name function\$1name, versión  |  Suma de `rx_bytes` y `tx_bytes`. Incluso para las funciones que no realizan tareas E/S, este valor suele ser mayor que cero debido a las llamadas a la red que el tiempo de ejecución de Lambda realiza. Unidades: bytes  | 
|  `used_memory_max` |  function\$1name function\$1name, versión  |  La memoria medida del entorno de pruebas de la función. Unidades: megabytes  | 

Puede encontrar las siguientes métricas en las entradas de registro con formato de métricas integradas mediante Información de registros de CloudWatch. Para obtener más información acerca de Información de registros de CloudWatch, consulte [Analyzing Log Data with CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

Para obtener más información sobre el formato de métrica integrado, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).


| Nombre de métrica | Descripción | 
| --- | --- | 
|  `agent_version` |  La versión actual del agente de extensión de Lambda Insights que se ejecuta en la función de Lambda. Unidad: cadena  | 
|  `cpu_user_time` |  La cantidad de tiempo que la CPU dedicó a ejecutar el código de usuario. Unidad: milisegundos  | 
|  `cpu_system_time` |  La cantidad de tiempo que la CPU dedicó a ejecutar el código del kernel. Unidad: milisegundos  | 
|  `cpu_total_time` |  Suma de `cpu_system_time` y `cpu_user_time`. Unidad: milisegundos  | 
|  `fd_use` |  Descriptores de archivos que se usan actualmente. Unidad: recuento  | 
|  `fd_max` |  Número máximo de descriptores de archivos disponibles para su uso. Unidad: recuento  | 
|  `version` |  La versión de la función de Lambda para la que se recopilaron las demás métricas. Unidad: recuento  | 
|  `agent_memory_max` |  Cantidad máxima de memoria consumida por el agente de extensión de Lambda Insights. Unidades: bytes  | 
|  `agent_memory_avg` |  Promedio de cantidad de memoria consumida por el agente de extensión de Lambda Insights. Unidades: bytes  | 
|  `memory_utilization` |  El promedio de cantidad de memoria medido como porcentaje de la memoria asignada al entorno de ejecución. Unidad: porcentaje  | 
|  `used_memory_max` |  La memoria medida del entorno de ejecución de la función. Unidades: megabytes  | 
|  `rx_bytes` |  El número de bytes que la función recibe. Unidades: bytes  | 
|  `tx_bytes` |  El número de bytes que la función envía. Unidades: bytes  | 
|  `threads_max` |  El número de subprocesos que el proceso de la función utiliza. Como autor de funciones, usted no controla el número inicial de subprocesos que el tiempo de ejecución crea. Unidad: recuento  | 
|  `tmp_used` |  La cantidad de espacio utilizado en el directorio `/tmp`. Unidades: bytes  | 
|  `tmp_max` |  La cantidad de espacio disponible en el directorio `/tmp`. Unidades: bytes  | 
|  `total_memory` |  La cantidad de memoria que se asigna a la función de Lambda. Es lo mismo que el tamaño de la memoria de la función. Unidades: megabytes  | 
|  `total_network` |  Suma de `rx_bytes` y `tx_bytes`. Incluso para las funciones que no realizan tareas E/S, este valor suele ser mayor que cero debido a las llamadas a la red que el tiempo de ejecución de Lambda realiza. Unidades: bytes  | 

# Funciones de Lambda de instancias administradas
<a name="Lambda-Insights-metrics-managed-instances"></a>

Las siguientes métricas están disponibles como datos de serie temporal agregados en Métricas de CloudWatch en el espacio de nombres `LambdaInsights` para las funciones de Lambda que se ejecutan en instancias administradas.


| Nombre de métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `cpu_utilization` |  function\$1name function\$1name, versión  |  El promedio de cantidad de CPU medido como porcentaje de las vCPU asignadas al entorno de ejecución. Unidad: porcentaje  | 
|  `cpu_utilization_max` |  function\$1name function\$1name, versión  |  La cantidad máxima de CPU medida como porcentaje de las vCPU asignadas al entorno de ejecución. Se muestrea a intervalos de 1 segundo. Unidad: porcentaje  | 
|  `cpu_total_time` |  function\$1name function\$1name, versión  |  Suma de `cpu_system_time` y `cpu_user_time`. Unidad: milisegundos  | 
|  `memory_utilization` |  function\$1name function\$1name, versión  |  El promedio de cantidad de memoria medido como porcentaje de la memoria asignada al entorno de ejecución. Unidad: porcentaje  | 
|  `memory_utilization_max` |  function\$1name function\$1name, versión  |  La cantidad máxima de memoria medida como porcentaje de la memoria asignada al entorno de ejecución. Se muestrea a intervalos de 50 ms. Unidad: porcentaje  | 
|  `used_memory_max` |  function\$1name function\$1name, versión  |  La memoria medida del entorno de ejecución de la función. Unidades: megabytes  | 
|  `rx_bytes` |  function\$1name function\$1name, versión  |  Cantidad de bytes que la función recibe. Unidades: bytes  | 
|  `tmp_free` |  function\$1name function\$1name, versión  |  La cantidad de espacio disponible en el directorio `/tmp`. Unidades: bytes  | 
|  `tmp_used` |  function\$1name function\$1name, versión  |  La cantidad de espacio utilizado en el directorio `/tmp`. Unidades: bytes  | 
|  `tx_bytes` |  function\$1name function\$1name, versión  |  Cantidad de bytes que la función envía. Unidades: bytes  | 
|  `total_memory` |  function\$1name function\$1name, versión  |  La cantidad de memoria que se asigna a la función de Lambda. Es lo mismo que el tamaño de la memoria de la función. Unidades: megabytes  | 
|  `total_network` |  function\$1name function\$1name, versión  |  Suma de `rx_bytes` y `tx_bytes`. Incluso para las funciones que no realizan tareas E/S, este valor suele ser mayor que cero debido a las llamadas a la red que el tiempo de ejecución de Lambda realiza. Unidades: bytes  | 
|  `used_memory_max` |  function\$1name function\$1name, versión  |  La memoria medida del entorno de pruebas de la función. Unidades: megabytes  | 

Puede encontrar las siguientes métricas en las entradas de registro con formato de métricas integradas mediante Información de registros de CloudWatch. Para obtener más información acerca de Información de registros de CloudWatch, consulte [Analyzing Log Data with CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

Para obtener más información sobre el formato de métrica integrado, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).


| Nombre de métrica | Descripción | 
| --- | --- | 
|  `lambda_mode` |  Indica si este evento de registro es para una función que se ejecuta en instancias administradas de Lambda o no. Si este campo aparece en el evento de registro, solo puede tener un valor: `managed-instance`. La ausencia de este campo indica que la función era una función de Lambda normal. Unidad: cadena  | 
|  `agent_version` |  La versión actual del agente de extensión de Lambda Insights que se ejecuta en la función de Lambda. Unidad: cadena  | 
|  `cpu_utilization` |  El promedio de cantidad de CPU medido como porcentaje de las vCPU asignadas al entorno de ejecución. Unidad: porcentaje  | 
|  `cpu_utilization_max` |  La cantidad máxima de CPU medida como porcentaje de las vCPU asignadas al entorno de ejecución. Se muestrea a intervalos de 1 segundo. Unidad: porcentaje  | 
|  `cpu_user_time` |  La cantidad de tiempo que la CPU dedicó a ejecutar el código de usuario. Unidad: milisegundos  | 
|  `cpu_system_time` |  La cantidad de tiempo que la CPU dedicó a ejecutar el código del kernel. Unidad: milisegundos  | 
|  `cpu_total_time` |  Suma de `cpu_system_time` y `cpu_user_time`. Unidad: milisegundos  | 
|  `fd_use` |  Descriptores de archivos que se usan actualmente. Unidad: recuento  | 
|  `fd_max` |  Número máximo de descriptores de archivos disponibles para su uso. Unidad: recuento  | 
|  `execution_environment_init` |  Valor booleano que indica si se ha creado un nuevo entorno de ejecución para esta función. Unidad: booleano  | 
|  `version` |  La versión de la función de Lambda para la que se recopilaron las demás métricas. Unidad: recuento  | 
|  `agent_memory_max` |  Cantidad máxima de memoria consumida por el agente de extensión de Lambda Insights. Unidades: bytes  | 
|  `agent_memory_avg` |  Promedio de cantidad de memoria consumida por el agente de extensión de Lambda Insights. Unidades: bytes  | 
|  `memory_utilization` |  El promedio de cantidad de memoria medido como porcentaje de la memoria asignada al entorno de ejecución. Unidad: porcentaje  | 
|  `memory_utilization_max` |  La cantidad máxima de memoria medida como porcentaje de la memoria asignada al entorno de ejecución. Se muestrea a intervalos de 50 ms. Unidad: porcentaje  | 
|  `used_memory_max` |  La memoria medida del entorno de ejecución de la función. Unidades: megabytes  | 
|  `rx_bytes` |  El número de bytes que la función recibe. Unidades: bytes  | 
|  `tx_bytes` |  El número de bytes que la función envía. Unidades: bytes  | 
|  `threads_max` |  El número de subprocesos que el proceso de la función utiliza. Como autor de funciones, usted no controla el número inicial de subprocesos que el tiempo de ejecución crea. Unidad: recuento  | 
|  `tmp_free` |  La cantidad de espacio disponible en el directorio `/tmp`. Unidades: bytes  | 
|  `tmp_used` |  La cantidad de espacio utilizado en el directorio `/tmp`. Unidades: bytes  | 
|  `tmp_max` |  La cantidad de espacio disponible en el directorio `/tmp`. Unidades: bytes  | 
|  `total_memory` |  La cantidad de memoria que se asigna a la función de Lambda. Es lo mismo que el tamaño de la memoria de la función. Unidades: megabytes  | 
|  `total_network` |  Suma de `rx_bytes` y `tx_bytes`. Incluso para las funciones que no realizan tareas E/S, este valor suele ser mayor que cero debido a las llamadas a la red que el tiempo de ejecución de Lambda realiza. Unidades: bytes  | 

# Solución de errores y problemas conocidos para Lambda Insights de CloudWatch
<a name="Lambda-Insights-Troubleshooting"></a>

El primer paso para solucionar cualquier error es habilitar el registro de depuración en la extensión de Lambda Insights. Para ello, configure la siguiente variable de entorno en la función de Lambda: `LAMBDA_INSIGHTS_LOG_LEVEL=info`. Para obtener más información, consulte [ Uso de variables de entorno de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).

La extensión emite registros en el mismo grupo de registros que la función (`/aws/lambda/function-name)`. Revise esos registros para ver si el error está relacionado con un problema de instalación. 

## No se ve ninguna métrica desde Lambda Insights
<a name="Lambda-Insights-Troubleshooting-nometrics"></a>

Si no se muestran las métricas de Lambda Insights que espera ver, verifique las siguientes posibilidades:
+ **Es posible que las métricas se retrasen**: si la función aún no se ha invocado o los datos aún no se han vaciado, no verá las métricas en CloudWatch. Para obtener más información, consulte **Known Issues** (Problemas conocidos) más adelante en esta sección.
+ **Verifique que la función de Lambda tenga los permisos que corresponden**Asegúrese de que la política de IAM **CloudWatchLambdaInsightsExecutionRolePolicy** se asigne al rol de ejecución de la función.
+ **Verifique el tiempo de ejecución de Lambda**: Lambda Insights solo admite ciertos tiempos de ejecución de Lambda. Para obtener una lista de los tiempos de ejecución admitidos, consulte [Lambda Insights](Lambda-Insights.md).

  Por ejemplo, para usar Lambda Insights en Java 8, debe usar el tiempo de ejecución `java8.al2`, no el tiempo de ejecución `java8`.
+ **Verifique el acceso a la red**: la función de Lambda puede estar en una subred privada de la VPC sin acceso a Internet y usted no tiene un punto de enlace de la VPC configurado para CloudWatch Logs. Para ayudar a depurar este problema, puede establecer la variable de entorno `LAMBDA_INSIGHTS_LOG_LEVEL=info`.

## Problemas conocidos
<a name="Lambda-Insights-Troubleshooting-knownissues"></a>

El retraso de los datos puede ser de hasta 20 minutos. Cuando se completa un controlador de funciones, Lambda congela el entorno de prueba, que también congela la extensión de Lambda Insights. Mientras la función se está ejecutando, se utiliza una estrategia de procesamiento por lotes adaptable basada en la función TPS para generar datos. Sin embargo, si la función deja de invocarse durante un período prolongado y todavía hay datos de eventos en el búfer, estos datos pueden retrasarse hasta que Lambda cierre el entorno de pruebas. Cuando Lambda cierra el entorno de pruebas, vaciamos los datos almacenados en el búfer.

# Ejemplo de evento de telemetría en Lambda Insights de CloudWatch
<a name="Lambda-Insights-example-event"></a>

Cada invocación de una función de Lambda que tiene Lambda Insights habilitado registra un único evento de registro en el grupo de registro `/aws/lambda-insights`. Cada evento de registro contiene métricas en formato de métricas integradas. Para obtener más información sobre el formato de métrica integrado, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).

Para analizar los eventos de registro, puede utilizar los siguientes métodos:
+ La sección Lambda Insights de la consola CloudWatch, como se explica en [Visualización de las métricas de Lambda Insights](Lambda-Insights-view-metrics.md).
+ Consultas de eventos de registro mediante Información de registros de CloudWatch. Para obtener más información, consulte [Analyzing Log Data with CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).
+ Métricas recopiladas en el espacio de nombres `LambdaInsights`, que se grafican mediante las métricas de CloudWatch.

A continuación se muestra un ejemplo de un evento de registro de Lambda Insights con el formato de métricas integradas.

```
{
    "_aws": {
        "Timestamp": 1605034324256,
        "CloudWatchMetrics": [
            {
                "Namespace": "LambdaInsights",
                "Dimensions": [
                    [ "function_name" ],
                    [ "function_name", "version" ]
                ],
                "Metrics": [
                    { "Name": "memory_utilization", "Unit": "Percent" },
                    { "Name": "total_memory", "Unit": "Megabytes" },
                    { "Name": "used_memory_max", "Unit": "Megabytes" },
                    { "Name": "cpu_total_time", "Unit": "Milliseconds" },
                    { "Name": "tx_bytes", "Unit": "Bytes" },
                    { "Name": "rx_bytes", "Unit": "Bytes" },
                    { "Name": "total_network", "Unit": "Bytes" },
                    { "Name": "init_duration", "Unit": "Milliseconds" }
                ]
            }
        ],
        "LambdaInsights": {
            "ShareTelemetry": true
        }
    },
    "event_type": "performance",
    "function_name": "cpu-intensive",
    "version": "Blue",
    "request_id": "12345678-8bcc-42f7-b1de-123456789012",
    "trace_id": "1-5faae118-12345678901234567890",
    "duration": 45191,
    "billed_duration": 45200,
    "billed_mb_ms": 11571200,
    "cold_start": true,
    "init_duration": 130,
    "tmp_free": 538329088,
    "tmp_max": 551346176,
    "threads_max": 11,
    "used_memory_max": 63,
    "total_memory": 256,
    "memory_utilization": 24,
    "cpu_user_time": 6640,
    "cpu_system_time": 50,
    "cpu_total_time": 6690,
    "fd_use": 416,
    "fd_max": 32642,
    "tx_bytes": 4434,
    "rx_bytes": 6911,
    "timeout": true,
    "shutdown_reason": "Timeout",
    "total_network": 11345,
    "agent_version": "1.0.72.0",
    "agent_memory_avg": 10,
    "agent_memory_max": 10
}
```

A continuación se muestra un ejemplo de un evento de registro de Lambda Insights para una función de Lambda que se ejecuta en instancias de Lambda administradas.

```
{
    "total_network": 16443,
    "tmp_free": 531492864,
    "total_memory": 2048,
    "fd_use": 85,
    "tmp_used": 11984896,
    "execution_environment_init": false,
    "version": "3",
    "event_type": "performance",
    "agent_memory_max": 6,
    "fd_max": 1024,
    "function_name": "cpu-intensive",
    "tx_bytes": 8404,
    "memory_utilization": 3,
    "used_memory_max": 73,
    "memory_utilization_max": 3,
    "cpu_system_time": 541,
    "threads_max": 49,
    "tmp_max": 543477760,
    "cpu_utilization_max": 2,
    "agent_memory_avg": 6,
    "cpu_total_time": 815,
    "rx_bytes": 8039,
    "lambda_mode": "managed-instance",
    "agent_version": "1.0.660.0",
    "_aws": {
        "CloudWatchMetrics": [
            {
                "Namespace": "LambdaInsights",
                "Dimensions": [
                    [
                        "function_name"
                    ],
                    [
                        "function_name",
                        "version"
                    ]
                ],
                "Metrics": [
                    {
                        "Name": "cpu_total_time",
                        "Unit": "Milliseconds"
                    },
                    {
                        "Name": "cpu_utilization",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "cpu_utilization_max",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "tx_bytes",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "rx_bytes",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "total_network",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "used_memory_max",
                        "Unit": "Megabytes"
                    },
                    {
                        "Name": "memory_utilization",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "memory_utilization_max",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "total_memory",
                        "Unit": "Megabytes"
                    },
                    {
                        "Name": "tmp_used",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "tmp_free",
                        "Unit": "Bytes"
                    }
                ]
            }
        ],
        "Timestamp": 1764164871353,
        "LambdaInsights": {
            "ShareTelemetry": true
        }
    },
    "cpu_utilization": 1,
    "cpu_user_time": 273
}
```

# Información sobre las bases de datos de CloudWatch
<a name="Database-Insights"></a>

Utilice Información sobre las bases de datos de CloudWatch para supervisar y solucionar problemas de bases de datos de Amazon Aurora MySQL, Amazon Aurora PostgreSQL, Amazon Aurora PostgreSQL Limitless, Amazon RDS para SQL Server, RDS para MySQL, RDS para PostgreSQL, RDS para Oracle y RDS para MariaDB a escala.

Con Información sobre las bases de datos, puede supervisar su flota de bases de datos con paneles obstinados prediseñados. Para ayudarlo a analizar el rendimiento de su flota, se muestran métricas y visualizaciones seleccionadas en los paneles de Información sobre las bases de datos, que usted mismo puede personalizar. Al presentar las métricas en un único panel para todas las bases de datos de la flota, Información sobre las bases de datos le permite supervisar las bases de datos de manera simultánea.

Por ejemplo, puede usar Información sobre las bases de datos para buscar una base de datos que tenga un rendimiento deficiente en una flota de cientos de instancias de bases de datos. A continuación, puede elegir esa instancia y utilizar Información sobre las bases de datos para solucionar problemas.

Para obtener información sobre el motor, Región de AWS y la compatibilidad con clases de instancias, consulte [Compatibilidad del motor de base de datos Aurora, regiones y clases de instancias con Información sobre las bases de datos](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.Engines.html) y [Compatibilidad del motor de base de datos de Amazon RDS, regiones y clases de instancias con Información sobre las bases de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.Engines.html).

Información sobre las bases de datos admite la supervisión de cargas de trabajo entre varias cuentas y regiones. Para obtener más información sobre la característica de supervisión entre cuentas y regiones de Información sobre las bases de datos, consulte [Configuración de la supervisión entre cuentas y regiones para Información sobre las bases de datos de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Database-Insights-Cross-Account-Cross-Region.html).

Para empezar a usar Información sobre las bases de datos, consulte los temas siguientes.

**Temas**
+ [Introducción a Información sobre las bases de datos de CloudWatch](Database-Insights-Get-Started.md)
+ [Visualización del panel de estado de la flota de Información sobre las bases de datos de CloudWatch](Database-Insights-Fleet-Health-Dashboard.md)
+ [Visualización del panel de instancias de base de datos de Información sobre las bases de datos de CloudWatch](Database-Insights-Database-Instance-Dashboard.md)
+ [Solución de problemas para Información sobre bases de datos de CloudWatch](Database-Insights-Troubleshooting.md)

## Modos de Información sobre las bases de datos
<a name="Database-Insights-modes"></a>

Información sobre las bases de datos tiene un modo Avanzado y un modo Estándar. El modo Estándar es el predeterminado de Información sobre las bases de datos, pero puede activar el modo Avanzado para una base de datos. 

En la siguiente tabla se muestran las características que CloudWatch admite para el modo Avanzado y el modo Estándar de Información sobre las bases de datos.


| Característica | Modo estándar | Modo Avanzado | 
| --- | --- | --- | 
| Analizar los principales factores que contribuyen a la carga de bases de datos por dimensión | Soportado | Compatible | 
| Consultar, graficar y definir alarmas para las métricas de bases de datos con una retención de hasta 7 días | Soportado | Compatible | 
| Definir políticas de control de acceso detalladas para restringir el acceso a las dimensiones potencialmente confidenciales, como el texto SQL | Soportado | Compatible | 
| Análisis de los procesos del sistema operativo que ocurren en sus bases de datos con métricas detalladas por proceso en ejecución Para que esta característica funcione, se necesita la [Supervisión mejorada de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html). | No admitido | Compatible | 
| Definición y guardado de vistas de supervisión de toda la flota para evaluar el estado de las bases de datos a escala | No admitido | Compatible | 
| Análisis de los bloqueos de SQL con 15 meses de retención y una experiencia de usuario guiada | No admitido | Compatible únicamente con Aurora PostgreSQL | 
| Análisis de los planes de ejecución de SQL con 15 meses de retención y una experiencia de usuario guiada | No admitido | Compatible solo con Aurora PostgreSQL, RDS para Oracle y RDS para SQL Server | 
| Visualizar las estadísticas por consulta | No admitido | Compatible | 
| Analizar las consultas SQL lentasPara que esta característica funcione, es necesario exportar los registros de bases de datos a Registros de CloudWatch. | No admitido | Compatible | 
| Consultar los servicios de llamadas con CloudWatch Application Signals | No admitido | Compatible | 
| Consultar un panel consolidado para toda la telemetría de las bases de datos, incluidas las métricas, los registros, los eventos y las aplicacionesPara ver los registros de bases de datos en la consola de Información sobre las bases de datos, es necesario exportar los registros de bases de datos a Registros de CloudWatch. | No admitido | Compatible | 
| Importar automáticamente a CloudWatch las métricas de contadores de Información de rendimiento | No admitido | Compatible | 
| Consultar en CloudWatch los eventos de Amazon RDS | No admitido | Compatible | 
| Analizar el rendimiento de las bases de datos durante un periodo a su elección mediante el análisis bajo demanda | No admitido | Compatible | 

**nota**  
La disponibilidad de las características de Información sobre las bases de datos varía en las diferentes regiones de AWS, ya que no todas las carcaterísticas del modo avanzado están disponibles en todas las regiones.

## Retención de datos
<a name="Database-Insights-retention"></a>

El modo Avanzado de Información sobre las bases de datos retiene durante 15 meses las métricas recopiladas por Información de rendimiento.

Si Información de rendimiento está habilitado para el modo Estándar, Amazon RDS retiene durante 7 días las métricas de contadores de Información de rendimiento.

Para obtener más información sobre las métricas de contadores de Información de rendimiento, consulte [Métricas de contador de Información sobre rendimiento](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html).

Para obtener información sobre el periodo de retención de las métricas de CloudWatch que recopila Información sobre las bases de datos, consulte los siguientes temas.
+ [Métricas de Amazon CloudWatch para Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMonitoring.Metrics.html) en la *Guía del usuario de Amazon Aurora*
+ [Métricas de Amazon CloudWatch para el servicio de base de datos relacional de Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) en la *Guía del usuario de Amazon RDS*
+ [Métricas de Amazon CloudWatch para Información de rendimiento de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Cloudwatch.html) en la *Guía del usuario de Amazon Aurora*
+ [Métricas de Amazon CloudWatch para Información de rendimiento de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Cloudwatch.html) en la *Guía del usuario de Amazon Aurora*

## Integración de Información sobre las bases de datos con Información de rendimiento
<a name="Database-Insights-pi"></a>

Información de rendimiento es un servicio de supervisión del rendimiento de bases de datos.

Información sobre las bases de datos se basa en las capacidades de Información de rendimiento y las amplía. Información sobre las bases de datos agrega características de supervisión, análisis y optimización.

Para habilitar el modo Avanzado de Información sobre las bases de datos, debe habilitar Información de rendimiento. 

Información sobre las bases de datos importa automáticamente a CloudWatch las métricas de contadores de Información de rendimiento. El modo avanzado de Información sobre las bases de datos retiene automáticamente durante 15 meses todas las métricas recopiladas por Información de bases de datos, incluidas las métricas de Información de rendimiento y CloudWatch. Esto ocurre automáticamente cuando habilita el modo avanzado en una instancia, sin necesidad de configuración adicional. Para obtener más información sobre las métricas de contadores de Información de rendimiento, consulte [Métricas de contador de Información sobre rendimiento](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html) en la *Guía del usuario de Amazon Aurora*.

## Precios
<a name="Database-Insights-pricing"></a>

Para obtener información acerca de los precios, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

# Introducción a Información sobre las bases de datos de CloudWatch
<a name="Database-Insights-Get-Started"></a>

El modo estándar de Información sobre las bases de datos está activado de forma predeterminada para las bases de datos de Amazon RDS y Aurora. Para empezar a usar el modo avanzado de Información sobre las bases de datos, puede crear una nueva base de datos o modificarla.

Para obtener información sobre cómo habilitar el modo avanzado o el modo estándar de Información sobre las bases de datos en una base de datos de Amazon RDS, consulte los siguientes temas.
+ [Activación del modo avanzado de Información sobre las bases de datos para Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) en la *Guía del usuario de Amazon RDS*.
+ [Activación del modo estándar de Información sobre las bases de datos para Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnStandard.html) en la *Guía del usuario de Amazon RDS*.
+ [Activación o desactivación de Información sobre las bases de datos de CloudWatch al crear una instancia de base de datos o un clúster Multi-AZ para Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurnOnCreateDatabase.html) en la *Guía del usuario de Amazon RDS*.

Para obtener información sobre cómo habilitar el modo avanzado o el modo estándar de Información sobre las bases de datos en una base de datos de Amazon Aurora, consulte los siguientes temas.
+ [Turning on the Advanced mode of Database Insights for Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) en la *Guía del usuario de Amazon Aurora*
+ [Turning on the Standard mode of Database Insights for Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnStandard.html) en la *Guía del usuario de Amazon Aurora*

Para obtener información sobre cómo activar el modo avanzado o el modo estándar de Información sobre las bases de datos para una base de datos ilimitada de Amazon Aurora PostgreSQL, consulte los siguientes temas.
+ [Activación del modo avanzado de Información sobre las bases de datos para base de datos ilimitada de Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/limitless-monitoring.cwdbi.advanced.html) en la *Guía del usuario de Amazon Aurora*
+ [Activación del modo estándar de Información sobre las bases de datos para base de datos ilimitada de Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/limitless-monitoring.cwdbi.standard.html) en la *Guía del usuario de Amazon Aurora*

## Permisos necesarios para Información sobre las bases de datos
<a name="w2aac26c13c31c17"></a>

Para usar Información sobre las bases de datos se necesitan determinados permisos de IAM. Información sobre las bases de datos requiere permisos para CloudWatch, Registros de CloudWatch, Amazon RDS e Información de rendimiento de Amazon RDS. Es posible que no tenga que proporcionar estos permisos a su usuario o rol si tiene permisos más amplios.

Los siguientes permisos de CloudWatch son necesarios para utilizar Información sobre las bases de datos.
+ `cloudwatch:BatchGetServiceLevelIndicatorReport`
+ `cloudwatch:DescribeAlarms`
+ `cloudwatch:GetDashboard`
+ `cloudwatch:GetMetricData`
+ `cloudwatch:ListMetrics`
+ `cloudwatch:PutDashboard`

Los siguientes permisos de Registros de CloudWatch son necesarios para utilizar Información sobre las bases de datos.
+ `logs:DescribeLogGroups`
+ `logs:GetQueryResults`
+ `logs:StartQuery`
+ `logs:StopQuery`

Los siguientes permisos de Amazon RDS son necesarios para utilizar Información sobre las bases de datos.
+ `rds:DescribeDBClusters`
+ `rds:DescribeDBInstances`
+ `rds:DescribeEvents`
+ `rds:DescribeDBShardGroups` (si supervisa las Bases de datos ilimitadas de Aurora PostgreSQL)

Los siguientes permisos de Información de rendimiento son necesarios para utilizar Información sobre las bases de datos.
+ `pi:ListAvailableResourceMetrics`
+ `pi:ListAvailableResourceDimensions`
+ `pi:DescribeDimensionKeys`
+ `pi:GetDimensionKeyDetails`
+ `pi:GetResourceMetrics`
+ `pi:ListPerformanceAnalysisReports`
+ `pi:GetResourceMetadata`
+ `pi:GetPerformanceAnalysisReport`
+ `pi:CreatePerformanceAnalysisReport`
+ `pi:DeletePerformanceAnalysisReport`
+ `pi:ListTagsForResource`
+ `pi:TagResource`
+ `pi:UntagResource`

El siguiente ejemplo de política contiene los permisos necesarios para el acceso completo a Información sobre las bases de datos.

### Ejemplo de política para un acceso completo
<a name="Database-Insights-permissions-sample"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
    "Effect" : "Allow",
      "Action" : [
        "cloudwatch:BatchGetServiceLevelIndicatorReport",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:GetMetricData",
        "cloudwatch:ListMetrics",
        "cloudwatch:PutDashboard"
      ],
      "Resource" : "*"
    },
    {
    "Effect" : "Allow",
      "Action" : [
        "logs:DescribeLogGroups",
        "logs:GetQueryResults",
        "logs:StartQuery",
        "logs:StopQuery"
      ],
      "Resource" : "*"
    },
    {
    "Effect" : "Allow",
      "Action" : [
        "pi:DescribeDimensionKeys",
        "pi:GetDimensionKeyDetails",
        "pi:GetResourceMetadata",
        "pi:GetResourceMetrics",
        "pi:ListAvailableResourceDimensions",
        "pi:ListAvailableResourceMetrics",
        "pi:CreatePerformanceAnalysisReport",
        "pi:GetPerformanceAnalysisReport",
        "pi:ListPerformanceAnalysisReports",
        "pi:DeletePerformanceAnalysisReport",
        "pi:TagResource",
        "pi:UntagResource",
        "pi:ListTagsForResource"
      ],
      "Resource" : "arn:aws:pi:*:*:*/rds/*"
    },
    {
    "Effect" : "Allow",
      "Action" : [
        "rds:DescribeDBInstances",
        "rds:DescribeDBClusters",
        "rds:DescribeEvents"
      ],
      "Resource" : "*"
    }
  ]
}
```

------

# Configuración de la supervisión entre cuentas y regiones para Información sobre las bases de datos de CloudWatch
<a name="Database-Insights-Cross-Account-Cross-Region"></a>

 Información sobre las bases de datos de CloudWatch admite la supervisión de la flota de bases de datos entre cuentas y entre regiones, lo que permite una observabilidad centralizada en toda la infraestructura de AWS de bases de datos. Le permite supervisar, solucionar problemas y optimizar bases de datos que abarcan varias cuentas y regiones de AWS desde una única experiencia de consola unificada. 

**Topics**
+ [Requisitos previos](#Database-Insights-Cross-Account-Cross-Region-Prereq)
+ [Configuración de cuentas de supervisión y origen para el acceso entre cuentas de Información sobre las bases de datos](#Database-Insights-Cross-Account-Cross-Region-MonitoringSourceAccountSetup)
+ [Configuración de Información sobre las bases de datos para la consola entre cuentas entre regiones](#Database-Insights-Cross-Account-Cross-Region-setup)
+ [Uso de paneles entre cuentas entre regiones de Información sobre las bases de datos](#Database-Insights-Cross-Account-Cross-Region-Using)

## Requisitos previos
<a name="Database-Insights-Cross-Account-Cross-Region-Prereq"></a>
+ Información sobre las bases de datos entre cuentas entre regiones requiere que se configuren antes tanto la **observabilidad entre cuentas de CloudWatch** como la **consola de CloudWatch entre cuentas entre regiones**. Consulte las instrucciones que aparecen a continuación sobre cómo activar ambas.
+ Si ya las ha activado, es posible que tenga que configurar el intercambio de datos adicional para que Información sobre las bases de datos funcione entre cuentas y regiones en el entorno. Consulte las instrucciones que aparecen a continuación y asegúrese de haber seleccionado la configuración de uso compartido de datos correcta.

## Configuración de cuentas de supervisión y origen para el acceso entre cuentas de Información sobre las bases de datos
<a name="Database-Insights-Cross-Account-Cross-Region-MonitoringSourceAccountSetup"></a>

1. Siga la guía paso a paso de [Observabilidad entre cuentas de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account-Setup.html). Las plantillas de CloudFormation se proporcionan para implementaciones de infraestructura como código. 

1. En el **paso 1: configuración de una cuenta de supervisión**, debe seleccionar al menos los siguientes tipos de datos para compartirlos con la cuenta de supervisión para que Información sobre las bases de datos funcione en todas las cuentas y regiones: **registros**, **métricas**, **rastros** y **Application Signals: servicios, objetivos de nivel de servicio (SLO)**.

1. Debe seguir este proceso en **todas las regiones** en las que desee configurar Información sobre las bases de datos con compatibilidad entre cuentas entre regiones.

## Configuración de Información sobre las bases de datos para la consola entre cuentas entre regiones
<a name="Database-Insights-Cross-Account-Cross-Region-setup"></a>

1. Siga la guía paso a paso de [Consola de CloudWatch entre cuentas y regiones](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html). 

1. En el **paso 5: permisos**, debe seleccionar al menos los siguientes tipos de datos para compartirlos con su cuenta de supervisión: **incluir paneles automáticos de CloudWatch** e **incluir acceso de solo lectura para Información sobre las bases de datos**. De lo contrario, también puede optar por el **acceso completo de solo lectura a todo el contenido de la cuenta**, que incluirá todos los orígenes de datos disponibles. 

1.  La consola entre regiones de CloudWatch es una configuración global, por lo que solo necesita hacer este paso una vez para que funcione en todas las regiones. 

## Uso de paneles entre cuentas entre regiones de Información sobre las bases de datos
<a name="Database-Insights-Cross-Account-Cross-Region-Using"></a>

 Después de configurar Información sobre las bases de datos para soporte entre cuentas entre regiones, puede activar “Modo de varias cuentas y regiones” en la sección **Filtros** del panel izquierdo, debajo de **Vistas de bases de datos**. Verá un botón de alternancia situado en la esquina superior izquierda, como en la captura de pantalla siguiente. 

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/database-insights-enable-cross-account-toggle.png)


 Una vez activado el modo entre cuentas entre regiones, estarán disponibles nuevos filtros que le permitirán seleccionar varias regiones y filtrar por etiquetas e ID de cuenta de AWS, tipos de recursos de bases de datos e identificadores de recursos de bases de datos. 

 De forma predeterminada, se seleccionan todas las cuentas y la región actual. Si cambia la selección de regiones y cuentas, el panel Estado de la flota se actualiza automáticamente para mostrar los recursos que coinciden con los filtros de región y cuenta seleccionados. 

 Desde el panel Estado de la flota, puede navegar fácilmente hasta el panel de instancias de bases de datos para ver las instancias que pertenecen a otras regiones y cuentas de AWS. 

 Hay algunos aspectos que debe tener en cuenta al trabajar con la supervisión entre cuentas entre regiones de Información sobre las bases de datos: 
+  Las alarmas deben crearse solo en la cuenta de supervisión. Las alarmas se pueden configurar en función de las métricas de las cuentas de origen, pero es necesario crearlas en la cuenta de supervisión. 
+  Las vistas de supervisión de la flota deben definirse y guardarse solo en la cuenta de supervisión. 
+  Los paneles de métricas personalizados del panel de instancias de Información sobre las bases de datos solo se deben personalizar en la cuenta de supervisión. 
+  El número máximo de regiones permitido en el panel Estado de la flota de Información sobre las bases de datos en un momento dado es de 3. 
+  Solo se permiten las operaciones de lectura desde la cuenta de supervisión. Esto significa que no puede crear informes de análisis de rendimiento desde la cuenta de supervisión. 
+  Cuando el modo entre cuenta entre regiones está activado en el panel Estado de la flota, el filtrado por etiquetas de recursos y propiedades de recursos de AWS no está disponible. 

# Visualización del panel de estado de la flota de Información sobre las bases de datos de CloudWatch
<a name="Database-Insights-Fleet-Health-Dashboard"></a>

Puede usar el panel de estado de la flota para ver una instantánea del estado de la flota de bases de datos.

![\[Panel Estado de la flota\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_fhd.png)


## Vistas del estado de la flota
<a name="Database-Insights-fleet-views"></a>

Una *flota de bases de datos* en Información sobre las bases de datos es un grupo de bases de datos que desea supervisar. Para crear una vista de supervisión para una flota de bases de datos, seleccione filtros en el componente **Filtros**. Con este componente puede aplicar filtros a las propiedades, como los nombres y las etiquetas de clústeres o instancias. En el panel de control de estado de la flota, CloudWatch muestra las bases de datos que cumplen al menos una de las condiciones de filtrado de la vista del estado de la flota.

![\[Filtrado por propiedades y etiquetas\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_filter.png)


Para crear, modificar o eliminar vistas de flotas de bases de datos, utilice los procedimientos de los temas siguientes.
+ [Creación de una vista de estado de la flota de Información sobre bases de datos de CloudWatch](Database-Insights-fleet-views-create.md)
+ [Edición de una vista de estado de la flota de Información sobre bases de datos de CloudWatch](Database-Insights-fleet-views-edit.md)
+ [Eliminación de una vista de estado de la flota de Información sobre bases de datos de CloudWatch](Database-Insights-fleet-views-delete.md)

## Tabla de descripción general de las instancias de RDS
<a name="Database-Insights-instances"></a>

Utilice la tabla **Descripción general de las instancias de RDS** para ver el estado de la alarma, el porcentaje máximo de carga de base de datos y la hora de la última actualización de estado de cada instancia de su flota.

![\[Tabla de recursos de Amazon RDS\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-resources.png)


## Resumen del estado de las instancias
<a name="Database-Insights-Instances-State-Summary"></a>

Utilice el **Resumen del estado de las instancias** para ver el estado de todas las instancias de su flota. El Resumen del estado de las instancias proporciona dos vistas basadas en las **alarmas** y en la métrica de carga de base de datos. De forma predeterminada, CloudWatch muestra la vista **Alarmas**.

![\[Resumen del estado de las instancias\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_iss.png)


Cada nodo del nido de abeja representa una instancia. Para obtener más información sobre una instancia, puede elegir el nodo correspondiente y elegir **Filtrar la vista por esta instancia**. 

![\[Resumen del estado de las instancias seleccionado\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_iss-selected.png)


El componente de nido de abeja resume el estado de alarma de las instancias de su flota con el número de nodos de cada estado en la parte superior del nido de abeja. CloudWatch muestra la hora de la última actualización de los datos que se muestran en el nido de abeja.

Al cambiar a la vista de **carga de base de datos**, puede ver el estado general de la flota desde el punto de vista de la métrica de carga de base de datos. La carga de base de datos mide la cantidad de sesiones activas en la base de datos. La carga de base de datos es la métrica clave de Información sobre las bases de datos y se recopila cada segundo. CloudWatch clasifica las instancias de base de datos en los siguientes estados en función de los umbrales de carga de base de datos. 
+ Alto
+ Advertencia
+ Correcto
+ Idle

Para ver los umbrales de carga de base de datos, seleccione los íconos de estado correspondientes.

Para obtener información sobre la carga de la base de datos en Amazon RDS, consulte [Carga de la base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html) en la *Guía del usuario de Amazon RDS*. Para obtener información sobre la carga de base de datos en Amazon Aurora, consulte [Carga de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.ActiveSessions.html) en la *Guía del usuario de Amazon Aurora.*

De forma predeterminada, CloudWatch muestra la carga de base de datos promedio. Elija **Máx.** para supervisar la carga máxima de base de datos de cada instancia.

Elija un nodo del resumen del estado de la instancia para mostrar las alarmas y la carga de base de datos de la instancia.

## Principales 10 gráficos
<a name="Database-Insights-Top-Ten"></a>

Utilice el gráfico **Principales 10 instancias por carga de base de datos relativa** para ver la tendencia de carga de base de datos a lo largo del tiempo de las 10 instancias con la carga de base de datos más alta. El gráfico también proporciona las consultas principales y los principales eventos de espera de la instancia con la carga de base de datos más alta.

![\[Principales 10 instancias según el gráfico de carga de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_top10.png)


Utilice los gráficos **Principales 10 instancias por métrica** para comparar dos métricas clave de las 10 instancias principales de su flota. Puede seleccionar las siguientes métricas.
+ Utilización de la CPU (%)
+ Memoria que se puede liberar (%)
+ Conexiones de base de datos (%)
+ Network throughput
+ IOPS de lectura
+ IOPS de escritura
+ Read Latency
+ Write Latency

![\[Gráficos de las principales 10 instancias según las métricas\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-top10per.png)


## Eventos de Amazon RDS
<a name="Database-Insights-Events"></a>

Utilice la tabla y el resumen **Eventos** para ver los eventos de RDS de las instancias de la flota.

![\[Resumen de eventos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_events.png)


Para ver la tabla **Eventos**, seleccione **Detalles**.

![\[Detalles del evento\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_events-details.png)


Para obtener una lista de eventos de Amazon RDS y Amazon Aurora, consulte los siguientes temas.
+ [Categorías de eventos de Amazon RDS y mensajes de eventos para Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) en la *Guía del usuario de Amazon Aurora*.
+ [Categorías de eventos de Amazon RDS y mensajes de eventos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) en la *Guía del usuario de Amazon RDS*.

## Tabla de servicios de llamadas
<a name="Database-Insights-Calling-Services"></a>

Utilice la tabla **Servicios de llamadas** para ver los servicios de CloudWatch Application Signals que llaman a los puntos de conexión de su base de datos y las métricas relacionadas a nivel de aplicación, como la latencia o los errores.

![\[Tabla de servicios de llamadas\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-calling.png)


Información sobre las bases de datos muestra los servicios que llaman a las principales 10 instancias según la carga de base de datos. Para ver los servicios de llamadas de otra instancia, elija la instancia en el panel de instancias de la base de datos.

Cuando el punto de conexión llamado por la aplicación es un clúster de Aurora, Información de bases de datos mostrará el punto de conexión del escritor o del lector del clúster de Aurora en la tabla **Servicios de llamada**, y no la instancia de base de datos individual. Sin embargo, cuando el punto de conexión llamado por la aplicación es un clúster de Amazon RDS, Información de bases de datos muestra la instancia de base de datos específica que la aplicación llama dentro del clúster de Amazon RDS.

Para obtener más información acerca de CloudWatch Application Signals, consulte [Application Signals](CloudWatch-Application-Monitoring-Sections.md).

# Creación de una vista de estado de la flota de Información sobre bases de datos de CloudWatch
<a name="Database-Insights-fleet-views-create"></a>

Para crear una vista del estado de la flota, utilice el siguiente procedimiento.

**Creación de una vista del estado de la flota**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**.

1. Elija **Información sobre bases de datos**.

1. Elija filtros para la flota de bases de datos que desee supervisar.

1. Elija **Guardar filtro como flota**.

1. En la ventana **Guardar conjunto de filtros (flota)**, introduzca el nombre de su flota.

1. Seleccione el botón **Guardar**.

Para acceder a la flota guardada, seleccione el menú desplegable **Flotas guardadas**. A continuación, elija una flota.

# Edición de una vista de estado de la flota de Información sobre bases de datos de CloudWatch
<a name="Database-Insights-fleet-views-edit"></a>

Para editar una vista del estado de la flota, utilice el siguiente procedimiento.

**Edición de una vista de estado de la flota**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**.

1. Elija **Información sobre bases de datos**.

1. Seleccione el menú desplegable **Flotas guardadas**.

1. Elija los puntos suspensivos en vertical de una vista del estado de la flota que quiera editar.

1. En la ventana **Editar conjunto de filtros (flota)**, puede editar el nombre y los filtros de la flota.

1. Seleccione el botón **Guardar**.

# Eliminación de una vista de estado de la flota de Información sobre bases de datos de CloudWatch
<a name="Database-Insights-fleet-views-delete"></a>

Para eliminar una vista del estado de la flota, utilice el siguiente procedimiento.

**Eliminación de una vista del estado de la flota**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**.

1. Elija **Información sobre bases de datos**.

1. Seleccione el menú desplegable **Flotas guardadas**.

1. Elija los puntos suspensivos en vertical de una vista del estado de la flota que quiera eliminar.

1. En la ventana **Eliminar conjunto de filtros (flota)**, seleccione el botón **Eliminar**.

# Visualización del panel de instancias de base de datos de Información sobre las bases de datos de CloudWatch
<a name="Database-Insights-Database-Instance-Dashboard"></a>

Utilice el panel de instancias de base de datos para ver una instantánea del estado de una instancia de base de datos.

Para analizar árboles de bloqueos y los planes de ejecución para Amazon Aurora PostgreSQL, consulte los siguientes temas.

**Temas**
+ [Análisis de árboles de bloqueos para Amazon Aurora PostgreSQL y Amazon RDS para PostgreSQL mediante Información sobre las bases de datos de CloudWatch](Database-Insights-Lock-Analysis.md)
+ [Análisis de planes de ejecución con Información sobre las bases de datos de CloudWatch](Database-Insights-Execution-Plans.md)

## Gráfico Database load (Carga de base de datos)
<a name="Database-Insights-database-load"></a>

La *carga de base de datos* mide el nivel de actividad de la sesión en la base de datos. La carga de la base de datos es la métrica clave de Información sobre las bases de datos. Esta solución recopila la carga de la base de datos cada segundo.

![\[Panel Instancia de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did.png)


Para obtener más información sobre la carga de la base de datos, consulte [Carga de la base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html) en la *Guía del usuario de Amazon RDS* o [Carga de la base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.ActiveSessions.html) en la *Guía del usuario de Amazon Aurora*.

Utilice el gráfico **Carga de la base de datos** para ver la carga de la base de datos segmentada (agrupada) por las siguientes dimensiones en todos los motores de base de datos compatibles.
+ Objeto bloqueador (solo para [motores de base de datos que admiten análisis de bloqueo](Database-Insights-Lock-Analysis.md))
+ Sesión bloqueadora (solo para [motores de base de datos que admiten análisis de bloqueo](Database-Insights-Lock-Analysis.md))
+ SQL bloqueador (solo para [motores de base de datos que admiten análisis de bloqueo](Database-Insights-Lock-Analysis.md))
+ Database
+ Host
+ SQL
+ Usuario
+ Esperas
+ Aplicación (solo para Amazon Aurora PostgreSQL)
+ Planes (solo para [motores de bases de datos que admiten la captura de planes de ejecución](Database-Insights-Execution-Plans.md))
+ Tipo de sesión (solo para Amazon Aurora PostgreSQL)

**nota**  
Para obtener información sobre el análisis de la carga de Oracle PDB en Amazon RDS, consulte [Análisis de la carga principal de Oracle PDB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.TopPDB.html) en la *Guía del usuario de Amazon RDS*.

![\[Carga de base de datos en el panel de instancias de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload.png)


De forma predeterminada, CloudWatch muestra la carga de base de datos con un gráfico de barras. Elija **Línea** para mostrar la carga de base de datos con un gráfico de líneas apiladas.

![\[Gráfico de líneas con la carga de base de datos en el panel de instancias de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload-line.png)


## Pestaña de análisis de carga de base de datos
<a name="Database-Insights-DB-load-analysis"></a>

Utilice la pestaña **Análisis de carga de base de datos** para supervisar los principales colaboradores a la carga de base de datos en cada una de las siguientes dimensiones.
+ Database
+ Host
+ SQL
+ Usuario
+ Esperas
+ Análisis de bloqueos (solo para [motores de bases de datos que admiten el análisis de bloqueos](Database-Insights-Lock-Analysis.md))
+ Aplicación (solo para Amazon Aurora PostgreSQL)
+ Tipo de sesión (solo para Amazon Aurora PostgreSQL)

![\[Panel que muestra la pestaña Análisis de carga de la base de datos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_lat.png)


## Análisis de las estadísticas de una consulta
<a name="Database-Insights-sql-stats"></a>

Es posible que desee analizar las estadísticas de una consulta con una carga de base de datos elevada. Para analizar las estadísticas de una consulta, utilice el siguiente procedimiento.

**Análisis de las estadísticas de las consultas**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**.

1. Elija **Información sobre bases de datos**.

1. Elija la vista **Instancia de base de datos**.

1. Elija una instancia de base de datos.

1. Elija la pestaña **Top SQL** (SQL principal).

1. Para ver las estadísticas de una consulta, elíjala.  
![\[La tabla que aparece en la pestaña SQL principal.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/DBInsights_LoadTopSQL.png)

## Pestaña de telemetría de base de datos
<a name="Database-Insights-database-telemetry"></a>

Utilice la pestaña **Telemetría de la base de datos** para ver métricas, registros, eventos y consultas lentas de la instancia seleccionada.

### Sección de métricas para la telemetría de base de datos
<a name="Database-Insights-metrics-tel"></a>

En la sección **Métricas** se muestra un panel de métricas predeterminado para cada tipo de motor.

Puede personalizar este panel añadiendo métricas del sistema operativo, métricas de contadores de bases de datos y métricas de CloudWatch. También puede quitar métricas del panel. Puede personalizar un panel para cada tipo de motor en una región de su cuenta. Esto significa que todas las instancias de un tipo de motor específico que pertenezcan a esa región y a la misma cuenta tendrán el mismo panel de métricas.

Los usuarios que tienen permiso para editar los paneles de su cuenta pueden editar cualquier panel de cualquier motor.

Los cambios que hace en un panel se guardan automáticamente y se aplican a todas las instancias del motor de base de datos de esa región y cuenta.

![\[Panel que muestra ejemplos de los diferentes tipos de métricas de bases de datos.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_dbmetrics.png)


**Cómo personalizar el panel en la pestaña Telemetría de base de datos para un tipo de motor**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**, **Información sobre las bases de datos**.

1. En **Vistas de las bases de datos**, elija **Instancia de base de datos**.

1. En la sección **Filtros**, busque y elija la instancia de base de datos cuyas métricas quiera consultar. 

1. Seleccione la pestaña **Telemetría de base de datos** y, a continuación, elija la pestaña **Métricas**.

   Aparece el panel de instancias de base de datos predeterminado. 

1. Para agregar un widget al panel, haga lo siguiente:

   1. Elija **Agregar Crear widget**.

   1. En la ventana emergente **Crear widget**, busque las métricas que desee añadir y seleccione la casilla de verificación de cada una de ellas. Si selecciona varias métricas en este paso, todas aparecerán en el mismo widget nuevo en el panel. Luego elija **Crear widget**.

      Recuerde que todos los cambios que realice en este panel se aplicarán a todos los paneles de Información de las bases de datos para este tipo de motor en esta región de la cuenta.

1. Para eliminar un gráfico del panel, pulse los puntos suspensivos verticales en el widget y, a continuación, elija **Eliminar**.

1. Para añadir más métricas a un widget existente en el panel o cambiar su título, pulse los puntos suspensivos verticales del widget y seleccione **Editar**. A continuación, en la ventana emergente **Actualizar widget**, busque las métricas que desee añadir, seleccione las casillas de verificación y elija **Actualizar widget**. También puede cambiar el título del widget.

1. Tras personalizar el panel, puede restablecerlo a su estado predeterminado original. Para ello, seleccione **Restablecer panel**.

### Sección de registros para la telemetría de base de datos
<a name="Database-Insights-logs-tel"></a>

En la sección **Registros** se proporciona una vista de los registros de bases de datos exportados a Registros de CloudWatch para la instancia de base de datos seleccionada. 

![\[Telemetría de base de datos en el panel de instancias de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did-telemetry-logs.png)


Para obtener información sobre la publicación de registros en Registros de CloudWatch para Amazon RDS, consulte [Publicación de registros de base de datos en Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) en la *Guía del usuario de Amazon RDS*. Para obtener información sobre la publicación de registros en Registros de CloudWatch para Amazon Aurora, consulte [Publicación de registros de base de datos en Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) en la *Guía del usuario de Amazon Aurora*.

En el caso de las bases de datos ilimitadas de Aurora PostgreSQL, los registros se publican automáticamente en CloudWatch Logs y se pueden descubrir en la consola de Database Insights.

### El sistema operativo procesa los datos para la telemetría de bases de datos.
<a name="Database-Insights-OS-processes"></a>

Puede usar la pestaña **Procesos del sistema operativo** de la pestaña **Telemetría de base de datos** para ver las métricas del sistema operativo en el que se ejecuta la instancia de base de datos. Las métricas proporcionan una instantánea de los procesos del sistema operativo que se ejecutan en sus bases de datos durante una marca de tiempo determinada, así como métricas clave, como el uso de la memoria y la CPU, para cada proceso en ejecución. Información de las bases de datos correlaciona estas métricas con las métricas del diagrama de carga de la base de datos, por lo que si elige un punto de datos en el diagrama de carga de la base de datos, los datos de los procesos del sistema operativo se actualizan para mostrar la telemetría de la misma marca de tiempo.

Al elegir un punto de datos, Información de las bases de datos selecciona automáticamente el periodo que se va a mostrar, en función del intervalo de tiempo que haya elegido para toda la página. Lo más atrás que pueda ir dependerá del tiempo de retención que haya configurado para el grupo de registro `RDSOSMetrics`.

Si no ha elegido una marca de tiempo, la tabla se rellena de forma predeterminada con la telemetría de la última marca de tiempo.

**nota**  
La información del proceso del sistema operativo solo está disponible si ha activado [Supervisión mejorada de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html). Supervisión mejorada incurre en cargos adicionales. Para obtener más información, consulte [Costo de la monitorización mejorada](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.cost). La monitorización mejorada se habilita automáticamente para las bases de datos ilimitadas de Aurora PostgreSQL.

![\[Tabla de eventos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbinsights-osprocesses.png)


En la vista **Procesos del sistema operativo**, se muestran los siguientes datos para cada proceso:
+ **Identificador de proceso**: el identificador de este proceso.
+ **Memoria virtual**: la cantidad de memoria virtual asignada al proceso, en kibibytes.
+ **Dirección residual**: la memoria física real que usa el proceso.
+ **% de CPU**: el porcentaje de ancho de banda de CPU total que consume el proceso.
+ **% de memoria**: el porcentaje de memoria total que consume el proceso.
+ **Límite de máquinas virtuales**: la cantidad máxima de memoria virtual que se puede asignar al proceso.

  Si el valor de esta columna es 0, los límites de máquinas virtuales no se aplican a ese proceso.

Los datos de monitorización que se muestran se obtienen de Registros de Amazon Cloudwatch. También puede recuperar estas métricas directamente del flujo de registro de Registros de CloudWatch. Para obtener más información, consulte [Visualización de métricas del sistema operativo mediante CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.CloudWatchLogs.html).

Las métricas de los procesos del sistema operativo no se devuelve durante las siguientes situaciones: 
+ Una conmutación por error de la instancia de base de datos.
+ Cambio de la clase de una instancia de base de datos (cálculo de escala).

Las métricas de los procesos del sistema operativo se devuelven al reiniciar una instancia de base de datos porque solo se reinicia el motor de la base de datos. Se sigue informando de la métrica correspondiente al sistema operativo.

### Sección de consultas SQL lentas para la telemetría de base de datos
<a name="Database-Insights-slow-sql-tel"></a>

Para ver las consultas SQL lentas y los patrones de consulta, debe habilitar las exportaciones de registros a Registros de CloudWatch y configurar los parámetros de base de datos para su base de datos. 

Para obtener información sobre la publicación de registros de Amazon RDS en Registros de CloudWatch, consulte [Publicación de registros de base de datos en Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) en la *Guía del usuario de Amazon RDS*.

Para obtener información sobre la publicación de registros de Aurora en Registros de CloudWatch, consulte [Publicación de registros de base de datos en Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) en la *Guía del usuario de Amazon Aurora*.

Para obtener información sobre la configuración de parámetros de la base de datos en Amazon RDS, consulte [Configuración de la base de datos para supervisar consultas SQL lentas con Información sobre las bases de datos para Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.SlowSQL.html) en la *Guía del usuario de Amazon RDS*.

Para obtener información sobre la configuración de parámetros de la base de datos en Amazon Aurora, consulte [Configuración de la base de datos para supervisar consultas SQL lentas con Información sobre las bases de datos para Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.SlowSQL.html) en la *Guía del usuario de Amazon Aurora*.

En la sección **Consultas SQL lentas** se proporciona una lista de patrones de las consultas lentas ordenados por frecuencia. Al seleccionar un patrón, puede ver una lista de las consultas lentas que coinciden con el patrón seleccionado. Puede utilizar la lista de consultas lentas para identificar las consultas lentas que afectan a su instancia de base de datos. 

Información sobre las bases de datos muestra las estadísticas de las consultas lentas. Las estadísticas representan solo las consultas que superan el umbral de duración de consulta lenta configurado.

![\[Muestra detalles sobre un ejemplo de consulta SQL lenta\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_slowsql.png)


**importante**  
Las consultas lentas pueden contener información confidencial. Enmascare su información confidencial con Registros de CloudWatch. Para obtener más información, consulte [Help protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html) en la *Guía del usuario de Registros de Amazon CloudWatch*.

### Tabla de eventos
<a name="Database-Insights-events-tel"></a>

Utilice la tabla **Eventos** para ver los eventos de RDS de su instancia de base de datos. Para obtener una lista de los eventos de Amazon Aurora, consulte [Categorías y mensajes de eventos de Amazon RDS para Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) en la *Guía del usuario de Amazon Aurora*. Para ver una lista de eventos de Amazon Relational Database Service, consulte [Categorías de eventos de Amazon RDS y mensajes de eventos para Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) en la *Guía del usuario de Amazon RDS*.

![\[Tabla de eventos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did-events.png)


## Pestaña de servicios de llamadas
<a name="Database-Insights-calling"></a>

Información sobre las bases de datos muestra los servicios y las operaciones que llaman a la instancia. Información sobre las bases de datos se integra con CloudWatch Application Signals para proporcionar métricas para cada servicio y operación, incluidas la disponibilidad, la latencia, los errores y el volumen.

Cuando el punto de conexión llamado por la aplicación es un clúster de Aurora, Información sobre las bases de datos mostrará el punto de conexión del escritor o del lector del clúster de Aurora en la tabla **Servicios de llamada**, y no la instancia de base de datos individual. Sin embargo, cuando la aplicación llama a un punto de conexión de un clúster de Amazon RDS, Información sobre las bases de datos muestra la instancia de base de datos específica a la que llama la aplicación dentro del clúster de Amazon RDS”.

![\[Pestaña de servicios de llamadas\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did-calling.png)


## Análisis del rendimiento de las bases de datos bajo demanda con Información sobre las bases de datos de CloudWatch
<a name="Database-Insights-On-demand-Analysis"></a>

Analice el rendimiento de las base de datos con análisis bajo demanda para sus bases de datos de Amazon RDS con Información sobre las bases de datos de CloudWatch.

Para ejecutar un análisis de rendimiento bajo demanda, puede seleccionar **Analizar el rendimiento** en la esquina superior derecha del gráfico **Carga de base de datos**. El informe se ejecutará durante el periodo de tiempo seleccionado. Utilice la pestaña **Análisis de rendimiento** para ver los informes de análisis de rendimiento de las bases de datos de su flota.

![\[Pestaña Análisis de rendimiento\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_dl-perfanalysis.png)


Para obtener información sobre los informes de análisis de rendimiento de Amazon Aurora, consulte [Análisis del rendimiento de la base de datos durante un período de tiempo](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod.html) en la *Guía del usuario de Amazon Aurora*.

## Integración de Información sobre las bases de datos de CloudWatch con CloudWatch Application Signals
<a name="Database-Insights-Integration-Application-Signals"></a>

Integre Información sobre las bases de datos de CloudWatch con CloudWatch Application Signals.

Utilice la pestaña **Servicios de llamadas** para ver los servicios y las operaciones de CloudWatch Application Signals que llamaron a un punto de conexión de la instancia seleccionada. De forma predeterminada, CloudWatch ordena la tabla por tasa de errores. Elija valores de las columnas **Servicios**, **Operaciones** o **Direcciones de puntos de conexión** para ver el recurso correspondiente en la consola de CloudWatch Application Signals.

Para obtener más información sobre los sistemas compatibles con CloudWatch Application Signals, consulte [Sistemas compatibles](CloudWatch-Application-Signals-supportmatrix.md).

# Análisis de árboles de bloqueos para Amazon Aurora PostgreSQL y Amazon RDS para PostgreSQL mediante Información sobre las bases de datos de CloudWatch
<a name="Database-Insights-Lock-Analysis"></a>

Para solucionar los problemas de rendimiento causados por los bloqueos, puede analizar los árboles de bloqueos de las bases de datos de Amazon Aurora PostgreSQL y Amazon RDS para PostgreSQL mediante Información sobre las bases de datos de CloudWatch de la siguiente manera:
+ Menú desplegable **Divididos por**: elija las dimensiones **Bloqueo de objeto**, **Bloqueo de sesión** o **Bloqueo de SQL** en el diagrama **Carga de la base de datos** para ver cómo los distintos bloqueadores principales contribuyen a la carga de la base de datos a lo largo del tiempo. Con el diagrama de carga de la base de datos, puede analizar si los principales bloqueadores son constantes o si cambian con frecuencia. A continuación, puede solucionar los problemas de los bloqueadores.  
![\[La tabla SQL principal con Sesión de bloqueo seleccionada en el menú desplegable Fragmentada por\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/DBInsights_TopSQLBlocking.png)
+ Pestaña **Análisis de bloqueos**: seleccione **Análisis de carga de la base de datos** y luego la pestaña **Análisis de bloqueos** para ver información sobre la contención de bloqueos en la base de datos.  
![\[La tabla Árboles de bloqueos en el panel Carga de la base de datos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/DBInsights_LoadLockAnalysis.png)

**nota**  
Información sobre las bases de datos de CloudWatch admite el análisis de bloqueos para todas las versiones de Aurora PostgreSQL. Para analizar los árboles de bloqueos, debe tener habilitado el modo avanzado de Información sobre las bases de datos. Para obtener información sobre cómo activar el modo avanzado, consulte [Activar el modo avanzado de Información sobre las bases de datos para Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) y [Activar el modo avanzado de Información sobre las bases de datos para Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html).

La pestaña de análisis de bloqueos proporciona información sobre la contención de bloqueos de su base de datos. La visualización del árbol de bloqueos muestra las relaciones y dependencias entre las solicitudes de bloqueo de distintas sesiones.

Información sobre las bases de datos captura instantáneas cada 15 segundos. Las instantáneas muestran los datos de bloqueo de su base de datos en un momento determinado.

**nota**  
Cuando CloudWatch detecta un alto nivel de bloqueos, muestra el banner **Se detectó un alto nivel de bloqueos** en la pestaña de **Análisis de bloqueos**. CloudWatch detecta un alto nivel de bloqueo si CloudWatch toma una instantánea de bloqueo por cada intervalo de 15 segundos durante 15 minutos consecutivos.

Cada nodo del árbol representa una sesión específica. El nodo principal es una sesión que bloquea sus nodos secundarios.

Para analizar árboles de bloqueos, use el siguiente procedimiento.

**Análisis de árboles de bloqueos**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**.

1. Elija **Información sobre bases de datos**.

1. Elija la vista **Instancia de base de datos**.

1. Elija una instancia de base de datos.

1. Seleccione la pestaña **Análisis de carga de bases de datos**.

1. Seleccione la pestaña **Análisis de bloqueos**.

   Para ver los datos de bloqueo de una instancia de base de datos, elija un periodo de 1 día o menos.

1. Elija una ventana de instantáneas. De forma predeterminada, Información sobre las bases de datos elige la ventana de instantáneas con las sesiones más bloqueadas.  
![\[Tabla de análisis de bloqueos\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_lock-analysis.png)

1. Para ver los datos de bloqueo de una instantánea, elija el momento en que Información sobre las bases de datos tomó la instantánea.

1. Para expandir un árbol de bloqueos, elija la flecha situada junto al identificador de la sesión.  
![\[Árbol de bloqueos expandido\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_lock-analysis-expand.png)

## Datos de bloqueo de instantáneas
<a name="Database-Insights-Lock-Analysis-snapshot-data"></a>

Información sobre las bases de datos proporciona la siguiente información para cada solicitud de bloqueo. Para ver las columnas que no están habilitadas de forma predeterminada, seleccione el icono de **configuración** de la tabla **Árboles de bloqueos** y active las demás columnas.


| Nombre de la columna | Definición  | Columna predeterminada | Notas | 
| --- | --- | --- | --- | 
|  `session_id`  | El identificador único de la sesión. |  Sí  | El `session_id` se deriva de `HEX(pg_stat_activity.backend_start).HEX(pg_locks.pid)`. | 
|  `pid`  | El PID de este backend. |  Sí  | `pg_locks.pid` | 
|  `blocked_sessions_count`  | El número de sesiones bloqueadas por este bloqueo. |  Sí  | El `blocked_sessions_count` se deriva del número de identificadores de sesión bloqueados por este bloqueo. | 
|  `last_query_executed`  | La última consulta ejecutada por esta sesión. En el caso de los bloqueadores, puede que no sea la consulta la que contenga el bloqueo. |  Sí  | `pg_stat_activity.query` | 
|  `wait_event`  | El nombre del evento de espera si el backend está esperando actualmente; de lo contrario, el valor es NULL. |  Sí  | `pg_stat_activity.wait_event` | 
|  `blocking_time_(In Seconds)`  | El tiempo (en segundos) transcurrido desde el inicio de este bloqueo. |  Sí  | El `blocking_time_(In Seconds)` se deriva de la hora de inicio de la transacción en espera (`pg_locks.waitstart`) para la primera persona que espera. | 
|  `blocking_mode`  | El modo de bloqueo que mantiene la sesión de bloqueo. |  No  | `pg_locks.mode` | 
|  `waiting_mode`  | El modo de bloqueo solicitado por la sesión de espera. |  No  | `pg_locks.mode` | 
|  `application`  | El nombre de la aplicación que está conectada a este backend. |  No  | `pg_stat_activity.application_name` | 
|  `blocking_txn_start_time`  | La hora de inicio de la transacción de bloqueo o valor nulo si no hay ninguna transacción activa. |  No  | `pg_stat_activity.xact_start` | 
|  `waiting_start_time`  | La hora a la que una sesión de usuario en espera comenzó a esperar este bloqueo; valor nulo si el bloqueo se mantiene. |  No  | `pg_locks.waitstart` | 
|  `session_start_time`  | La hora en que se inició una sesión de usuario. |  No  | `pg_stat_activity.backend_start` | 
|  `state`  | El estado de un backend.  |  No  | `pg_stat_activity.state` | 
|  `wait_event_type`  | El tipo de evento de espera que está esperando esta sesión. |  No  | `pg_stat_activity.wait_event_type` | 
|  `last_query_exec_time`  | La hora en que comenzó la última consulta. |  No  | `pg_stat_activity.query_start` | 
|  `user`  | El nombre del usuario que inició sesión en este backend. |  No  | `pg_stat_activity.usename` | 
|  `host`  | El nombre del host del cliente conectado, según lo informado por una búsqueda inversa de DNS de `client_addr`. Este campo solo será distinto de un valor nulo para las conexiones IP y solo cuando [log\$1hostname](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-HOSTNAME) esté habilitado. |  No  | `pg_stat_activity.client_hostname` | 
|  `port`  | El número de puerto TCP que el cliente usa para comunicarse con este backend o `-1` si se usa un socket Unix. Si este campo es nulo, indica que se trata de un proceso interno del servidor. |  No  | `pg_stat_activity.client_port` | 
|  `client_address`  | La dirección IP del cliente conectado a este backend. Si este campo es nulo, indica que el cliente está conectado a través de un socket Unix en el servidor o que se trata de un proceso interno, como el “autovacío”. |  No  | `pg_stat_activity.client_addr` | 
|  `granted`  | El valor es verdadero si se mantiene el bloqueo y falso si se espera el bloqueo. |  No  | `pg_locks.granted` | 
|  `waiting_tuple`  |  El número de tupla al que apunta el bloqueo dentro de la página; el valor es nulo si el destino no es una tupla.  |  No  | `pg_locks.tuple` | 
|  `waiting_page`  | El número de página al que apunta el bloqueo dentro de la relación; el valor es nulo si el destino no es una página de relación o tupla. |  No  | `pg_locks.page` | 
|  `waiting_transaction_id`  | El identificador de la transacción a la que apunta el bloqueo; el valor es nulo si el destino no es un identificador de transacción. |  No  | `pg_locks.transactionid` | 
|  `waiting_relation`  | El OID de la relación a la que apunta el bloqueo; el valor es nulo si el destino no es una relación o parte de una relación. |  No  | `pg_locks.relation` | 
|  `waiting_object_id`  | El OID del destino de bloqueo en su catálogo de sistema; el valor es nulo si el destino no es un objeto de base de datos general. |  No  | `pg_locks.objid` | 
|  `waiting_database_id`  | El OID de la base de datos en la que existe el destino de bloqueo; el valor es cero si el destino es un objeto compartido o nulo si el destino es un identificador de transacción. |  No  | `pg_locks.database` | 
|  `waiting_database_name`  | El nombre de la base de datos donde se encuentra el destino del bloqueo. |  No  | `pg_stat_activity.datname` | 
|  `waiting_locktype`  | El tipo de objeto bloqueable: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory o applytransaction. |  No  | `pg_locks.locktype` | 
|  `is_fastpath`  | El valor es verdadero si el bloqueo se tomó por la ruta rápida y falso si se tomó de la tabla de bloqueos principal. |  No  | `pg_locks.fastpath` | 

Para obtener más información sobre los valores de las vistas `pg_stat_activity` y `pg_locks`, consulte los temas siguientes de la documentación de PostgreSQL.
+ [pg\$1locks](https://www.postgresql.org/docs/current/view-pg-locks.html)
+ [pg\$1stat\$1activity](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW)

# Análisis de planes de ejecución con Información sobre las bases de datos de CloudWatch
<a name="Database-Insights-Execution-Plans"></a>

Puede analizar los planes de ejecución para Amazon Aurora PostgreSQL, RDS para Microsoft SQL Server y RDS para Oracle a través de los siguientes métodos.
+ Menú desplegable **Divididos por**: elija la dimensión **Planes** en el diagrama **Carga de la base de datos** para ver cómo contribuyen los distintos planes a la carga de la base de datos a lo largo del tiempo.
+ Pestaña **Principales SQL**: seleccione **Análisis de carga de base de datos** y, a continuación, elija la pestaña **Principales SQL** para ver el número de planes de cada consulta de resumen.

  Para analizar los planes de ejecución de una consulta de resumen, seleccione la consulta y, a continuación, elija la pestaña **Planes**. Para obtener más información, consulte el siguiente procedimiento.

## Requisitos previos
<a name="Database-Insights-Execution-Plans-prereqs"></a>

Para analizar los planes de ejecución, debe utilizar el modo avanzado de Información sobre las bases de datos. Para obtener información sobre cómo activar el modo avanzado, consulte [Activar el modo avanzado de Información sobre las bases de datos para Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) y [Activar el modo avanzado de Información sobre las bases de datos para Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html).

Si utiliza Aurora PostgreSQL, también debe cumplir con los siguientes requisitos previos:
+ La instancia de base de datos debe usar la versión 14.10, 15.5 o posterior de Aurora PostgreSQL. Para obtener información sobre la actualización del clúster de base de datos de Aurora PostgreSQL, consulte [Actualización de los clústeres de base de datos de Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.PostgreSQL.html) en la *Guía del usuario de Amazon Aurora*.
+ Debe configurar el clúster de base de datos para analizar los planes de ejecución. Para ello, establezca el parámetro `aurora_compute_plan_id` en `on` con una de las siguientes opciones.
  + [Creación de un grupo de parámetros de clúster de base de datos en Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html) en la *Guía del usuario de Amazon Aurora*
  + [Modificación de parámetros en un grupo de parámetros de clúster de base de datos en Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.ModifyingCluster.html) en la *Guía del usuario de Amazon Aurora*

## Análisis de planes de ejecución
<a name="Database-Insights-Execution-Plans-analyze"></a>

Para analizar planes de ejecución, use el siguiente procedimiento.

**Análisis de planes de ejecución**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Elija **Información**.

1. Elija **Información sobre bases de datos**.

1. Elija la vista **Instancia de base de datos**.

1. Elija una instancia de base de datos.

1. Elija la pestaña **Top SQL** (SQL principal). En la columna **Recuento de planes** se muestra el número de planes recopilados para cada consulta de resumen.

1. (Opcional) Si la columna **Recuento de planes** no aparece, elija el ícono de **Configuración** en la tabla **SQL principales** para personalizar la visibilidad y el orden de las columnas.  
![\[Configuración de la tabla de detalles del plan\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/DBInsights2.png)

1. Elija una consulta resumen para expandirla y ver las instrucciones de sus componentes.  
![\[Ampliación de una consulta para ver las instrucciones de sus componentes\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload-expand.png)

1. Desplácese hacia abajo y vea el texto SQL. A continuación, seleccione la pestaña **Planes**.

   De forma predeterminada, CloudWatch muestra el plan de ejecución estimado. En el caso de Aurora PostgreSQL, para ver planes de ejecución reales, habilite el parámetro `aurora_stat_plans.with_analyze` en la instancia de base de datos. Para obtener más información sobre el parámetro `aurora_stat_plans.with_analyze`, consulte [Monitorización de planes de ejecución de consultas y memoria en punto máximo de Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Monitoring.Query.Plans.html#aurora.with_analyze) en la *Guía del usuario de Amazon Aurora*.

1. Para comparar los planes de la misma consulta de resumen, elija dos **planes** de la lista **Planes para consultas de resumen**.

   Puede ver uno o dos planes para una consulta a la vez. En la siguiente captura de pantalla, ambos planes corresponden a Aurora PostgreSQL.   
![\[Comparación de planes\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_did-plans.png)

1. También puede ver cómo cada plan contribuye a la carga de la base de datos a lo largo del tiempo. Para ello, seleccione **Planes** en el menú desplegable **Dividir por** del gráfico de carga de la base de datos.  
![\[Database load chart showing active sessions over time with plans contribution highlighted.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/DBInsights_OverTime.png)

# Supervisión de las bases de datos de Aurora Limitless con Database Insights
<a name="database-insights-limitless"></a>

Información sobre las bases de datos admite la supervisión de [bases de datos ilimitadas de Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.Engines.html) por flota e instancia. Las bases de datos ilimitadas de Aurora PostgreSQL se pueden encontrar tanto en el panel Instancias de bases de datos como en el panel Estado de la flota.

Las bases de datos ilimitadas de Aurora PostgreSQL utilizan *grupos de particiones*. Cada grupo de particiones consta de varias instancias de bases de datos que funcionan juntas para procesar cargas de trabajo distribuidas. Database Insights le ayuda a comprender la distribución de la carga entre las instancias de un grupo de particiones.

En el panel Estado de la flota, Información sobre las bases de datos supervisa sus grupos de particiones ilimitadas junto con el resto de bases de datos que componen sus flotas de bases de datos. Puede obtener una visión fundamentada del estado y del uso de DBLoad para sus grupos de particiones ilimitados, del mismo modo que lo hace con otras bases de datos de la flota. En el panel Instancia, Información sobre las bases de datos proporciona supervisión tanto por grupo de particiones como de instancias individuales dentro del grupo. Información sobre las bases de datos proporciona una nueva vista por grupo de particiones en el que puede ver la carga de la base de datos distribuida entre las instancias del grupo de particiones. Desde allí, puede navegar hasta el panel de instancias específico dentro de un grupo de particiones.

## Funciones disponibles para Aurora Limitless
<a name="database-insights-limitless-features"></a>

En la siguiente tabla, se muestran las características disponibles para las bases de datos ilimitadas de Aurora PostgreSQL. Indican si cada característica es compatible con los modos de supervisión Estándar y Avanzado, si están disponibles por grupo de partición o por instancia, y si están disponibles en el panel Flota o Instancia de Información sobre las bases de datos.


| Característica | Estándar | Avanzado | Grupo de particiones | Instancia | Panel de Información sobre las bases de datos | 
| --- | --- | --- | --- | --- | --- | 
| Analizar los principales factores que contribuyen a la carga de bases de datos por dimensión | Soportado | Compatible | Sí | Sí | Instancia | 
| Consultar, graficar y definir alarmas para las métricas de bases de datos con una retención de hasta 7 días | Soportado | Compatible | Sí | Sí | Instancia | 
| Definir políticas de control de acceso detalladas para restringir el acceso a las dimensiones potencialmente confidenciales, como el texto SQL | Soportado | Compatible | Sí | Sí | Instancia | 
| Usar el componente Load Distributor para analizar la distribución de la carga entre las instancias del mismo grupo de particiones | Soportado | Compatible | Sí | No | Instancia | 
|  Análisis de los procesos del sistema operativo que ocurren en sus bases de datos con métricas detalladas por proceso en ejecución Para que esta característica funcione, se necesita la [Supervisión mejorada de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html).  | No admitido | Compatible | No | Sí | Instancia | 
| Crear y guardar vistas de supervisión de toda la flota para evaluar el estado de cientos de bases de datos | No admitido | Compatible | Sí | No | Fleet | 
| Análisis de los bloqueos de SQL con 15 meses de retención y una experiencia de usuario guiada | No admitido | No admitido | No | No | Instancia | 
| Análisis de los planes de ejecución de SQL con 15 meses de retención y una experiencia de usuario guiada | No admitido | No admitido | No | No | Instancia | 
| Visualizar las estadísticas por consulta | No admitido | Compatible | No | Sí | Instancia | 
| Analizar las consultas SQL lentas Para que esta característica funcione, es necesario exportar los registros de bases de datos a Registros de CloudWatch. | No admitido | Compatible | No | Sí | Instancia | 
| Consultar los servicios de llamadas con CloudWatch Application Signals | No admitido | Compatible | Sí | No | Ambos | 
| Consultar un panel consolidado para toda la telemetría de las bases de datos, incluidas las métricas, los registros, los eventos y las aplicacionesPara ver los registros de bases de datos en la consola de Información sobre las bases de datos, es necesario exportar los registros de bases de datos a Registros de CloudWatch. | No admitido | Compatible | No | Sí | Instancia | 
| Importar automáticamente a CloudWatch las métricas de contadores de Información de rendimiento | No admitido | Compatible | N/A | N/A | Instancia | 
| Consultar en CloudWatch los eventos de Amazon RDS | No admitido | Compatible | Sí | No | Ambos | 
| Analizar el rendimiento de las bases de datos durante un periodo a su elección mediante el análisis bajo demanda | No admitido | No admitido | No | No | Instancia | 

**nota**  
La monitorización mejorada se habilita automáticamente para las bases de datos ilimitadas de Aurora PostgreSQL. Supervisión mejorada incurre en cargos adicionales. Para obtener más información, consulte [Costo de la monitorización mejorada](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.cost).   
En el caso de las bases de datos ilimitadas de Aurora PostgreSQL, los registros se publican automáticamente en CloudWatch Logs y se pueden descubrir en la consola de Database Insights. Esto conlleva cargos adicionales, según los precios estándar de Registros de CloudWatch. Para obtener más información sobre cómo se fijan los precios y ejemplos de precios de Información sobre las bases de datos y Registros de CloudWatch, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/?nc1=h_ls).

## Supervisión de los grupos de particiones ilimitadas de Aurora en el panel Estado de la flota
<a name="database-insights-limitless-fleet"></a>

 Información sobre las bases de datos admite la supervisión de los grupos de particiones ilimitadas de Aurora en el panel Estado de la flota.

En esta vista, puede ver sus grupos de particiones ilimitadas junto con otras bases de datos que componen sus flotas de bases de datos. El panel de Estado de la flota ofrece una visión fundamentada del estado y el uso de DBLoad para sus grupos de particiones ilimitadas, similar a cómo presenta la información de otras bases de datos de la flota. 

![\[Panel Estado de la flota de Información sobre las bases de datos. El panel principal muestra una cuadrícula hexagonal que representa las instancias de bases de datos, con una resaltada para “shardgroup2”. Muestra el uso de la carga de la base de datos para enrutadores y particiones. En la parte superior derecha se muestra el gráfico “Las 10 instancias principales por uso de carga de la base de datos” a lo largo del tiempo. A continuación, se muestran los detalles de “db-microsoftsqlserver-enterprise-1-dbi-advanced”, incluidas las consultas principales y los eventos de espera. En las secciones inferiores no se muestran eventos críticos ni servicios de llamadas. La barra lateral izquierda indica un total de 44 instancias, 2 de ellas en estado de alarma, y un uso medio de la carga de la base de datos del 25,1 %.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_fhd.png)


 Al ver las bases de datos ilimitadas de Aurora en el panel Estado de la flota: 
+ Solo están visibles los grupos de particiones, no las instancias individuales
+ Los grupos de particiones aparecen en los siguientes widgets:
  + El gráfico de nido de abeja
  + Las 10 instancias por DBLoad
  + Events
  + Servicios de llamadas
  + La lista de tablas
+ El uso de DBLoad se proporciona tanto para enrutadores como para particiones

Esta vista por flota le permite supervisar y comparar el rendimiento de sus grupos de particiones ilimitadas de Aurora con otras bases de datos de su flota, lo que proporciona una visión general completa de toda su flota de bases de datos.

![\[Panel de Información sobre las bases de datos que muestra una lista de instancias de bases de datos. La tabla muestra 7 instancias con su identificador de base de datos, estado de alarma, tipo de motor, uso de la carga de la base de datos, última actualización de estado y versión de la base de datos. Los motores incluyen PostgreSQL, SQL Server Enterprise, Oracle Standard, Aurora MySQL y Aurora PostgreSQL. La instancia de SQL Server tiene la carga más alta, con un 25,21 %. Dos instancias de Aurora PostgreSQL están etiquetadas como “Ilimitadas” y muestran un uso independiente para las particiones y los enrutadores. La interfaz incluye opciones para filtrar, ordenar y ver detalles adicionales.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-limitless-list-view.png)


## Supervisión de bases de datos ilimitadas de Aurora PostgreSQL en el panel Instancia
<a name="database-insights-limitless-monitor"></a>

Database Insights para bases de datos ilimitadas de Aurora PostgreSQL funciona de manera similar que para los clústeres de bases de datos estándar de Aurora. Sin embargo, usted realiza un seguimiento de las métricas en el nivel de grupo de particiones para Base de datos ilimitada de Aurora PostgreSQL. Las dos métricas principales que hay que seguir son las siguientes:
+ **Carga de base de datos**: mide el nivel de actividad en la base de datos. La métrica clave es `DBLoad`, que se recopila cada segundo. La unidad para la métrica `DBLoad` es el promedio de sesiones activas (AAS). Para obtener un promedio de sesiones activas, Database Insights hace un muestreo del número de sesiones que ejecutan una consulta al mismo tiempo. El AAS es el total del número de sesiones dividido entre el total del número de muestras para un periodo de tiempo específico.
+ **CPU máxima**: es la potencia computacional máxima disponible para la base de datos. Para ver si las sesiones activas superan el máximo de la CPU, observe su relación con la línea `Max vCPU`. El valor `Max vCPU` viene determinado por el número de núcleos de vCPU (CPU virtual) de la instancia de base de datos.

Además, puede “dividir” la métrica `DBLoad` en dimensiones, que son subcategorías de ella. Las dimensiones más útiles son las siguientes:
+ **Instancias principales**: muestran la carga de base de datos relativa de sus instancias (particiones y enrutadores) en orden descendente.
+ **Eventos de espera**: provocan que una instrucción SQL espere a que ocurran eventos específicos antes de que pueda continuar ejecutándose. Los eventos de espera indican dónde se impide el trabajo.
+ **SQL principal**: muestra qué consultas contribuyen más a la carga de la base de datos.

![\[El panel Información sobre las bases de datos muestra las métricas de rendimiento de la base de datos. La sección superior muestra un gráfico lineal que hace el seguimiento de la actividad de la base de datos entre las 12:00 h y las 14:45 h del 14 de julio. A continuación, la pestaña Análisis de carga de la base de datos muestra la vista “Instancias principales” con una lista de 4 instancias de base de datos (DTR-3-757, DTR-2-903, DAS-4-112 y DAS-5-992) con sus métricas de uso de la carga. Todas muestran valores inferiores a 0,01 AAS (promedio de sesiones activas). La interfaz incluye opciones para estados de alarma, filtros y varias vistas de análisis.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_limitless-top-instances.png)


## Análisis de la carga de base de datos para bases de datos ilimitadas de Aurora PostgreSQL con Database Insights
<a name="database-insights-limitless-dbload"></a>

Con Database Insights, puede realizar un seguimiento de las métricas por grupo de partición o instancia para una base de datos ilimitada de Aurora PostgreSQL. Al analizar la carga de base de datos de una Base de datos ilimitada de Aurora PostgreSQL, se recomienda comparar la carga de base de datos de cada partición y enrutador con la vCPU máxima.

La vista Absoluta muestra el número promedio de sesiones activas (AAS) y la vCPU estimada. La vista Relativa muestra la relación entre el AAS y la vCPU estimada.

![\[Panel de Información sobre las bases de datos que muestra la distribución de la carga de la base de datos para un clúster shardgroup1 de Aurora PostgreSQL. La interfaz muestra un gráfico de series temporales del promedio de sesiones activas (AAS) y un gráfico circular que muestra la distribución de la carga en 5 instancias de base de datos. El gráfico circular indica un total de 261 AAS con porcentajes divididos entre las instancias DTR-2-103, DTR-3-650, DAS-4-659, DAS-5-784 y DAS-6-336. El panel incluye filtros, estados de alarma y opciones de telemetría de bases de datos.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/dbi_limitless-doughnut.png)


### Análisis de la carga de la base de datos relativa mediante el panel Database Insights
<a name="analyzing-relative-db-load"></a>

Es posible que desee mejorar el rendimiento de su Base de datos ilimitada de Aurora PostgreSQL mediante el seguimiento de la carga de base de datos relativa. Para analizar la carga de la base de datos relativa por instancia de su Base de datos ilimitada de Aurora PostgreSQL, utilice el siguiente procedimiento.

**Análisis de la carga de base de datos relativa mediante la consola**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija Database Insights.

1. Seleccione una Base de datos ilimitada de Aurora PostgreSQL. Aparecerá el panel Database Insights para esa base de datos ilimitada de Aurora PostgreSQL.

1. En la sección Carga de base de datos, elija *Instancias* junto a *Dividido por*. Para ver la proporción entre el promedio de sesiones activas (AAS) y los núcleos de vCPU de todas las instancias de Base de datos ilimitada de Aurora PostgreSQL, seleccione *Relativo* en *Visto como*.

   En el gráfico de sesiones activas promedio, se muestra la carga para las instancias de su base de datos ilimitada de Aurora PostgreSQL.

1. Para ver las instancias principales, seleccione la pestaña *Instancias principales*.

1. (Opcional) Para analizar la carga de base de datos de una instancia en su Base de datos ilimitada de Aurora PostgreSQL, elija el nombre de la instancia en la columna *Instancias*. 

### Análisis de la carga de la base de datos mediante el panel Database Insights
<a name="analyzing-db-load-waits"></a>

Es posible que desee mejorar el rendimiento de su Base de datos ilimitada de Aurora PostgreSQL mediante el seguimiento de los eventos de espera. Para analizar la carga de la base de datos por eventos de espera de su Base de datos ilimitada de Aurora PostgreSQL, utilice el siguiente procedimiento.

**Análisis de la carga de la base de datos por esperas para Base de datos ilimitada de Aurora PostgreSQL mediante la consola**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija Database Insights.

1. Seleccione una Base de datos ilimitada de Aurora PostgreSQL. Aparecerá el panel Database Insights para esa base de datos ilimitada de Aurora PostgreSQL.

1. En la sección Carga de base de datos, elija *Esperas* junto a *Dividido por*. Para ver la cantidad de AAS y la vCPU estimada, seleccione *Absoluta* en *Visto como*.

   El gráfico de sesiones activas promedio muestra la carga de datos para las instancias de su Base de datos ilimitada de Aurora PostgreSQL.

1. Desplácese hasta la pestaña *SQL principal*.

1. Elija la instrucción SQL para expandirla hasta mostrar sus instrucciones componentes.

### Análisis de la distribución de la carga mediante el panel Database Insights
<a name="analyzing-db-load-distribution"></a>

Es posible que quiera equilibrar la distribución de carga de las instancias de Base de datos ilimitada de Aurora PostgreSQL. Para analizar la distribución de carga de las instancias en una Base de datos ilimitada de Aurora PostgreSQL, utilice el siguiente procedimiento.

**Análisis de la distribución de carga de las instancias en una Base de datos ilimitada de Aurora PostgreSQL mediante la consola**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija Database Insights.

1. Seleccione una Base de datos ilimitada de Aurora PostgreSQL. Aparecerá el panel Database Insights para esa base de datos ilimitada de Aurora PostgreSQL.

1. En la sección Carga de base de datos, elija *Instancias* junto a *Dividido por*. Para ver la cantidad de AAS y la vCPU estimada para todas las instancias de su Base de datos ilimitada de Aurora PostgreSQL, seleccione *Absoluta* para *Dividido por*.

   El gráfico de sesiones activas promedio muestra la carga de datos para las instancias de su Base de datos ilimitada de Aurora PostgreSQL.

1. Para ver un gráfico de la distribución de carga de las instancias de su Base de datos ilimitada de Aurora PostgreSQL, seleccione la pestaña *Distribución de carga*.

# Solución de problemas para Información sobre bases de datos de CloudWatch
<a name="Database-Insights-Troubleshooting"></a>

Utilice la siguiente información para solucionar problemas relacionados con Información sobre bases de datos de CloudWatch.

## Aplicación de etiquetas a recursos de Amazon RDS
<a name="Database-Insights-Troubleshooting-tags"></a>

Para aplicar etiquetas a sus bases de datos, utilice la API de Amazon RDS, la AWS CLI o la consola de Amazon RDS. Para obtener más información, consulte los siguientes temas.
+ [AddTagsToResource](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddTagsToResource.html) en la *referencia de la API de Amazon RDS*
+ [add-tags-to-resource](https://docs.aws.amazon.com/cli/latest/reference/rds/add-tags-to-resource.html) en la *referencia de la línea de comandos de Amazon RDS*
+ [Etiquetado de los recursos de Amazon Aurora y Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) en la *Guía del usuario de Amazon Aurora*

## Número máximo de instancias de base de datos para flotas
<a name="Database-Insights-Troubleshooting-fleet-limit"></a>

No puede supervisar más de 500 instancias de base de datos en una flota de bases de datos. Puede usar filtros para crear una vista del estado de la flota con menos de 500 instancias de base de datos.

# Uso de Información de colaboradores para analizar datos de alta cardinalidad
<a name="ContributorInsights"></a>

Puede utilizar Contributor Insights para analizar datos de registro y crear series temporales que muestren datos de colaboradores. Puede ver métricas acerca de los colaboradores Top-N, el número total de colaboradores únicos y su uso. Esto le ayuda a encontrar a los hablantes más activos y a comprender quién o qué afecta al rendimiento del sistema. Por ejemplo, puede encontrar hosts incorrectos, identificar a los usuarios de red más frecuentes o encontrar las URL que más errores generan.

Puede crear reglas desde cero y, cuando utilice la Consola de administración de AWS, también puede usar reglas de ejemplo creadas por AWS. Las reglas definen los campos de registro que desea utilizar para definir colaboradores, como `IpAddress`. También puede filtrar los datos de registro para buscar y analizar el comportamiento de los colaboradores individuales.

CloudWatch también proporciona reglas integradas que se pueden utilizar para analizar métricas de otros servicios de AWS.

Todas las reglas analizan los datos de entrada en tiempo real.

Si ha iniciado sesión en una cuenta que está configurada como cuenta de supervisión en la observabilidad entre cuentas de CloudWatch, puede crear reglas de Información de colaboradores en esa cuenta de supervisión que analicen los grupos de registro en las cuentas de origen y en la cuenta de supervisión. También puede crear una regla única que analice los grupos de registro de varias cuentas. Para obtener más información, consulte [Observabilidad entre cuentas de CloudWatch](CloudWatch-Unified-Cross-Account.md).

Con Información de colaboradores, se le cobra por cada aparición de un evento de registro que coincida con una regla. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

**nota**  
Información de colaboradores solo puede hacer coincidir entradas de registro cuando los valores numéricos a los que hace referencia la regla se encuentren entre -1e9 y 1e9. Si un valor de una entrada de registro está fuera de este rango, Información de colaboradores omite esa entrada de registro.

**Topics**
+ [Creación de una regla de Información de colaboradores en CloudWatch](ContributorInsights-CreateRule.md)
+ [Sintaxis de regla de Información de colaboradores en CloudWatch](ContributorInsights-RuleSyntax.md)
+ [Ejemplos de regla de Información de colaboradores de CloudWatch](ContributorInsights-Rule-Examples.md)
+ [Consulta de informes de Información de colaboradores en CloudWatch](ContributorInsights-ViewReports.md)
+ [Representación gráfica de métricas generadas por reglas en CloudWatch](ContributorInsights-GraphReportData.md)
+ [Uso de reglas integradas de Información de colaboradores en CloudWatch](ContributorInsights-BuiltInRules.md)

# Creación de una regla de Información de colaboradores en CloudWatch
<a name="ContributorInsights-CreateRule"></a>

Puede crear reglas para analizar los datos de registro. Se pueden evaluar todos los registros en JSON o Common Log Format (CLF). Esto incluye los registros personalizados que siguen uno de estos formatos y los registros de AWS, como los registros de flujo de Amazon VPC, los registros de consultas de DNS de Amazon Route 53, los registros de contenedores de Amazon ECS y los registros de AWS CloudTrail, Amazon SageMaker AI, Amazon RDS, AWS AppSync y API Gateway.

En una regla, al especificar valores o nombres de campo, todas las coincidencias distinguen entre mayúsculas y minúsculas.

Al crear una regla, puede utilizar reglas de ejemplo integradas o bien crear su propia regla desde cero. Contributor Insights incluye reglas de muestra para los siguientes tipos de registros:
+ Registros de Amazon API Gateway
+ Registros de consultas de DNS públicas de Amazon Route 53
+ Registros de consultas de Amazon Route 53 Resolver
+ Registros de CloudWatch Container Insights
+ Logs de flujo de VPC

Si ha iniciado sesión en una cuenta que está configurada como cuenta de supervisión en la observabilidad entre cuentas de CloudWatch, puede crear reglas de Información de colaboradores para los grupos de registro de las cuentas de origen que estén vinculadas a la cuenta de supervisión, además de crear reglas para los grupos de registro de la cuenta de supervisión. También puede configurar una sola regla que supervise los grupos de registro en diferentes cuentas. Para obtener más información, consulte [Observabilidad entre cuentas de CloudWatch](CloudWatch-Unified-Cross-Account.md).

**importante**  
Cuando concede a un usuario el permiso `cloudwatch:PutInsightRule`, de forma predeterminada, ese usuario puede crear una regla que evalúe cualquier grupo de registros en CloudWatch Logs. Puede agregar condiciones de políticas de IAM que limiten estos permisos para que un usuario incluya y excluya grupos de registros específicos. Para obtener más información, consulte [Uso de claves de condición para limitar el acceso de los usuarios de Contributor Insights a los grupos de registro](iam-cw-condition-keys-contributor.md).

**Para crear una regla con una regla de ejemplo integrada**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Registros**, **Información de colaboradores**.

1. Seleccione **Creación de regla**.

   

1.  En **Select log group(s)**, seleccione los grupos de registro que quiera que la regla supervise. Puede seleccionar hasta 20 grupos de registro. Si ha iniciado sesión en una cuenta de supervisión que esté configurada para la observabilidad entre cuentas de CloudWatch, puede seleccionar grupos de registro en las cuentas de origen y también puede configurar una regla única para analizar los grupos de registro de diferentes cuentas. 

   1.  (Opcional) Para seleccionar todos los grupos de registros que tienen nombres que empiezan por una cadena específica, elija el menú desplegable **Select by prefix match** (Seleccionar por concordancia de prefijo) y, a continuación, introduzca el prefijo. Si se trata de una cuenta de supervisión, tiene la opción de seleccionar las cuentas en las que quiera buscar; de lo contrario, se seleccionarán todas las cuentas. 
**nota**  
 Incurrirá en cargos por cada evento de registro que coincida con su regla. Si elige el menú desplegable **Select by prefix match** (Seleccionar por concordancia de prefijo), tenga en cuenta cuántos grupos de registros puede coincidir el prefijo. Si busca más grupos de registro de los que pretendía, puede incurrir en cargos inesperados. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing). 

1. En **Rule type** (Tipo de regla), elija **Sample rule** (Regla de ejemplo). A continuación, elija **Select sample rule** (Seleccionar regla de ejemplo) y seleccione la regla.

1. En **Formato de registro**, seleccione el formato de los registros que evaluará la regla.

1. Para **Transformadores**, seleccione **Habilitar información de colaboradores en transformadores** para que la regla evalúe los eventos de registro después de que sean transformados por la [transformación de registros de CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html). Si decide habilitar esta opción:
   + Si la regla evalúa algún grupo de registros que tenga transformadores, la regla se aplica a las versiones transformadas de los registros.
   + Si la regla evalúa algún grupo de registros que no tenga transformadores, la regla se aplica a las versiones originales de los registros.

   Si no selecciona esta opción, la evaluación se realizará con los eventos de registro originales en todos los grupos de registros, incluso en los que utilicen la transformación de registros. 
**nota**  
Si un grupo de registros tiene un transformador y la transformación falla en algunos eventos de registro, Contributor Insights no evaluará esos eventos de registro. Para obtener información sobre cómo investigar los errores de transformación de registros, consulte [Métricas de transformación y errores](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Transformation-Errors-Metrics.html).

1.  La regla de ejemplo que eligió ha rellenado los campos **Formato de registro**, **Contribución**, **Filtros** y **Agregado**. Si lo desea, puede ajustar los valores. 

1. Elija **Siguiente**.

1. Escriba un nombre en **Rule name (Nombre de la regla)**. Los caracteres válidos son A-Z, a-z, 0-9, (guion), (guion bajo) y (punto).

1. Elija si desea crear una regla deshabilitada o habilitada. Si elige habilitarla, la regla comenzará a analizar sus datos inmediatamente. Cuando se ejecutan reglas habilitadas, se incurre en costos. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

   Contributor Insights analiza solo eventos de registro nuevos una vez creada una regla. Una regla no puede procesar eventos de registros que CloudWatch Logs haya procesado anteriormente.

1. (Opcional) En **Tags** (Etiquetas), agregue uno o más pares de clave-valor como etiquetas para esta regla. Las etiquetas pueden ayudarlo a identificar y organizar sus recursos de AWS y a realizar un seguimiento de sus costes de AWS. Para obtener más información, consulte [Etiquetado de los recursos de Amazon CloudWatch](CloudWatch-Tagging.md).

1. Elija **Crear**.

**Para crear una regla desde cero**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Registros**, **Información de colaboradores**.

1. Seleccione **Creación de regla**.

   

1.  En **Select log group(s)**, seleccione los grupos de registro que quiera que la regla supervise. Puede seleccionar hasta 20 grupos de registro. Si ha iniciado sesión en una cuenta de supervisión que esté configurada para la observabilidad entre cuentas de CloudWatch, puede seleccionar grupos de registro en las cuentas de origen y también puede configurar una regla única para analizar los grupos de registro de diferentes cuentas. 

   1.  (Opcional) Para seleccionar todos los grupos de registros que tienen nombres que empiezan por una cadena específica, elija el menú desplegable **Select by prefix match** (Seleccionar por concordancia de prefijo) y, a continuación, introduzca el prefijo. 
**nota**  
 Incurrirá en cargos por cada evento de registro que coincida con su regla. Si elige el menú desplegable **Select by prefix match** (Seleccionar por concordancia de prefijo), tenga en cuenta cuántos grupos de registros puede coincidir el prefijo. Si busca más grupos de registro de los que pretendía, puede incurrir en cargos inesperados. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing). 

1. En **Rule type**, elija **Custom Rule** (Regla personalizada).

1. En **Log format (Formato de registro)**, elija **JSON** o **CLF**.

1. Para **Transformadores**, seleccione **Habilitar información de colaboradores en transformadores** para que la regla evalúe los eventos de registro después de que sean transformados por la [transformación de registros de CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html). Si decide habilitar esta opción:
   + Si la regla evalúa algún grupo de registros que tenga transformadores, la regla se aplica a las versiones transformadas de los registros.
   + Si la regla evalúa algún grupo de registros que no tenga transformadores, la regla se aplica a las versiones originales de los registros.

   Si no selecciona esta opción, la evaluación se realizará con los eventos de registro originales en todos los grupos de registros, incluso en los que utilicen la transformación de registros. 
**nota**  
Si un grupo de registros tiene un transformador y la transformación falla en algunos eventos de registro, Contributor Insights no evaluará esos eventos de registro. Para obtener información sobre cómo investigar los errores de transformación de registros, consulte [Métricas de transformación y errores](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Transformation-Errors-Metrics.html).

1. Para terminar de crear la regla, utilice el asistente o elija la pestaña **Syntax (Sintaxis)** y especifique la sintaxis de la regla manualmente.

   Para seguir utilizando el asistente, haga lo siguiente:

   1. En **Contribution (Contribución)** y **Key (Clave)**, especifique un tipo de colaborador del que desee informar. En el informe se muestran los N valores principales de este tipo de colaborador.

      Las entradas válidas son cualquier campo de registro que tenga valores. Entre los ejemplos se incluyen **requestId**, **sourceIPaddress** y **containerID**.

      Para obtener información acerca de cómo encontrar los nombres de los campos de registro para los registros de un determinado grupo de estos, consulte [Buscar campos de registro](#finding_log_fields).

      Las claves superiores a 1 KB se truncan en 1 KB.

   1. (Opcional) Seleccione **Add new key** (Agregar nueva clave) para agregar más claves. Puede incluir hasta cuatro claves en una regla. Si especifica más de una clave, las combinaciones de valores únicas de las claves definen a los colaboradores del informe. Por ejemplo, si especifica tres claves, cada combinación única de valores de las tres claves se contará como un colaborador único.

   1. (Opcional) Si desea agregar un filtro que limite los resultados, elija **Add filter** (Agregar filtro). En **Match** (Coincidencia), ingrese el nombre del campo de registro en el que desea aplicar el filtro. En **Condition** (Condición), elija el operador de comparación e ingrese un valor por el cual desee filtrar este campo. 

      Puede añadir hasta cuatro filtros en una regla. La lógica AND une varios filtros, por lo que solo se evalúan los eventos de registro que coincidan con todos los filtros.
**nota**  
Las matrices que siguen los operadores de comparación, tales como `In`, `NotIn` o `StartsWith`, pueden incluir hasta 10 valores de cadena. Para obtener más información acerca de la sintaxis de las reglas de Contributor Insights, consulte [Sintaxis de regla de Información de colaboradores en CloudWatch](ContributorInsights-RuleSyntax.md).

   1. En **Aggregate on** (Agregar según), elija **Count** (Recuento) o **Sum** (Suma). Si se elige **Count** (Recuento), la clasificación de los colaboradores se basará en el número de apariciones. Si se elige **Sum** (Suma), la clasificación se basará en la suma añadida de los valores del campo que especifique para **Contribution** (Contribución) y **Value** (Valor).

1. Para especificar su regla como objeto JSON en lugar de utilizar el asistente, haga lo siguiente:

   1. Elija la pestaña **Syntax (Sintaxis)**.

   1. En **Rule body (Cuerpo de reglas)**, especifique el objeto JSON para su regla. Para obtener información sobre la sintaxis de regla, consulte [Sintaxis de regla de Información de colaboradores en CloudWatch](ContributorInsights-RuleSyntax.md). 

1. Elija **Siguiente**.

1. Escriba un nombre en **Rule name (Nombre de la regla)**. Los caracteres válidos son A-Z, a-z, 0-9, "-", "\$1' y ".".

1. Elija si desea crear una regla deshabilitada o habilitada. Si elige habilitarla, la regla comenzará a analizar sus datos inmediatamente. Cuando se ejecutan reglas habilitadas, se incurre en costos. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

   Contributor Insights analiza solo eventos de registro nuevos una vez creada una regla. Una regla no puede procesar eventos de registros que CloudWatch Logs haya procesado anteriormente.

1. (Opcional) En **Tags** (Etiquetas), agregue uno o más pares de clave-valor como etiquetas para esta regla. Las etiquetas pueden ayudarlo a identificar y organizar sus recursos de AWS y a realizar un seguimiento de sus costes de AWS. Para obtener más información, consulte [Etiquetado de los recursos de Amazon CloudWatch](CloudWatch-Tagging.md).

1. Elija **Siguiente**.

1. Confirme la configuración que haya introducido y seleccione **Create rule** (Crear regla).

Puede deshabilitar, habilitar o eliminar las reglas que ha creado.

**Para habilitar, deshabilitar o eliminar una regla en Contributor Insights**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Registros**, **Información de colaboradores**.

1. En la lista de reglas, seleccione la casilla situada junto a una sola regla.

   Los servicios de AWS crean las reglas integradas, que no se pueden editar, deshabilitar ni eliminar.

1. Elija **Actions (Acciones)** y, a continuación, elija la opción que desee.<a name="finding_log_fields"></a>

**Búsqueda de campos de registro**

Al crear una regla, debe conocer los nombres de los campos de las entradas de registro de un grupo de registros.

**Para buscar los campos de registro en un grupo de registros**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, en **Logs (Registros)**, elija **Insights (Conocimientos)**.

1. Encima del editor de consultas, seleccione uno o varios grupos de registros que va a consultar.

   Al seleccionar un grupo de registros, Información de registros de CloudWatchdetecta automáticamente los campos de los datos en el grupo de registros y los muestra en el panel derecho en **Discovered fields** (Campos detectados). 

# Sintaxis de regla de Información de colaboradores en CloudWatch
<a name="ContributorInsights-RuleSyntax"></a>

En esta sección se explica la sintaxis para las reglas de Contributor Insights. Utilice esta sintaxis solo cuando vaya a crear una regla introduciendo un bloque JSON. Si utiliza el asistente para crear una regla, no necesita conocer la sintaxis. Para obtener más información acerca de cómo crear reglas mediante el asistente, consulte [Creación de una regla de Información de colaboradores en CloudWatch](ContributorInsights-CreateRule.md).

Todas las coincidencias de reglas para registrar valores y nombres de campo de evento distinguen entre mayúsculas y minúsculas.

En el ejemplo siguiente se ilustra la sintaxis de los registros JSON.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "API-Gateway-Access-Logs*",
        "Log-group-name2"
    ],
    "LogFormat": "JSON",
    "Contribution": {
        "Keys": [
            "$.ip"
        ],
        "ValueOf": "$.requestBytes",
        "Filters": [
            {
                "Match": "$.httpMethod",
                "In": [
                    "PUT"
                ]
            }
        ]
    },
    "AggregateOn": "Sum"
}
```Campos en las reglas de Contributor Insights

Esquema  
 En el valor de `Schema` para una regla que analiza datos de CloudWatch Logs siempre debe ser `{"Name": "CloudWatchLogRule", "Version": 1}` 

LogGroupNames  
 Una matriz de cadenas. Para cada elemento de la matriz, puede usar opcionalmente `*` al final de una cadena para incluir todos los grupos de registros con nombres que empiecen por ese prefijo.   
Tenga cuidado con el uso de comodines con los nombres de los grupos de registro. Incurrirá en cargos por cada evento de registro que coincida con una regla. Si busca accidentalmente más grupos de registro de los que pretendía, puede incurrir en cargos inesperados. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing).

LogGroupARNs  
Si está creando esta regla en una cuenta de supervisión de observabilidad entre cuentas de CloudWatch, puede usar `LogGroupARNs` para especificar grupos de registro en las cuentas de origen que están vinculadas a la cuenta de supervisión y para especificar grupos de registro en la propia cuenta de supervisión. Debe especificar `LogGroupNames` o `LogGroupARNs` en la regla, pero no ambos.  
 `LogGroupARNs` es una matriz de cadenas. Para cada elemento de la matriz, tiene la opción de usar `*` como comodín en determinadas situaciones. Por ejemplo, puede indicar `arn:aws:logs:us-west-1:*:log-group/MyLogGroupName2` para especificar los grupos de registro denominados `MyLogGroupName2` en todas las cuentas de origen y en la cuenta de supervisión, en la región Oeste de EE. UU. (Norte de California). También puede indicar `arn:aws:logs:us-west-1:111122223333:log-group/GroupNamePrefix*` para especificar todos los grupos de registro del Oeste de EE. UU. (Norte de California) en 111122223333 que tengan nombres que comiencen por `GroupNamePrefix`.  
Recuerde que no puede especificar un ID de cuenta parcial (AWS) como prefijo con un comodín.   
Use con cuidado los comodines en los ARN de los grupos de registro. Incurrirá en cargos por cada evento de registro que coincida con una regla. Si busca accidentalmente más grupos de registro de los que pretendía, puede incurrir en cargos inesperados. Para obtener más información, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing).

LogFormat  
 Los valores válidos son `JSON` y `CLF`. 

Contribución  
 Este objeto incluye una matriz `Keys` con hasta cuatro miembros, una solo `ValueOf` de forma opcional y, también opcionalmente, una matriz de hasta cuatro `Filters`. 

Claves  
 Una matriz de hasta cuatro campos de registro que se utilizan como dimensiones para clasificar los colaboradores. Si especifica más de una clave, cada combinación única de valores de las claves se cuenta como un colaborador único. Los campos deben especificarse utilizando la notación de formato de propiedad JSON. 

ValueOf  
 (Opcional) Especifique esto solo cuando especifique `Sum` como valor de `AggregateOn`. `ValueOf` especifica un campo de registro con valores numéricos. En este tipo de regla, los colaboradores se clasifican según su suma del valor de este campo, en lugar de su número de apariciones en las entradas de registro. Por ejemplo, si desea ordenar a los colaboradores por sus valores de `BytesSent` totales durante un período, establezca `ValueOf` en `BytesSent` y especifique `Sum` para `AggregateOn`. 

Filtros  
 Especifica una matriz de hasta cuatro filtros para restringir los eventos de registro que se incluyen en el informe. Si especifica varios filtros, Contributor Insights los evalúa con un operador AND lógico. Puede utilizar esto para filtrar eventos de registro irrelevantes en su búsqueda, o bien para seleccionar un solo colaborador a fin de analizar su comportamiento.  
Cada miembro de la matriz debe incluir un campo `Match` y un campo que indique el tipo de operador coincidente que se debe usar.  
El campo `Match` especifica un campo de registro para evaluar en el filtro. El campo de registro se especifica mediante la notación de formato de propiedad JSON.  
El campo de operador coincidente debe ser uno de los siguientes: `In`, `NotIn`, `StartsWith`, `GreaterThan`, `LessThan`, `EqualTo`, `NotEqualTo` o `IsPresent`. Si el campo de operador es `In`, `NotIn` o `StartsWith`, va seguido de una matriz de valores de cadena que comprobar. Contributor Insights evalúa la matriz de valores de cadena con un operador OR. La matriz puede incluir hasta 10 valores de cadena.  
Si el campo de operador es `GreaterThan`, `LessThan`, `EqualTo` o `NotEqualTo`, va seguido de un único valor numérico con el que comparar.  
Si el campo de operador es `IsPresent`, va seguido de `true` o `false`. Este operador coincide con los eventos de registro en función de si el campo de registro especificado está presente en el evento de registro. `isPresent` funciona solo con valores en el nodo hijo de propiedades JSON. Por ejemplo, un filtro que busca coincidencias con `c-count` no evalúa un evento de registro con un valor de `details.c-count.c1`.  
Vea los cuatro ejemplos de filtro siguientes:  

```
{"Match": "$.httpMethod", "In": [ "PUT", ] }
{"Match": "$.StatusCode", "EqualTo": 200 }
{"Match": "$.BytesReceived", "GreaterThan": 10000}
{"Match": "$.eventSource", "StartsWith": [ "ec2", "ecs" ] }
```

AggregateOn  
 Los valores válidos son `Count` y `Sum`. Especifica si se debe agregar el informe en función de un recuento de apariciones o una suma de los valores del campo que se especifica en el campo `ValueOf`. 

**Notación de formato de propiedad JSON**

Los campos `Keys`, `ValueOf` y `Match` siguen el formato de propiedad JSON con la notación de puntos, donde `$` representa la raíz del objeto JSON. Esto va seguido de un punto y, a continuación, de una cadena alfanumérica con el nombre de la subpropiedad. Se admiten varios niveles de propiedad.

El primer carácter de la cadena solo puede ser A-Z o a-z. Los siguientes caracteres de la cadena pueden ser A-Z, a-z o 0-9.

En la lista siguiente se muestran ejemplos válidos de formato de propiedad JSON:

```
$.userAgent
$.endpoints[0]
$.users[1].name
$.requestParameters.instanceId
```

**Campo adicional en las reglas de los registros para CLF**

Los eventos de registro de Common Log Format (CLF) no tienen nombres para los campos como JSON. Para proporcionar los campos que se utilizarán para las reglas de Contributor Insights, un evento de registro CLF se puede tratar como matriz con un índice a partir de `1`. Puede especificar el primer campo como **"1"**, el segundo como **"2"**, y así sucesivamente.

Para facilitar la lectura de una regla de un registro CLF, puede utilizar `Fields`. Esto le permite proporcionar un alias de nombre para las ubicaciones de campo CLF. Por ejemplo, puede especificar que la ubicación "4" es una dirección IP. Una vez especificada, se puede usar `IpAddress` como propiedad en `Keys`, `ValueOf` y `Filters` en la regla.

A continuación, se muestra un ejemplo de una regla de un registro CLF que utiliza el campo `Fields`.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "API-Gateway-Access-Logs*"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "4": "IpAddress",
        "7": "StatusCode"
    },
    "Contribution": {
        "Keys": [
            "IpAddress"
        ],
        "Filters": [
            {
                "Match": "StatusCode",
                "EqualTo": 200
            }
        ]
    },
    "AggregateOn": "Count"
}
```

# Ejemplos de regla de Información de colaboradores de CloudWatch
<a name="ContributorInsights-Rule-Examples"></a>

Esta sección contiene ejemplos que ilustran casos de uso de las reglas de Contributor Insights.

**Registros de flujo de VPC: transferencias de bytes por dirección IP de origen IP y destino**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "4": "srcaddr",
        "5": "dstaddr",
        "10": "bytes"
    },
    "Contribution": {
        "Keys": [
            "srcaddr",
            "dstaddr"
        ],
        "ValueOf": "bytes",
        "Filters": []
    },
    "AggregateOn": "Sum"
}
```

**Registros de flujo de VPC: número más alto de solicitudes HTTPS**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "5": "destination address",
        "7": "destination port",
        "9": "packet count"
    },
    "Contribution": {
        "Keys": [
            "destination address"
        ],
        "ValueOf": "packet count",
        "Filters": [
            {
                "Match": "destination port",
                "EqualTo": 443
            }
        ]
    },
    "AggregateOn": "Sum"
}
```

**Registros de flujo de VPC: conexiones TCP rechazadas**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "3": "interfaceID",
        "4": "sourceAddress",
        "8": "protocol",
        "13": "action"
    },
    "Contribution": {
        "Keys": [
            "interfaceID",
            "sourceAddress"
        ],
        "Filters": [
            {
                "Match": "protocol",
                "EqualTo": 6
            },
            {
                "Match": "action",
                "In": [
                    "REJECT"
                ]
            }
        ]
    },
    "AggregateOn": "Sum"
}
```

**Respuestas de Route 53 NxDomain por dirección de origen**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.rcode",
                "StartsWith": [
                    "NXDOMAIN"
                ]
            }
        ],
        "Keys": [
            "$.srcaddr"
        ]
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "<loggroupname>"
    ]
}
```

**Consultas de resolución de Route 53 por nombre de dominio**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [],
        "Keys": [
            "$.query_name"
        ]
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "<loggroupname>"
    ]
}
```

**Consultas de resolución de Route 53 por tipo de consulta y dirección de origen**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [],
        "Keys": [
            "$.query_type",
            "$.srcaddr"
        ]
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "<loggroupname>"
    ]
}
```

# Consulta de informes de Información de colaboradores en CloudWatch
<a name="ContributorInsights-ViewReports"></a>

Para ver gráficos de datos de informe y una lista clasificada de colaboradores que se encuentran mediante sus reglas, siga estos pasos.

**Para ver los informes de las reglas**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Registros**, **Información de colaboradores**.

   

1. En la lista de reglas, elija el nombre de una regla.

   En el gráfico se muestran los resultados de la regla durante las últimas tres horas. En la tabla situada bajo el gráfico se muestran los 10 colaboradores principales.

1. Para cambiar el número de colaboradores que se muestran en la tabla, elija **Top 10 contributors (10 colaboradores principales)** en la parte superior del gráfico.

1. Para filtrar el gráfico a fin de mostrar solo los resultados de un único colaborador, elija a ese colaborador en la leyenda de la tabla. Para volver a mostrar todos los colaboradores, elija de nuevo a ese mismo colaborador en la leyenda.

1. Para cambiar el intervalo de tiempo que se muestra en el informe, elija **15 min**, **30 m**, **1 h**, **2 h**, **3 h** o **personalizado** en la parte superior del gráfico.

   El intervalo de tiempo máximo del informe es de 24 horas, pero puede elegir una ventana de 24 horas que se produjo hace 15 días como máximo. Para elegir una ventana de tiempo en el pasado, elija **custom (personalizada)**, **absolute (absoluta)** y, a continuación, especifique la ventana de tiempo.

1. Para cambiar la duración del período de tiempo empleado para la incorporación y clasificación de los colaboradores, elija **period (período)** en la parte superior del gráfico. La visualización de un período de tiempo más largo suele mostrar un informe más sencillo con pocos picos. Es más probable que se muestren picos si se elige un período de tiempo más corto.

1. Para agregar este gráfico a un panel de CloudWatch, elija **Add to dashboard** (Agregar al panel).

1. Para abrir la ventana de consulta de Información de registros de CloudWatch, con los grupos de registros de este informe ya cargados en el cuadro de consulta, elija **View logs** (Ver registros).

1. Para exportar los datos de informe al portapapeles o a un archivo CSV, elija **Export (Exportar)**.

# Representación gráfica de métricas generadas por reglas en CloudWatch
<a name="ContributorInsights-GraphReportData"></a>

Contributor Insights proporciona una función de cálculo de métricas, `INSIGHT_RULE_METRIC`. Puede utilizar esta función para agregar datos de un informe de Contributor Insights a un gráfico en la pestaña **Metrcis** (Métricas) de la consola de CloudWatch. También puede establecer una alarma basada en esta función matemática. Para obtener más información acerca de las funciones de cálculo de métricas, consulte [Uso de expresiones matemáticas con métricas de CloudWatch](using-metric-math.md).

Para utilizar esta función matemática de métricas, debe haber iniciado sesión en una cuenta que tenga los permisos `cloudwatch:GetMetricData` y `cloudwatch:GetInsightRuleReport`.



La sintaxis es `INSIGHT_RULE_METRIC(ruleName, metricName)`. *ruleName* es el nombre de una regla de Contributor Insights y *metricName* es uno de los valores de la lista siguiente. El valor de *metricName* determina qué tipo de datos devuelve la función matemática.
+ `UniqueContributors`: el número de colaboradores únicos para cada punto de datos.
+ `MaxContributorValue`: el valor del colaborador principal para cada punto de datos. La identidad del colaborador puede cambiar en cada punto de datos del gráfico.

  Si la regla agrega por `Count`, el colaborador principal de cada punto de datos es el colaborador que más veces aparece en ese período. Si la regla agrega por `Sum`, el colaborador principal es aquel con la suma más alta en el campo de registro especificado por el `Value` de la regla durante ese período.
+ `SampleCount`: el número de puntos de datos que concuerdan con la regla.
+ `Sum`: la suma de los valores de todos los colaboradores durante el periodo de tiempo representado por ese punto de datos.
+ `Minimum`: el valor mínimo de una sola observación durante el período de tiempo representado por ese punto de datos.
+ `Maximum`: el valor máximo de una sola observación durante el período de tiempo representado por ese punto de datos.
+ `Average`: el valor promedio de todos los colaboradores durante el período de tiempo representado por ese punto de datos.

## Configuración de una alarma en los datos de métricas de Contributor Insights
<a name="ContributorInsights-GraphReportData-Alarm"></a>

Puede configurar alarmas para las métricas generadas por Contributor Insights mediante la función `INSIGHT_RULE_METRIC`. Por ejemplo, podría crear una alarma en función del porcentaje de conexiones de protocolo de control de transmisión (TCP) que se han rechazado. Para empezar a utilizar este tipo de alarma, puede crear reglas como las que se muestran en los dos ejemplos siguientes:

**Regla de ejemplo: “RejectedConnectionsRule"**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "3": "interfaceID",
        "4": "sourceAddress",
        "8": "protocol",
        "13": "action"
    },
    "Contribution": {
        "Keys": [
            "interfaceID",
            "sourceAddress"
        ],
        "Filters": [
            {
                "Match": "protocol",
                "EqualTo": 6
            },
            {
                "Match": "action",
                "In": [
                    "REJECT"
                ]
            }
        ]
    },
    "AggregateOn": "Sum"
}
```

**Regla de ejemplo: “TotalConnectionsRule"**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "3": "interfaceID",
        "4": "sourceAddress",
        "8": "protocol",
        "13": "action"
    },
    "Contribution": {
        "Keys": [
            "interfaceID",
            "sourceAddress"
        ],
        "Filters": [{
            "Match": "protocol",
            "EqualTo": 6
        }],
        "AggregateOn": "Sum"
    }
}
```

Después de crear las reglas, puede seleccionar la pestaña **Metrics** (Métricas) en la consola de CloudWatch, donde puede utilizar las siguientes expresiones matemáticas de métricas de ejemplo para graficar los datos que informa Contributor Insights:

**Ejemplo: expresiones matemáticas de métricas**

```
e1 INSIGHT_RULE_METRIC("RejectedConnectionsRule", "Sum")
e2 INSIGHT_RULE_METRIC("TotalConnectionsRule", "Sum")
e3 (e1/e2)*100
```

En el ejemplo, la expresión matemática de métrica `e3` devuelve todas las conexiones TCP rechazadas. Si desea recibir una notificación cuando se rechace el 20 por ciento de las conexiones TCP, puede modificar la expresión cambiando el umbral de `100` a `20`.

**nota**  
Puede configurar una alarma para una métrica que esté supervisando desde la sección **Metrics** (Métricas). Mientras está en la pestaña **Graphed metrics** (Métricas en gráficos), puede seleccionar el icono **Create alarm** (Crear alarma) en la columna **Actions** (Acciones). El icono **Create alarm** (Crear alarma) parece una campana. 

Para obtener más información acerca de la representación gráfica de métricas y el uso de funciones matemáticas de métricas, consulte la sección .: [Añadir una expresión matemática a un gráfico de CloudWatch](using-metric-math.md#adding-metrics-expression-console).

# Uso de reglas integradas de Información de colaboradores en CloudWatch
<a name="ContributorInsights-BuiltInRules"></a>

Puede utilizar reglas integradas de Contributor Insights para analizar métricas de otros servicios de AWS. Los siguientes servicios admiten las reglas integradas:
+ [Contributor Insights para Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/contributorinsights.html) en la *Guía para desarrolladores de Amazon DynamoDB*.
+ [Utilice las reglas integradas de Contributor Insights](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html#privatelink-contributor-insights) en la *Guía AWS PrivateLink*.

# Detecte problemas comunes de aplicaciones con Información de aplicaciones de CloudWatch
<a name="cloudwatch-application-insights"></a>

Puede usar Información de aplicaciones de Amazon CloudWatch para detectar problemas comunes con sus aplicaciones. Información de aplicaciones de CloudWatch permite la observabilidad para sus aplicaciones y recursos subyacentes de AWS. Puede ayudarlo a configurar los mejores monitoreos para la los recursos de aplicaciones con el fin de analizar de forma continua los datos en busca de señales que indiquen problemas con las aplicaciones. Información de aplicaciones, que emplea tecnología de [Sagemaker](https://docs.aws.amazon.com/sagemaker/latest/dg/wahtis.html) y otras tecnologías de AWS, proporciona paneles automatizados que muestran posibles problemas con las aplicaciones monitoreadas, lo que le ayuda a aislar rápidamente los problemas en curso con sus aplicaciones e infraestructura. La visibilidad mejorada sobre el estado de las aplicaciones que proporciona Información de aplicaciones ayuda a reducir el tiempo promedio de reparación (MTTR) para solucionar los problemas de la aplicación.

Cuando agrega las aplicaciones a Información de aplicaciones de Amazon CloudWatch, este servicio analiza los recursos en las aplicaciones, y recomienda y configura las métricas y los registros en [CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) para los componentes de la aplicación. Los componentes de la aplicación de muestra incluyen la base de datos backend de SQL Server y los IIS de Microsoft o las capas web. Información de aplicaciones analiza los patrones de las métricas mediante datos históricos para detectar anomalías, y detecta de forma continua errores y excepciones en los registros de las aplicaciones, del sistema operativo y de la infraestructura. Relaciona estas observaciones mediante una combinación de algoritmos de clasificación y reglas integradas. A continuación, crea automáticamente paneles que muestran las observaciones pertinentes e información sobre la severidad del problema que le ayudarán a priorizar sus acciones. Para problemas comunes en pilas de aplicaciones .NET y SQL, como la latencia de la aplicación, los errores de copias de seguridad de SQL Server, pérdidas de memoria, solicitudes HTTP grandes y operaciones de E/S canceladas, proporciona información adicional que indica una posible causa raíz y los pasos para la resolución. La integración incorporada con [AWS SSM OpsCenter](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html) le permite resolver problemas mediante la ejecución del documento correspondiente de automatización de Systems Manager. 

**Topics**
+ [¿Qué es Información de aplicaciones de Amazon CloudWatch?](appinsights-what-is.md)
+ [Cómo funciona Información de aplicaciones](appinsights-how-works.md)
+ [Requisitos previos, políticas de IAM y permisos](appinsights-accessing.md)
+ [Configuración de la aplicación para la supervisión](appinsights-setting-up.md)
+ [Información de aplicaciones: observabilidad entre cuentas](appinsights-cross-account.md)
+ [Uso de configuraciones de componentes](component-config.md)
+ [Uso de plantillas de CloudFormation](appinsights-cloudformation.md)
+ [Tutorial: configuración de la supervisión para SAP ASE](appinsights-tutorial-sap-ase.md)
+ [Tutorial: Configuración de la supervisión para SAP HANA](appinsights-tutorial-sap-hana.md)
+ [Tutorial: Configuración de la supervisión para SAP NetWeaver](appinsights-tutorial-sap-netweaver.md)
+ [Visualización y solución de problemas con Información de aplicaciones](appinsights-troubleshooting.md)
+ [Registros y métricas que se admiten](appinsights-logs-and-metrics.md)

# ¿Qué es Información de aplicaciones de Amazon CloudWatch?
<a name="appinsights-what-is"></a>

Información de aplicaciones de CloudWatch le permite supervisar las aplicaciones que utilicen instancias de Amazon EC2 junto con otros [recursos de aplicaciones](#appinsights-components). Identifica y configura métricas clave, registros y alarmas para los recursos y la pila de tecnología de la aplicación (como la base de datos Microsoft SQL Server, los servidores web (IIS) y de aplicaciones, el sistema operativo, los balanceadores de carga y las colas). Monitorea continuamente las métricas y los registros para detectar y relacionar anomalías y errores. Cuando se detectan errores y anomalías, Información de aplicaciones genera [eventos de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) que puede utilizar para configurar notificaciones o realizar acciones. Para ayudar con la solución de problemas, crea paneles automatizados para los problemas detectados, que incluyen anomalías de métricas y errores de registro relacionados, además de información adicional que indica la posible causa raíz. Los paneles automatizados ayudan a adoptar medidas correctivas para mantener las aplicaciones en buen estado y para evitar que los usuarios finales de la aplicación se vean afectados. También crea OpsItems para que pueda resolver los problemas con [AWS SSM OpsCenter](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html).

Puede configurar contadores importantes, como la transacción de escritura replicada por segundo, la longitud de cola de recuperación y el retraso de transacción como también los registros de eventos de Windows en CloudWatch. Cuando sucede un evento o problema de conmutación por error con la carga de trabajo de alta disponibilidad de SQL, como un acceso restringido para consultar una base de datos de destino, Información de aplicaciones de CloudWatch proporciona información automatizada.

Información de aplicaciones de CloudWatch se integra con [AWS Launch Wizard](https://docs.aws.amazon.com/launchwizard/latest/userguide/what-is-launch-wizard.html) para proporcionar una experiencia de configuración de supervisión con un solo clic para implementar cargas de trabajo de alta disponibilidad de SQL Server en AWS. Cuando selecciona la opción para configurar la supervisión y la información con Información de aplicaciones en la [consola de Launch Wizard](https://console.aws.amazon.com/launchwizard), Información de aplicaciones de CloudWatch configura automáticamente las métricas, los registros y las alarmas relevantes en CloudWatch y comienza a supervisar las cargas de trabajo recientemente implementadas. Puede ver la información automatizada y los problemas detectados, junto con el estado de las cargas de trabajo de alta disponibilidad de SQL Server, en la consola de CloudWatch.

**Topics**
+ [Características](#appinsights-features)
+ [Conceptos](#appinsights-concepts)
+ [Precios](#appinsights-pricing)
+ [Servicios relacionados](#appinsights-related-services)
+ [Componentes de aplicaciones admitidos](#appinsights-components)
+ [Pilas de tecnología admitidas](#appinsights-stack)

## Características
<a name="appinsights-features"></a>

Información de aplicaciones ofrece las siguientes características.

**Configuración automática de monitores de recursos de la aplicación**  
Información de aplicaciones de CloudWatch reduce el tiempo que se tarda en configurar la supervisión de las aplicaciones. Para ello, realiza el análisis de los recursos de la aplicación, que proporciona una lista de las métricas y registros recomendados personalizables y los configura en CloudWatch para ofrecer la visibilidad necesaria sobre los recursos de la aplicación, como Amazon EC2 y de Elastic Load Balancer (ELB). También configura alarmas dinámicas para métricas monitorizadas. Las alarmas se actualizan automáticamente en función de las anomalías detectadas en las últimas dos semanas. 

**Detección y notificación de problemas**  
Información de aplicaciones de CloudWatch detecta señales que indiquen posibles problemas con la aplicación, como anomalías de métricas y errores de registro. Relaciona estas observaciones para mostrar los posibles problemas de su aplicación. A continuación, genera eventos de CloudWatch Events, [que se pueden configurar para recibir notificaciones o realizar las medidas oportunas](appinsights-cloudwatch-events.md). De esta manera, ya no tendrá que crear alarmas para métricas individuales o errores de registro. Además, puede [configurar las notificaciones de Amazon SNS](appinsights-problem-notifications.md) para recibir alertas de los problemas detectados.

**Solución de problemas**  
Información de aplicaciones de CloudWatch crea paneles automatizados de CloudWatch para los problemas detectados. Los paneles muestran información sobre el problema, incluidas las anomalías de las métricas y los errores de registro asociados, para ayudarlo a solucionar los problemas. También proporciona información adicional que indica posibles causas de las anomalías y los errores. 

## Conceptos
<a name="appinsights-concepts"></a>

Los siguientes conceptos son importantes para comprender cómo Información de aplicaciones monitoriza la aplicación.

**Componente**  
Un conjunto agrupado automáticamente, independiente o personalizado de recursos similares que conforman una aplicación. Es recomendable agrupar los recursos similares en componentes personalizados para mejorar la monitorización.

**Observación**  
Un evento individual (anomalía de métricas, error de registro o excepción) que se detecta con una aplicación o un recurso de la aplicación.

**Problema**  
Los problemas se detectan relacionando, clasificando y agrupando las observaciones relacionadas. 

Para conocer las definiciones de otros conceptos importantes de Información de aplicaciones de CloudWatch, consulte [Conceptos de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).

## Precios
<a name="appinsights-pricing"></a>

Información de aplicaciones de CloudWatch configura métricas y registros recomendados para recursos de la aplicación seleccionados mediante las métricas de CloudWatch, registros y eventos de las notificaciones sobre los problemas detectados. Estas características se facturan en su cuenta de AWS de acuerdo con los [Precios de CloudWatch](https://aws.amazon.com/cloudwatch/pricing). En el caso de los problemas detectados, Información de aplicaciones también crea [SSM OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems.html) para notificarle los problemas. Además, Información de aplicaciones crea [parámetros del almacén de parámetros de SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) para configurar los agentes de CloudWatch en sus instancias. Las características de Amazon EC2 Systems Manager se cobran según los [precios de SSM](https://aws.amazon.com/systems-manager/pricing/). No se le aplicará ningún cargo por la ayuda con la configuración, la supervisión del análisis de datos ni la detección de problemas.

### Costes de Información de aplicaciones de CloudWatch
<a name="appinsights-pricing-ec2"></a>

Los costes de Amazon EC2 incluyen el uso de las siguientes características:
+ Agente de CloudWatch
  + Grupos de registros del agente de CloudWatch
  + Métricas del agente de CloudWatch
  + Grupos de registro de Prometheus (para cargas de trabajo de JMX)

Los costes de todos los recursos incluyen el uso de las siguientes características:
+ Alarmas de CloudWatch (la mayoría del costo)
+ SSM OpsItems (coste mínimo)

### Ejemplo de cálculo de costes
<a name="appinsights-pricing-example"></a>

Los costes de este ejemplo se calculan de acuerdo con el siguiente escenario.

Creó un grupo de recursos que incluye lo siguiente:
+ Una instancia de Amazon EC2 con SQL Server instalado.
+ Un volumen de Amazon EBS adjunto.

Al incorporar este grupo de recursos a Información de aplicaciones de CloudWatch, se detecta la carga de trabajo de SQL Server instalada en la instancia de Amazon EC2. A continuación, Información de aplicaciones de CloudWatch comienza a supervisar las siguientes métricas.

Las siguientes métricas se monitorean para la instancia de SQL Server:
+ CPUUtilization
+ StatusCheckFailed
+ Porcentaje de bytes confirmados en uso de memoria
+ Mbytes disponibles de memoria
+ Total de bytes de interfaz de red/segundo
+ Porcentaje de uso de archivo de paginación
+ Porcentaje de tiempo de disco del disco físico
+ Porcentaje de tiempo de procesador del procesador
+ SQLServer: tasa de aciertos de la caché del administrador del búfer
+ SQLServer: expectativa de vida del administrador del búfer
+ SQLServer: estadísticas generales: procesos bloqueados
+ SQLServer: estadísticas generales: conexiones de usuario
+ SQLServer: bloqueos: número de interbloqueos/segundo
+ SQLServer: estadísticas de SQL: solicitudes por lotes/segundo
+ Longitud de cola del procesador del sistema

Las siguientes métricas se monitorean para los volúmenes adjuntos a la instancia de SQL Server:
+ VolumeReadBytes
+ VolumeWriteBytes
+ VolumeReadOps
+ VolumeWriteOps
+ VolumeTotalReadTime
+ VolumeTotalWriteTime
+ VolumeIdleTime
+ VolumeQueuelength
+ VolumeThroughputPercentage
+ VolumenConsumedReadWriteOps
+ BurstBalance

Para este escenario, los costes se calculan según la página de [precios de CloudWatch](https://aws.amazon.com/cloudwatch/pricing/) y la página de [precios de SSM](https://aws.amazon.com/systems-manager/pricing/):
+ **Métricas personalizadas**

  Para este escenario, 13 de las métricas anteriores se emiten a CloudWatch mediante el agente de CloudWatch. Estas métricas se tratan como métricas personalizadas. El coste de cada métrica personalizada es de 0,3 USD al mes. El coste total de estas métricas personalizadas es de 13 \$1 0,3 USD = 3,90 USD al mes.
+ **Alarmas**

  Para este escenario, Información de aplicaciones de CloudWatch monitorea 26 métricas en total, lo que crea 26 alarmas. El coste de cada alarma es de 0,1 USD al mes. El coste total de las alarmas es de 26 \$1 0,1 USD = 2,60 USD al mes. 
+ **Ingesta de datos y registros de errores**

  El coste de la ingesta de datos es de 0,05 USD/GB y el almacenamiento del registro de errores de SQL Server es de 0,03 USD/GB. El coste total de la ingesta de datos y el registro de errores es de 0,05 USD/GB \$1 0,03 USD/GB = 0,08 USD/GB.
+ **Amazon EC2 Systems Manager OpsItems**

  Se crea un elemento SSM OpsItem por cada problema que detecte Información de aplicaciones de CloudWatch. Para un número *n* de problemas en su solicitud, el coste total es de 0,00267 USD · *n* al mes.

## Servicios relacionados
<a name="appinsights-related-services"></a>

Los siguientes servicios se utilizan junto con Información de aplicaciones de CloudWatch:

**Servicios de AWS relacionados**
+ Con **Amazon CloudWatch**, podrá ver la utilización de recursos, el rendimiento de las aplicaciones y el estado de funcionamiento de todo el sistema. Recopila y realiza un seguimiento de las métricas, envía notificaciones de alarma, actualiza automáticamente los recursos que monitoriza en función de las reglas que haya definido y le permite monitorizar sus propias métricas personalizadas. Información de aplicaciones de CloudWatch se inicia a través de CloudWatch (en concreto, dentro de los paneles operativos predeterminados de CloudWatch). Para obtener más información, consulte la [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
+ **Información de contenedores de CloudWatch** recopila, agrega y resume métricas y registros de las aplicaciones y microservicios en contenedores. Puede utilizar Información de contenedores para monitorear las plataformas Amazon ECS, Amazon Elastic Kubernetes Service y Kubernetes en Amazon EC2. Cuando Información de aplicaciones está habilitado en las consolas Información de contenedores o Información de aplicaciones, Información de aplicaciones muestra los problemas detectados en el panel de Información de contenedores. Para obtener más información, consulte  [Información de contenedores](ContainerInsights.md) .
+ **Amazon DynamoDB** es un servicio de base de datos NoSQL completamente administrado que le permite delegar las cargas administrativas que supone tener que utilizar y escalar bases de datos distribuidas, para que no tenga que preocuparse del aprovisionamiento, la instalación ni la configuración del hardware, ni tampoco de las tareas de replicación, aplicación de parches de software o escalado de clústeres. DynamoDB también ofrece el cifrado en reposo, que elimina la carga y la complejidad operativa que conlleva la protección de información confidencial.
+ **Amazon EC2** proporciona capacidad informática escalable en la nube de AWS. Puede usar Amazon EC2 para lanzar tantos servidores virtuales como necesite, configurar la seguridad y las redes, y administrar el almacenamiento. Puede escalar hacia arriba o hacia abajo para controlar los cambios en los requisitos o los picos de popularidad, con lo que se reduce la necesidad de prever el tráfico. Para obtener más información, consulte la [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) o la [https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html).
+ **Amazon Elastic Block Store (Amazon EBS)** proporciona volúmenes de almacenamiento de nivel de bloque para su uso con instancias de Amazon EC2. Los volúmenes de Amazon EBS se comportan como dispositivos de bloques sin formatear y sin procesar. Puede montar estos volúmenes como dispositivos en sus instancias. Los volúmenes de Amazon EBS que están adjuntados a una instancia se exponen como volúmenes de almacenamiento que persisten independientemente de la duración de la instancia. Puede crear un sistema de archivos sobre estos volúmenes o utilizarlos de cualquier modo en el que utilizaría un dispositivo de bloques (como un disco duro). Puede cambiar dinámicamente la configuración de un volumen adjunto a una instancia. Para obtener más información, consulte la [Amazon EBS User Guide](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) (Guía del usuario de Amazon EBS).
+ **Amazon EC2 Auto Scaling** lo ayuda a garantizar que cuenta con la cantidad correcta de instancias EC2 disponibles para controlar la carga de su aplicación. Para obtener más información, consulte la [https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html).
+ **Elastic Load Balancing** distribuye el tráfico entrante de red o de la aplicación entre varios destinos, por ejemplo, instancias EC2, contenedores y direcciones IP en varias zonas de disponibilidad. Para obtener más información, consulte la [https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html).
+ **IAM** es un servicio web que ayuda a controlar de forma segura el acceso de los usuarios a los recursos de AWS. Utilice IAM para controlar quién puede usar los recursos de AWS (autenticación), los recursos que pueden usar y cómo pueden usarlos (autorización). Para obtener más información, consulte [Autenticación y control de acceso de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html).
+ **AWS Lambda** le permite crear aplicaciones sin servidor compuestas por funciones que se activan por eventos y se implementan automáticamente con CodePipeline y CodeBuild de AWS. Para obtener más información, consulte [Aplicaciones de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/deploying-lambda-apps.html). 
+ **AWS Launch Wizard for SQL Server** reduce el tiempo que se tarda en implementar la solución de alta disponibilidad de SQL Server en la nube. Introduzca los requisitos de la aplicación, incluido el rendimiento, el número de nodos y la conectividad en la consola de servicio, y AWS Launch Wizard identificará los recursos adecuados de AWS para implementar y ejecutar la aplicación Always On de SQL Server. 
+ **Resource Groups de AWS** le ayudan a organizar los recursos que componen la aplicación. Con los Resource Groups, puede administrar y automatizar tareas en un gran número de recursos al mismo tiempo. Solo se puede registrar un grupo de recursos para una aplicación. Para obtener más información, consulte la [https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html) (Guía del usuario de Resource Groups).
+ **Amazon SQS **ofrece una cola alojada segura, duradera y disponible que le permite integrar y desacoplar sistemas y componentes de software distribuidos. Para obtener más información, consulte la [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html).
+ **AWS Step Functions** es un compositor de funciones sin servidor que le permite secuenciar una variedad de servicios y recursos de AWS, incluidas las funciones de AWS Lambda, en flujos de trabajo estructurados y visuales. Para obtener más información, consulte la [Guía del usuario de AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html).
+ **SSM OpsCenter de AWS** acumula y estandariza OpsItems en todos los servicios a la vez que proporciona datos de investigación contextual sobre cada OpsItem, OpsItems relacionados y recursos relacionados. OpsCenter también proporciona documentos de Systems Manager Automation (runbooks) que puede utilizar para resolver problemas rápidamente. Puede especificar datos que se pueden buscar y personalizar para cada OpsItem. También puede ver informes de resumen generados automáticamente sobre OpsItem por estado y origen. Para obtener más información, consulte la [https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html).
+ **Amazon API Gateway** es un servicio de AWS para la creación, la publicación, el mantenimiento, el monitoreo y la protección de las API REST, HTTP y de WebSocket a cualquier escala. Los desarrolladores de la API pueden crear API que obtengan acceso a AWS o a otros servicios web, así como los datos almacenados en la nube de AWS. Para obtener más información, consulte [Amazon API Gateway User Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) (Guía del usuario de Amazon API Gateway).
**nota**  
Información de aplicaciones solo admite protocolos de la API de REST (v1 del servicio API Gateway).
+ **Amazon Elastic Container Service (Amazon ECS)** es un servicio de orquestación de contenedores completamente administrado. Puede utilizar Amazon ECS para ejecutar sus aplicaciones más confidenciales y de misión crítica. Para obtener más información, consulte [Amazon Elastic Container Service Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) (Guía para desarrolladores de Amazon Elastic Container Service).
+ **Amazon Elastic Kubernetes Service (Amazon EKS)** es un servicio administrado que puede usar para ejecutar Kubernetes en AWS sin tener que instalar, operar y mantener su propio plano de control o nodos de Kubernetes. Kubernetes es un sistema de código abierto para automatizar la implementación, el escalado y la administración de las aplicaciones en contenedores. Para obtener más información, consulte la [Amazon EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) (Guía del usuario de Amazon EKS).
+ **Kubernetes en Amazon EC2**. Kubernetes es un software de código abierto que le ayuda a implementar y administrar aplicaciones en contenedores a escala. Kubernetes administra clústeres de instancias informáticas de Amazon EC2 y ejecuta contenedores en esas instancias con procesos de implementación, mantenimiento y escalado. Con Kubernetes puede ejecutar cualquier tipo de aplicación en contenedores con el mismo conjunto de herramientas en las instalaciones y en la nube. Para obtener más información, consulte [Documentación: Introducción a Kubernetes](https://kubernetes.io/docs/setup/).
+ **Amazon FSx** ayuda a lanzar y ejecutar sistemas de archivos populares que están completamente administrados por AWS. Con Amazon FSx, puede aprovechar los conjuntos de características y el rendimiento de los sistemas de archivos comunes de código abierto y con licencia comercial para evitar tareas administrativas que consumen mucho tiempo. Para obtener más información, consulte la [Amazon FSx Documentation](https://docs.aws.amazon.com/fsx/) (Documentación de Amazon FSx).
+ **Amazon Simple Notification Service (SNS)** es un servicio de mensajería completamente administrado para la comunicación de aplicación a aplicación y de aplicación a persona. Puede configurar Amazon SNS para el monitoreo mediante Información de aplicaciones. Cuando se configura Amazon SNS como recurso para monitorear, Información de aplicaciones realiza un seguimiento de las métricas de SNS para ayudar a determinar el motivo de los problemas o fallas de los mensajes de SNS.
+ **Amazon Elastic File System (Amazon EFS)** es un sistema de archivos NFS elástico completamente administrado que se utiliza con servicios de Nube de AWS y recursos en las instalaciones. Está diseñado para escalar a petabytes bajo demanda sin interrumpir las aplicaciones. Aumenta y disminuye automáticamente a medida que se agregan o eliminan archivos, lo que elimina la necesidad de aprovisionar y administrar la capacidad para adaptarse al crecimiento. Para obtener más información, consulte la [documentación del producto de Amazon Elastic File System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEFS.html).

**Servicios de terceros relacionados**
+ Para algunas cargas de trabajo y aplicaciones monitoreadas en Información de aplicaciones, **JMX Exporter de Prometheus** se instala mediante AWS Systems Manager para que Información de aplicaciones de CloudWatch pueda recuperar métricas específicas de Java. Cuando decide monitorear una aplicación Java, Información de aplicaciones instala automáticamente JMX Exporter de Prometheus. 

## Componentes de aplicaciones admitidos
<a name="appinsights-components"></a>

Información de aplicaciones de CloudWatch analiza su grupo de recursos para identificar los componentes de la aplicación. Los componentes pueden ser independientes, estar agrupados automáticamente (como las instancias de un grupo de escalado automático o detrás de un equilibrador de carga) o personalizados (mediante la agrupación de instancias de Amazon EC2 distintas). 

Información de aplicaciones de CloudWatch admite los siguientes componentes:

**AWSComponentes de**
+ Amazon EC2
+ Amazon EBS
+ Amazon RDS
+ Elastic Load Balancing: Application Load Balancer y Classic Load Balancer (todas las instancias de destino de estos balanceadores de carga se identifican y configuran).
+ Grupos de Amazon EC2 Auto Scaling: escalado automático de AWS (los grupos de escalado automático se configuran de forma dinámica para todas las instancias de destino; si la aplicación escala verticalmente, Información de aplicaciones de CloudWatch configura automáticamente las nuevas instancias). Los grupos de escalado automático no son compatibles con los grupos de recursos basados en pilas de CloudFormation.
+ AWS Lambda
+ Amazon Simple Queue Service (Amazon SQS)
+ La tabla de Amazon DynamoDB.
+ Las Métricas de buckets de Amazon S3
+ AWS Step Functions
+ Etapas de la API REST de Amazon API Gateway
+ Amazon Elastic Container Service (Amazon ECS): clúster, servicio y tarea
+ Amazon Elastic Kubernetes Service (Amazon EKS): clúster
+ Kubernetes en Amazon EC2: clúster de Kubernetes que se ejecuta en EC2
+ Tema de Amazon SNS

Información de aplicaciones de CloudWatch no realiza un seguimiento de ningún otro tipo de recursos de componentes. Si un tipo de componente admitido no aparece en su aplicación de Información de aplicaciones, es posible que ya se haya registrado y que otra aplicación que esté monitorizada por Información de aplicaciones lo esté administrando. 

## Pilas de tecnología admitidas
<a name="appinsights-stack"></a>

Puede utilizar Información de aplicaciones de CloudWatch para supervisar las aplicaciones que se ejecuten en sistemas operativos Windows Server y Linux si selecciona la opción de menú desplegable de nivel de aplicación para una de las siguientes tecnologías: 
+ Front-end: servidor web de Microsoft Internet Information Services (IIS)
+ Nivel de empleado: 
  + .NET Framework 
  + .NET Core
+ Aplicaciones:
  + Java
  + Implementaciones estándar, distribuidas y de alta disponibilidad de SAP NetWeaver
+ Active Directory
+ SharePoint
+ Bases de datos: 
  + Microsoft SQL Server que se ejecuta en Amazon RDS o Amazon EC2 (incluidas las configuraciones de alta disponibilidad de SQL Server. Consulte, ), [Ejemplos de configuración del componente](component-configuration-examples.md)).
  + MySQL que se ejecuta en Amazon RDS, Amazon Aurora o Amazon EC2
  + PostgreSQL que se ejecuta en Amazon RDS o Amazon EC2
  + La tabla de Amazon DynamoDB.
  + Oracle que se ejecuta en Amazon RDS o Amazon EC2
  + Base de datos SAP HANA en una única instancia de Amazon EC2 y en varias instancias de Amazon EC2.
  + Configuración de alta disponibilidad dela base de datos Cross-AZ SAP HANA
  + Base de datos SAP Sybase ASE en una única instancia de Amazon EC2
  + Configuración de alta disponibilidad de la base de datos Cross-AZ SAP Sybase ASE

Si ninguna de las pilas de tecnología enumeradas anteriormente se aplica a los recursos de la aplicación, puede monitorear la pila de aplicaciones eligiendo **Custom (Personalizada)** en el menú desplegable de nivel de aplicación de la página **Manage monitoring (Administrar monitoreo)**.

# Descubra cómo funciona Información de aplicaciones de Amazon CloudWatch
<a name="appinsights-how-works"></a>

Información de aplicaciones de CloudWatch permite supervisar los recursos de las aplicaciones. La siguiente información describe cómo funciona Información de aplicaciones.

**Topics**
+ [Cómo Información de aplicaciones monitorea las aplicaciones](#appinsights-how-works-sub)
+ [Retención de datos](#appinsights-retention)
+ [Cuotas](#appinsights-limits)
+ [Paquetes de Systems Manager (SSM) de AWS que Información de aplicaciones de CloudWatch utiliza](appinsights-ssm-packages.md)
+ [Documentos de Systems Manager (SSM) de AWS utilizados por Información de aplicaciones de CloudWatch](appinsights-ssm-documents.md)

## Cómo Información de aplicaciones monitorea las aplicaciones
<a name="appinsights-how-works-sub"></a>

La siguiente información describe cómo supervisa las aplicaciones Información de aplicaciones.

**Detección y configuración de aplicaciones**  
La primera vez que una aplicación se agrega a Información de aplicaciones de CloudWatch, se examinan los componentes de la aplicación para recomendar las métricas clave, los registros y otros orígenes de datos para supervisar la aplicación. A continuación, puede configurar la aplicación en función de estas recomendaciones. 

**Preprocesamiento de datos**  
Información de aplicaciones de CloudWatch analiza continuamente los orígenes de datos que se supervisen en los recursos de la aplicación para detectar anomalías de métricas y errores de registro (observaciones). 

**Detección inteligente de problemas**  
El motor de Información de aplicaciones de CloudWatch detecta los problemas de la aplicación; para ello, relaciona las observaciones con algoritmos de clasificación y reglas integradas. Para ayudarlo a solucionar problemas, crea paneles de CloudWatch automatizados, que incluyen información contextual acerca de los problemas. 

**Alerta y acción**  
Cuando Información de aplicaciones de CloudWatch detecta un problema con la aplicación, genera eventos de CloudWatch para informarle del problema. Consulte[Eventos de CloudWatch con información de aplicaciones para problemas detectados](appinsights-cloudwatch-events.md) para obtener más información acerca de cómo configurar estos eventos. Además, puede [configurar las notificaciones de Amazon SNS](appinsights-problem-notifications.md) para recibir alertas de los problemas detectados.

**Escenario de ejemplo**

Tiene una aplicación ASP .NET respaldada por una base de datos SQL Server. De repente, la base de datos comienza a funcionar incorrectamente debido a un alto consumo de memoria. Esto merma el rendimiento de la aplicación y se producen errores HTTP 500 en los servidores web y el balanceador de carga.

Con Información de aplicaciones de CloudWatch y los análisis inteligentes, puede identificar la capa de la aplicación que esté causando el problema mediante la verificación del panel creado de manera dinámica que muestra las métricas relacionadas y fragmentos de los archivos de registro. En este caso, el problema podría estar en la capa de la base de datos SQL.

## Retención de datos
<a name="appinsights-retention"></a>

Información de aplicaciones de CloudWatch conserva los problemas durante 55 días y las observaciones durante 60 días.

## Cuotas
<a name="appinsights-limits"></a>

Para conocer las cuotas predeterminadas para Información de aplicaciones de CloudWatch, consulte [Información de aplicaciones de Amazon CloudWatch endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/applicationinsights.html) (Puntos de enlace y cuotas de Información de aplicaciones de Amazon CloudWatch). A menos que se indique lo contrario, cada cuota es por cada Región de AWS. Comuníquese con [AWS Support](https://console.aws.amazon.com/support/home#/case/create?issueType=technical) para solicitar un aumento en su cuota de servicio. Muchos servicios contienen cuotas que no se pueden cambiar. Para obtener más información acerca de las cuotas de un servicio específico, consulte la documentación correspondiente a dicho servicio. 

# Paquetes de Systems Manager (SSM) de AWS que Información de aplicaciones de CloudWatch utiliza
<a name="appinsights-ssm-packages"></a>

Información de aplicaciones utiliza los paquetes que se enumeran en esta sección y se pueden administrar e implementar de forma independiente con Distributor de AWS Systems Manager. Para obtener más información acerca de SSM Distributor, consulte [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) en la *Guía del usuario de Systems Manager de AWS*.

**Topics**
+ [`AWSObservabilityExporter-JMXExporterInstallAndConfigure`](#configure-java)
+ [`AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`](#appinsights-ssm-sap-prometheus)
+ [`AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`](#appinsights-ssm-sap-prometheus-ha)
+ [`AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`](#appinsights-ssm-sap-host-exporter)
+ [`AWSObservabilityExporter-SQLExporterInstallAndConfigure`](#appinsights-ssm-sql-prometheus)

## `AWSObservabilityExporter-JMXExporterInstallAndConfigure`
<a name="configure-java"></a>

Puede recuperar métricas Java específicas de la carga de trabajo desde [Prometheus JMX exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para Información de aplicaciones a fin de configurar y monitorear las alarmas. En la consola de Información de aplicaciones, en la página **Administrar monitoreo**, seleccione **Aplicación JAVA** desde el menú desplegable **Nivel de aplicación**. Luego, en **JAVA Prometheus exporter configuration** (Configuración del exportador JAVA Prometheus), seleccione el **Collection method** (Método de recopilación) y **JMX port number** (Número de puerto de JMX). 

Para utilizar [Distributor de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para instalar y configurar el paquete JMX Exporter de Prometheus que proporciona AWS independientemente de Información de aplicaciones, siga los pasos que se describen a continuación.

**Prerrequisitos para usar el paquete SSM del JMX Exporter de Prometheus**
+ Debe contar con la versión 2.3.1550.0 de SSM Agent instalada o una posterior
+ La variable de entorno JAVA\$1HOME debe estar establecida 

**Instale y configure el paquete `AWSObservabilityExporter-JMXExporterInstallAndConfigure`**  
El paquete `AWSObservabilityExporter-JMXExporterInstallAndConfigure` es un paquete de SSM Distributor que puede usar para instalar y configurar [Prometheus JMX Exporter](https://github.com/prometheus/jmx_exporter). Cuando el JMX Exporter de Prometheus envía métricas de Java, el agente de CloudWatch se puede configurar para recuperar las métricas del servicio CloudWatch.

1. En función de sus preferencias, prepare el [Prometheus JMX Exporter YAML configuration file](https://github.com/prometheus/jmx_exporter#configuration) (Archivo de configuración YAML del exportador JMX de Prometheus) ubicado en el repositorio Prometheus de GitHub. Utilice la configuración de ejemplo y las descripciones de opciones a modo de guía.

1. Copie el archivo de configuración YAML del JMX Exporter de Prometheus codificado como Base64 a un nuevo parámetro SSM en el [SSM Parameter Store](https://console.aws.amazon.com/systems-manager/parameters) (Almacén de parámetros de SSM).

1. Diríjase a la consola [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) y abra la pestaña **Owned by Amazon** (Perteneciente a Amazon). Seleccione **AWSObservabilityExporter-JMXExporterInstallAndConfigure** y elija **Install one time** (Instalar una vez).

1. Actualice el parámetro de SSM que creó en el primer paso mediante el reemplazo de ‘Argumentos adicionales’ por lo siguiente:

   ```
   {
     "SSM_EXPORTER_CONFIGURATION": "{{ssm:<SSM_PARAMETER_STORE_NAME>}}",
     "SSM_EXPOSITION_PORT": "9404"
   }
   ```
**nota**  
El puerto 9404 es el puerto predeterminado que se utiliza para enviar métricas de JMX de Prometheus. Puede actualizar este puerto.

**Ejemplo: Configurar el agente de CloudWatch para recuperar métricas de Java**

1. Instale JMX Exporter de Prometheus, como se describe en el procedimiento anterior. A continuación, verifique el estado del puerto para comprobar que se haya instalado correctamente en la instancia.

   Ejemplo de instalación exitosa en la instancia de Windows

   ```
   PS C:\> curl http://localhost:9404 (http://localhost:9404/)
   StatusCode : 200
   StatusDescription : OK
   Content : # HELP jvm_info JVM version info
   ```

   Ejemplo de instalación exitosa en la instancia de Linux

   ```
   $ curl localhost:9404
   # HELP jmx_config_reload_failure_total Number of times configuration have failed to be reloaded.
   # TYPE jmx_config_reload_failure_total counter
   jmx_config_reload_failure_total 0.0
   ```

1. Cree el archivo YAML de detección del servicio Prometheus. El siguiente ejemplo de archivo de detección de servicios realiza lo siguiente:
   + Especifica el puerto del host del JMX Exporter de Prometheus como `localhost: 9404`.
   + Adjunta etiquetas (`Application`, `ComponentName`, y `InstanceId`) a las métricas, que se pueden establecer como dimensiones métricas de CloudWatch.

   ```
   $ cat prometheus_sd_jmx.yaml 
   - targets:
     - 127.0.0.1:9404
     labels:
       Application: myApp
       ComponentName: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/sampl-Appli-MMZW8E3GH4H2/aac36d7fea2a6e5b
       InstanceId: i-12345678901234567
   ```

1. Cree el archivo YAML de configuración del JMX Exporter de Prometheus. El siguiente ejemplo de archivo de configuración especifica lo siguiente:
   + El intervalo de trabajo de recuperación de métricas y el período de tiempo de espera.
   + Los trabajos de recuperación de métricas (`jmx` y `sap`), también conocidos como “raspado”, que incluyen el nombre del trabajo, la serie temporal máxima devuelta a la vez y la ruta del archivo de detección de servicios. 

   ```
   $ cat prometheus.yaml 
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       file_sd_configs:
         - files: ["/tmp/prometheus_sd_jmx.yaml"]
     - job_name: sap
       sample_limit: 10000
       file_sd_configs:
         - files: ["/tmp/prometheus_sd_sap.yaml"]
   ```

1. Verifique que el agente de CloudWatch esté instalado en la instancia de Amazon EC2 y que la versión sea 1.247346.1b249759 o una posterior. Para instalar el agente de CloudWatch en la instancia EC2, consulte [Installing the CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html) (Instalación del agente de CloudWatch). Para verificar la versión, consulte [Finding information about CloudWatch agent versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-agent-version) (Búsqueda de información acerca de las versiones del agente CloudWatch).

1. Configure el agente de CloudWatch. Para obtener más información acerca de cómo se configurar el archivo de configuración del agente de CloudWatch, consulte [Manually create or edit the CloudWatch agent configuration file](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html) (Crear o editar manualmente el archivo de configuración del agente de CloudWatch). En el siguiente ejemplo de archivo de configuración del agente de CloudWatch se realiza lo siguiente:
   + Se especifica la ruta del archivo de configuración del JMX Exporter de Prometheus.
   + Se especifica el grupo de registros de destino en el que se publicarán los registros de las métricas EMF.
   + Se especifican dos conjuntos de dimensiones para cada nombre de métrica.
   + Se envían 8 métricas de CloudWatch (4 nombres de métricas y 2 conjuntos de dimensiones por nombre de métrica).

   ```
   {
      "logs":{
         "logs_collected":{
            ....
         },
         "metrics_collected":{
            "prometheus":{
               "cluster_name":"prometheus-test-cluster",
               "log_group_name":"prometheus-test",
               "prometheus_config_path":"/tmp/prometheus.yaml",
               "emf_processor":{
                  "metric_declaration_dedup":true,
                  "metric_namespace":"CWAgent",
                  "metric_unit":{
                     "jvm_threads_current":"Count",
                     "jvm_gc_collection_seconds_sum":"Second",
                     "jvm_memory_bytes_used":"Bytes"
                  },
                  "metric_declaration":[
                     {
                        "source_labels":[
                           "job"
                        ],
                        "label_matcher":"^jmx$",
                        "dimensions":[
                           [
                              "InstanceId",
                              "ComponentName"
                           ],
                           [
                              "ComponentName"
                           ]
                        ],
                        "metric_selectors":[
                           "^java_lang_threading_threadcount$",
                           "^java_lang_memory_heapmemoryusage_used$",
                           "^java_lang_memory_heapmemoryusage_committed$"
                        ]
                     }
                  ]
               }
            }
         }
      },
      "metrics":{
         ....
      }
   }
   ```

## `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-prometheus"></a>

Puede recuperar métricas de SAP HANA específicas de la carga de trabajo desde el [exportador de base de datos HANA de Prometheus](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para que Información de aplicaciones configure y monitoree las alarmas. Para obtener más información, consulte la sección [Configuración de la base de datos SAP HANA para la supervisión](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) de esta guía.

Para utilizar [Distributor de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para armar, instalar y configurar el paquete exportador de base de datos HANA de Prometheus que proporciona AWS independientemente de Información de aplicaciones, siga los pasos que se describen a continuación.

**Requisitos previos para usar el paquete SSM del exportador de base de datos HANA de Prometheus**
+ Debe contar con la versión 2.3.1550.0 de SSM Agent instalada o una posterior
+ Base de datos SAP HANA
+ Sistema operativo Linux (SUSE Linux, RedHat Linux)
+ Un secreto con las credenciales de monitoreo de bases de datos SAP HANA, mediante AWS Secrets Manager. Cree un secreto mediante el formato de pares clave-valor, especifique el nombre de usuario clave e ingrese el usuario de la base de datos en el valor. Agregue una segunda contraseña clave y, a continuación, ingrese la contraseña para el valor. Para obtener más información acerca de la creación de secretos, consulte [Crear un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) en la *Guía del usuario de AWS Secrets Manager*. El secreto debe tener el siguiente formato:

  ```
  {
    "username": "<database_user>",
    "password": "<database_password>"
  }
  ```

**Instale y configure el paquete `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`**  
El paquete `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure` es un paquete de SSM Distributor que puede usar para instalar y configurar [Prometheus HANA database Exporter](https://github.com/prometheus/jmx_exporter) (Exportador de base de datos HANA de Prometheus). Cuando el exportador de base de datos HANA de Prometheus envía métricas de base de datos HANA, el agente de CloudWatch se puede configurar para recuperar las métricas del servicio de CloudWatch.

1. Cree un parámetro SSM en [Almacén de parámetros SSM](https://console.aws.amazon.com/systems-manager/parameters) para almacenar las configuraciones del exportador. A continuación se muestra un valor de parámetro de ejemplo.

   ```
   {\"exposition_port\":9668,\"multi_tenant\":true,\"timeout\":600,\"hana\":{\"host\":\"localhost\",\"port\":30013,\"aws_secret_name\":\"HANA_DB_CREDS\",\"scale_out_mode\":true}}
   ```
**nota**  
En este ejemplo, la exportación se ejecuta solo en la instancia de Amazon EC2 con la base de datos del `SYSTEM` activo y permanece inactiva en las demás instancias de EC2 para evitar métricas duplicadas. El exportador puede recuperar toda la información del inquilino de la base de datos desde la base de datos del `SYSTEM`.

1. Cree un parámetro SSM en [SSM Parameter Store](https://console.aws.amazon.com/systems-manager/parameters) para almacenar las consultas de métricas del exportador. El paquete puede aceptar más de un parámetro de métrica. Cada parámetro debe tener un formato de objeto JSON válido. A continuación se muestra un valor parámetro de ejemplo:

   ```
   {\"SELECT MAX(TIMESTAMP) TIMESTAMP, HOST, MEASURED_ELEMENT_NAME CORE, SUM(MAP(CAPTION, 'User Time', TO_NUMBER(VALUE), 0)) USER_PCT, SUM(MAP(CAPTION, 'System Time', TO_NUMBER(VALUE), 0)) SYSTEM_PCT, SUM(MAP(CAPTION, 'Wait Time', TO_NUMBER(VALUE), 0)) WAITIO_PCT, SUM(MAP(CAPTION, 'Idle Time', 0, TO_NUMBER(VALUE))) BUSY_PCT, SUM(MAP(CAPTION, 'Idle Time', TO_NUMBER(VALUE), 0)) IDLE_PCT FROM sys.M_HOST_AGENT_METRICS WHERE MEASURED_ELEMENT_TYPE = 'Processor' GROUP BY HOST, MEASURED_ELEMENT_NAME;\":{\"enabled\":true,\"metrics\":[{\"name\":\"hanadb_cpu_user\",\"description\":\"Percentage of CPU time spent by HANA DB in user space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"USER_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_system\",\"description\":\"Percentage of CPU time spent by HANA DB in Kernel space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"SYSTEM_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_waitio\",\"description\":\"Percentage of CPU time spent by HANA DB in IO mode, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"WAITIO_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_busy\",\"description\":\"Percentage of CPU time spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"BUSY_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_idle\",\"description\":\"Percentage of CPU time not spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"IDLE_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"}]}}
   ```

   Para obtener más información acerca de las consultas de métricas, consulte el repositorio de [https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json](https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json) en GitHub.

1. Diríjase a la consola [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) y abra la pestaña **Owned by Amazon** (Perteneciente a Amazon). Seleccione **AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure\$1** y elija **Install one time** (Instalar una vez).

1. Actualice el parámetro de SSM que creó en el primer paso mediante el reemplazo de ‘Argumentos adicionales’ por lo siguiente:

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}",
     "SSM_SID": "<SAP_DATABASE_SID>",
     "SSM_EXPORTER_METRICS_1": "{{ssm:<SSM_FIRST_METRICS_PARAMETER_STORE_NAME>}}",
     "SSM_EXPORTER_METRICS_2": "{{ssm:<SSM_SECOND_METRICS_PARAMETER_STORE_NAME>}}"
   }
   ```

1. Seleccione las instancias de Amazon EC2 con base de datos SAP HANA y luego elija **Run** (Ejecutar).

## `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-prometheus-ha"></a>

Puede recuperar métricas de clúster de alta disponibilidad (HA) específicas de la carga de trabajo desde el [Exportador de clúster HANA de Prometheus](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para Información de aplicaciones para configurar y monitorear alarmas para una configuración de alta disponibilidad de base de datos SAP HANA. Para obtener más información, consulte la sección [Configuración de la base de datos SAP HANA para la supervisión](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) de esta guía.

Para utilizar [Distribuidor de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para armar, instalar y configurar el paquete exportador de clúster de alta disponibilidad de Prometheus que proporciona AWS independientemente de Información de aplicaciones, siga los pasos que se describen a continuación.

**Requisitos previos para usar el paquete SSM del exportador de clúster de alta disponibilidad de Prometheus**
+ Debe contar con la versión 2.3.1550.0 de SSM Agent instalada o una posterior
+ Clúster de alta disponibilidad para Pacemaker, Corosync, SBD y DRBD
+ Sistema operativo Linux (SUSE Linux, RedHat Linux)

**Instale y configure el paquete `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`**  
El paquete `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure` es un paquete de SSM Distributor que puede usar para instalar y configurar el exportador de clúster de alta disponibilidad de Prometheus. Cuando el exportador de base de datos HANA de Prometheus envía métricas de clúster, el agente de CloudWatch se puede configurar para recuperar las métricas del servicio de CloudWatch.

1. Cree un parámetro SSM en [SSM Parameter Store](https://console.aws.amazon.com/systems-manager/parameters) para almacenar las configuraciones del exportador en formato JSON. A continuación se muestra un valor de parámetro de ejemplo.

   ```
   {\"port\":\"9664\",\"address\":\"0.0.0.0\",\"log-level\":\"info\",\"crm-mon-path\":\"/usr/sbin/crm_mon\",\"cibadmin-path\":\"/usr/sbin/cibadmin\",\"corosync-cfgtoolpath-path\":\"/usr/sbin/corosync-cfgtool\",\"corosync-quorumtool-path\":\"/usr/sbin/corosync-quorumtool\",\"sbd-path\":\"/usr/sbin/sbd\",\"sbd-config-path\":\"/etc/sysconfig/sbd\",\"drbdsetup-path\":\"/sbin/drbdsetup\",\"enable-timestamps\":false}
   ```

   Para obtener más información acerca de las configuraciones del exportador, consulte el repositorio [https://github.com/ClusterLabs/ha_cluster_exporter/blob/master/ha_cluster_exporter.yaml](https://github.com/ClusterLabs/ha_cluster_exporter/blob/master/ha_cluster_exporter.yaml) en GitHub.

1. Diríjase a la consola [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) y abra la pestaña **Owned by Amazon** (Perteneciente a Amazon). Seleccione **AWSObservabilityExporter-HAClusterExporterInstallAndConfigure\$1** y luego elija **Install one time** (Instalar una vez).

1. Actualice el parámetro de SSM que creó en el primer paso mediante el reemplazo de ‘Argumentos adicionales’ por lo siguiente:

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}"
   }
   ```

1. Seleccione las instancias de Amazon EC2 con base de datos SAP HANA y luego elija **Run** (Ejecutar).

## `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-host-exporter"></a>

Puede recuperar métricas de SAP NetWeaver específicas de la carga de trabajo desde el [exportador de host de Prometheus SAP](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para que Información de aplicaciones configure y supervise las alarmas de las implementaciones distribuidas y de alta disponibilidad de SAP NetWeaver.

Si quiere utilizar el [distribuidor de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para empaquetar, instalar y configurar el paquete del exportador de host de SAP independientemente de Información de aplicaciones, siga los pasos que se describen a continuación.

**Requisitos previos para usar el paquete SSM del exportador de host de Prometheus SAP**
+ Debe contar con la versión 2.3.1550.0 de SSM Agent instalada o una posterior
+ Servidores de aplicaciones de SAP NetWeaver
+ Sistema operativo Linux (SUSE Linux, RedHat Linux)

**Instale y configure el paquete `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`**  
El paquete `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure` es un paquete del distribuidor de SSM que puede usar para instalar y configurar el exportador de métricas de Prometheus de SAP NetWeaver. Cuando el exportador de Prometheus envía métricas de SAP NetWeaver, el agente de CloudWatch se puede configurar para recuperar las métricas del servicio CloudWatch.

1. Cree un parámetro SSM en [SSM Parameter Store](https://console.aws.amazon.com/systems-manager/parameters) para almacenar las configuraciones del exportador en formato JSON. A continuación se muestra un valor de parámetro de ejemplo.

   ```
   {\"address\":\"0.0.0.0\",\"port\":\"9680\",\"log-level\":\"info\",\"is-HA\":false}
   ```
   + **dirección**

     La dirección de destino a la que se enviarán las métricas de Prometheus. El valor predeterminado es `localhost`.
   + **puerto**

     El puerto de destino al que enviarán las métricas de Prometheus. El valor predeterminado es `9680`.
   + **is-HA**

     `true` para implementaciones de alta disponibilidad de SAP NetWeaver. Para el resto de implementaciones, el valor es `false`.

1. Diríjase a la consola [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) y abra la pestaña **Owned by Amazon** (Perteneciente a Amazon). Seleccione **AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure** y elija **Install one time** (Instalar una vez).

1. Actualice el parámetro de SSM que creó en el primer paso mediante el reemplazo de ‘Argumentos adicionales’ por lo siguiente:

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>}}",
     "SSM_SID": "<SAP_DATABASE_SID>",
     "SSM_INSTANCES_NUM": "<instances_number seperated by comma>"
   }
   ```

   **Ejemplo**

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:exporter_config_paramter}}",
     "SSM_INSTANCES_NUM": "11,12,10",
     "SSM_SID": "PR1"
   }
   ```

1. Seleccione las instancias de Amazon EC2 con aplicaciones de SAP NetWeaver y luego elija **Run** (Ejecutar).

**nota**  
El exportador de Prometheus administra las métricas de SAP NetWeaver en un punto de conexión local. Solo los usuarios del sistema operativo de la instancia Amazon EC2 pueden acceder al punto de conexión local. Por lo tanto, una vez instalado el paquete exportador, las métricas estarán disponibles para todos los usuarios del sistema operativo. El punto de conexión local predeterminado es `localhost:9680/metrics`.

## `AWSObservabilityExporter-SQLExporterInstallAndConfigure`
<a name="appinsights-ssm-sql-prometheus"></a>

Puede recuperar métricas de SQL Server específicas de la carga de trabajo desde el [SQL Exporter de Prometheus](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para Información de aplicaciones con el fin de supervisar las métricas clave. 

Para utilizar [Distribuidor de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para empaquetar, instalar y configurar el paquete exportador SQL independientemente de Información de aplicaciones, siga los pasos siguientes.

**Prerrequisitos para usar el paquete SSM del SQL Exporter de Prometheus**
+ Debe contar con la versión 2.3.1550.0 de SSM Agent instalada o una posterior
+ Instancia de Amazon EC2 que ejecuta SQL Server en Windows con la autenticación de usuarios de SQL Server habilitada.
+ Un usuario de SQL Server con los siguientes permisos:

  ```
  GRANT VIEW ANY DEFINITION TO
  ```

  ```
  GRANT VIEW SERVER STATE TO
  ```
+ Un secreto que contiene la cadena de conexión a la base de datos que utiliza AWS Secrets Manager. Para obtener más información acerca de la creación de secretos, consulte [Crear un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) en la *Guía del usuario de AWS Secrets Manager*. El secreto debe tener el siguiente formato:

  ```
  {
    "data_source_name":"sqlserver://<username>:<password>@localhost:1433"
  }
  ```
**nota**  
Si la contraseña o el nombre de usuario contienen caracteres especiales, debe codificar los caracteres especiales en porcentaje para garantizar una conexión correcta a la base de datos.

**Instale y configure el paquete `AWSObservabilityExporter-SQLExporterInstallAndConfigure`**  
El paquete `AWSObservabilityExporter-SQLExporterInstallAndConfigure` es un paquete del distribuidor de SSM que puede usar para instalar y configurar el exportador de métricas de Prometheus de SQL NetWeaver. Cuando el exportador de Prometheus envía métricas, el agente de CloudWatch se puede configurar para recuperar las métricas del servicio CloudWatch.

1. En función de sus preferencias, prepare la configuración YAML de SQL Exporter. El siguiente ejemplo de configuración tiene configurada una única métrica. Utilice la [configuración de ejemplo](https://github.com/burningalchemist/sql_exporter/blob/master/examples/sql_exporter.yml) para actualizar la configuración con métricas adicionales o crear su propia configuración.

   ```
   ---
   global:
     scrape_timeout_offset: 500ms
     min_interval: 0s
     max_connections: 3
     max_idle_connections: 3
   target:
     aws_secret_name: <SECRET_NAME>
     collectors:
       - mssql_standard
   collectors:
     - collector_name: mssql_standard
       metrics: 
       - metric_name: mssql_batch_requests
         type: counter
         help: 'Number of command batches received.'
         values: [cntr_value]
         query: |
           SELECT cntr_value
           FROM sys.dm_os_performance_counters WITH (NOLOCK)
           WHERE counter_name = 'Batch Requests/sec'
   ```

1. Copie el archivo de configuración YAML del SQL Exporter de Prometheus codificado como Base64 a un nuevo parámetro SSM en el [Almacén de parámetros de SSM](https://console.aws.amazon.com/systems-manager/parameters).

1. Diríjase a la consola [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) y abra la pestaña **Owned by Amazon** (Perteneciente a Amazon). Seleccione **AWSObservabilityExporter-SQLExporterInstallandConfigure** y elija **Instalar una vez.**

1. Sustituya los “Argumentos adicionales” por la siguiente información. `SSM_PARAMETER_NAME` es el nombre del parámetro que creó en el paso 2.

   ```
   {
     "SSM_EXPORTER_CONFIGURATION": 
       "{{ssm:<SSM_PARAMETER_STORE_NAME>}}",
       "SSM_PROMETHEUS_PORT": "9399",
       "SSM_WORKLOAD_NAME": "SQL"                         
   }
   ```

1. Seleccione la instancia de Amazon EC2 con la base de datos de SQL Server y, a continuación, elija ejecutar.

# Documentos de Systems Manager (SSM) de AWS utilizados por Información de aplicaciones de CloudWatch
<a name="appinsights-ssm-documents"></a>

Información de aplicaciones utiliza los documentos de SSM que se enumeran en esta sección para definir las acciones que AWS Systems Manager realiza en las instancias administradas. Estos documentos utilizan la función de `Run Command` de Systems Manager para automatizar las tareas necesarias para llevar a cabo las funciones de monitoreo de Información de aplicaciones. Información de aplicaciones mantiene los programas de ejecución de estos documentos y no se pueden modificar.

Para obtener más información sobre los documentos de SSM, consulte [Documentos de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html) en la *Guía del usuario de AWS Systems Manager*.

## Documentos administrados por Información de aplicaciones de CloudWatch
<a name="ssm-documents-appinsights-managed"></a>

En la siguiente tabla se enumeran los documentos de SSM que administra Información de aplicaciones.


| Nombre del documento | Descripción | Programa de ejecución | 
| --- | --- | --- | 
|  `AWSEC2-DetectWorkload`  |  Detecta de forma automática las aplicaciones que se ejecutan en su entorno de aplicaciones y que Información de aplicaciones puede configurar para monitorearlas.  |  Este documento se ejecuta a cada hora en su entorno de aplicaciones para obtener detalles actualizados de la aplicación.  | 
|  `AWSEC2-CheckPerformanceCounterSets`  |  Comprueba si los espacios de nombres del Contador de rendimiento están habilitados en las instancias de Windows de Amazon EC2.  |  Este documento se ejecuta a cada hora en el entorno de su aplicación y solo monitorea las métricas del Contador de rendimiento si los espacios de nombres correspondientes están habilitados.  | 
|  `AWSEC2-ApplicationInsightsCloudwatchAgentInstallAndConfigure`  |  Instala y configura el Agente de CloudWatch en función de la configuración de monitoreo de los componentes de la aplicación.  |  Este documento se ejecuta cada 30 minutos para asegurar que la configuración del Agente de CloudWatch sea siempre precisa y esté actualizada. El documento también se ejecuta inmediatamente después de realizar un cambio en la configuración de monitoreo de la aplicación, como añadir o eliminar métricas o actualizar las configuraciones de registro.   | 

## Documentos administrados por AWS Systems Manager
<a name="ssm-documents-aws-managed"></a>

Información de aplicaciones de CloudWatch utiliza los siguientes documentos y Systems Manager los administra.

**`AWS-ConfigureAWSPackage`**  
La Información de aplicaciones utiliza este documento para instalar y desinstalar los paquetes del distribuidor exportador Prometheus, para recopilar métricas específicas de las cargas de trabajo y permitir un monitoreo exhaustivo de las cargas de trabajo en las instancias de Amazon EC2 de los clientes. Información de aplicaciones de CloudWatch instala los paquetes del distribuidor exportador Prometheus solo si la carga de trabajo de destino correlacionada se ejecuta en su instancia. 

La siguiente tabla enumera los paquetes del distribuidor exportador Prometheus y las cargas de trabajo de destino correlacionadas.


| Nombre del paquete del distribuidor exportador Prometheus | Carga de trabajo de destino | 
| --- | --- | 
|  `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`  |  SAP HANA HA  | 
|  `AWSObservabilityExporter-JMXExporterInstallAndConfigure`  |  Java/JMX  | 
|  `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`  |  SAP HANA  | 
|  `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`  |  NetWeaver  | 
|  `AWSObservabilityExporter-SQLExporterInstallAndConfigure`  |  SQL Server (Windows) y SAP ASE (Linux)  | 

**`AmazonCloudWatch-ManageAgent`**  
La Información de aplicaciones utiliza este documento para administrar el estado y la configuración del Agente de CloudWatch en sus instancias y para recopilar métricas y registros internos del sistema de las instancias de Amazon EC2 en todos los sistemas operativos.

# Requisitos previos, políticas de IAM y permisos necesarios para acceder a Información de aplicaciones de CloudWatch
<a name="appinsights-accessing"></a>

Para comenzar a utilizar Información de aplicaciones de CloudWatch, verifique que se hayan cumplido los requisitos previos, que se haya creado una política de IAM y que se hayan adjuntado los permisos si es necesario.

**Topics**
+ [Requisitos previos para configurar una aplicación de supervisión](appinsights-prereqs.md)
+ [Política de IAM de Información de aplicaciones de CloudWatch](appinsights-iam.md)
+ [Permisos de rol de IAM para la incorporación de aplicaciones basadas en cuentas](appinsights-account-based-onboarding-permissions.md)

# Requisitos previos para configurar una aplicación de supervisión
<a name="appinsights-prereqs"></a>

Debe completar los siguientes requisitos previos para configurar una aplicación con Información de aplicaciones de CloudWatch:
+ **Habilitación de AWS Systems Manager**: instale Systems Manager Agent (SSM Agent) en sus instancias de Amazon EC2 y habilite las instancias para SSM. Para obtener información acerca de la instalación de SSM Agent, consulte [Configuración de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html) en la *Guía del usuario de AWS Systems Manager*.
+ **Rol de instancia de EC2**: debe adjuntar los siguientes roles de instancia de Amazon EC2 para habilitar Systems Manager
  + Debe adjuntar el rol de `AmazonSSMManagedInstanceCore` para habilitar Systems Manager. Para obtener más información, consulte [Ejemplos de políticas basadas en identidades de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Debe adjuntar la política `CloudWatchAgentServerPolicy` para permitir que las métricas y registros de instancias se emitan a través de CloudWatch. Consulte [Creación de roles de IAM y usuarios para utilizarlos con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html) para obtener más información.
+ **Grupos de recursos de AWS:** para incorporar las aplicaciones a Información de aplicaciones de CloudWatch, cree un grupo de recursos que incluya todos los recursos de AWS asociados que se utilizan en la pila de aplicaciones. Esto incluye los equilibradores de carga de aplicación, las instancias de Amazon EC2 con el front-end de IIS y web, las capas de nodos de trabajo de .NET y la base de datos SQL Server. Para obtener más información sobre los componentes de las aplicaciones y los conjuntos de tecnologías compatibles con Información de aplicaciones, consulte [Componentes de aplicaciones admitidos](appinsights-what-is.md#appinsights-components). Información de aplicaciones de CloudWatch incluye automáticamente grupos de escalado automático con las mismas etiquetas o pilas de CloudFormation como su grupo de recursos, ya que los grupos de recursos no son compatibles con los grupos de escalado automático. Para obtener más información, consulte [Introducción a AWSResource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted.html).
+ **Permisos de IAM**: en el caso de los usuarios que no sean administradores, debe crear una política de AWS Identity and Access Management (IAM) a fin de que Información de aplicaciones cree un rol vinculado al servicio y este se asocie a la identidad del usuario. Para obtener información acerca de la creación de una política de IAM, consulte [Política de IAM de Información de aplicaciones de CloudWatch](appinsights-iam.md).
+ **Rol vinculado al servicio:** Información de aplicaciones utiliza roles vinculados al servicio de AWS Identity and Access Management (IAM). Al crear su primera aplicación de Información de aplicaciones en la consola, Información de aplicaciones le crea el rol vinculado a un servicio. Para obtener más información, consulte [Uso de roles vinculados a un servicio para CloudWatch Application Insights](CHAP_using-service-linked-roles-appinsights.md).
+ **Compatibilidad con las métricas del contador de rendimiento para las instancias EC2 de Windows:** para monitorear las métricas del contador de rendimiento en las instancias de Amazon EC2 de Windows, los contadores de rendimiento deben estar instalados en las instancias. Para las métricas del contador de desempeño y los nombres del conjunto de contadores de desempeño correspondientes, consulte [Métricas del contador de desempeño](application-insights-performance-counter.md). Para obtener más información acerca de los contadores de desempeño, consulte [Contadores de desempeño](https://docs.microsoft.com/en-us/windows/win32/perfctrs/performance-counters-portal).
+ **Agente de Amazon CloudWatch**: Información de aplicaciones instala y configura el agente de CloudWatch. Si tiene instalado el agente de CloudWatch, Información de aplicaciones conserva su configuración. Para evitar un conflicto de fusión, elimine la configuración de los recursos que desee utilizar en Información de aplicaciones del archivo de configuración del agente de CloudWatch existente. Para obtener más información, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).

# Política de IAM de Información de aplicaciones de CloudWatch
<a name="appinsights-iam"></a>

Para utilizar Información de aplicaciones de CloudWatch, cree una [política de AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) y adjúntela al usuario, grupo o rol. Para obtener más información acerca de los usuarios, los grupos, los roles y los roles, consulte [Identidades IAM (usuarios, grupos de usuarios y roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html). La política de IAM define los permisos del usuario.

**Para crear una política de IAM mediante la consola, realice el siguiente procedimiento.**  
Para crear una política de IAM mediante la consola de IAM, siga los pasos a continuación.

1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam/home). En el panel de navegación izquierdo, seleccione **Policies (Políticas)**.

1. En la parte superior de la página, seleccione **Create policy (Crear política)**.

1. Seleccione la pestaña **JSON**.

1. Copie y pegue el siguiente documento JSON en la pestaña **JSON**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "applicationinsights:*",
                   "iam:CreateServiceLinkedRole",
                   "iam:ListRoles",
                   "resource-groups:ListGroups"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Elija **Review Policy (Revisar política)**.

1. En **Nombre** escriba un nombre para la política; por ejemplo, “AppInsightsPolicy”. Si lo desea, en **Description (Descripción)** escriba una descripción.

1. Seleccione **Create Policy (Crear política)**.

1. En el panel de navegación izquierdo, seleccione **Grupos de usuarios**, **Usuarios** o **Roles**.

1. Elija el nombre del grupo de usuarios, usuario o rol al que desea asociar la política.

1. Seleccione **Add permissions (Añadir permisos)**.

1. Seleccione **Asociar directamente las políticas existentes**.

1. Busque la política que acaba de crear y seleccione la casilla de verificación situada a la izquierda del nombre de la política.

1. A continuación, seleccione **Next: Review (Siguiente: Revisar)**.

1. Asegúrese de que se muestra la política correcta y seleccione **Add permissions (Añadir permisos)**.

1. Asegúrese de iniciar sesión con el usuario asociado a la política que acaba de crear cuando utilice Información de aplicaciones de CloudWatch.

**Para crear una política de IAM mediante AWS CLI**  
Para crear una política de IAM mediante AWS CLI, ejecute la operación [create-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html) desde la línea de comandos, con el documento en formato JSON mencionado como archivo en su carpeta actual. 

**Para crear una política de IAM mediante AWS Tools for Windows PowerShell**  
Para crear una política de IAM mediante AWS Tools for Windows PowerShell, ejecute el cmdlt [New-IAMPolicy](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMPolicy.html) con el documento en formato JSON mencionado como un archivo en la carpeta actual. 

# Permisos de rol de IAM para la incorporación de aplicaciones basadas en cuentas
<a name="appinsights-account-based-onboarding-permissions"></a>

Si quiere incorporar todos los recursos de su cuenta y decide no utilizar la [política administrada de Información de aplicaciones](security-iam-awsmanpol-appinsights.md) para acceder completamente a la funcionalidad de Información de aplicaciones, debe adjuntar los siguientes permisos a su rol de IAM para que Información de aplicaciones pueda descubrir todos los recursos de su cuenta:

```
"ec2:DescribeInstances" 
"ec2:DescribeNatGateways"
"ec2:DescribeVolumes"
"ec2:DescribeVPCs"
"rds:DescribeDBInstances"
"rds:DescribeDBClusters"
"sqs:ListQueues"
"elasticloadbalancing:DescribeLoadBalancers"
"autoscaling:DescribeAutoScalingGroups"
"lambda:ListFunctions"
"dynamodb:ListTables"
"s3:ListAllMyBuckets"
"sns:ListTopics"
"states:ListStateMachines"
"apigateway:GET"
"ecs:ListClusters"
"ecs:DescribeTaskDefinition" 
"ecs:ListServices"
"ecs:ListTasks"
"eks:ListClusters"
"eks:ListNodegroups"
"fsx:DescribeFileSystems"
"route53:ListHealthChecks"
"route53:ListHostedZones"
"route53:ListQueryLoggingConfigs"
"route53resolver:ListFirewallRuleGroups"
"route53resolver:ListFirewallRuleGroupAssociations"
"route53resolver:ListResolverEndpoints"
"route53resolver:ListResolverQueryLogConfigs"
"route53resolver:ListResolverQueryLogConfigAssociations"
"logs:DescribeLogGroups"
"resource-explorer:ListResources"
```

# Configuración de la aplicación para la supervisión con la Consola de administración de AWS
<a name="appinsights-setting-up"></a>

En esta sección se detallan los pasos que tiene que seguir para instalar, configurar y administrar la aplicación de Información de aplicaciones de CloudWatch mediante la consola, AWS CLI y AWS Tools for Windows PowerShell.

**Topics**
+ [Pasos de la consola](appinsights-setting-up-console.md)
+ [Pasos de línea de comandos](appinsights-setting-up-command.md)
+ [Events](appinsights-cloudwatch-events.md)
+ [Notificaciones](appinsights-problem-notifications.md)

# Instale, configure y administre la aplicación para el monitoreo desde la consola de CloudWatch
<a name="appinsights-setting-up-console"></a>

En esta sección se detallan los pasos a seguir para instalar, configurar y administrar la aplicación para el monitoreo desde la consola de CloudWatch.

**Topics**
+ [Agregue y configure una aplicación](#appinsights-add-configure)
+ [Habilitación del monitoreo de recursos de Información de aplicaciones para Amazon ECS y Amazon EKS](#appinsights-container-insights)
+ [Desactive el monitoreo para un componente de aplicación](#appinsights-disable-monitoring)
+ [Eliminar una aplicación](#appinsights-delete-app)

## Agregue y configure una aplicación
<a name="appinsights-add-configure"></a>

**Adición y configuración de una aplicación desde la consola de CloudWatch**  
Siga estos pasos para comenzar a utilizar Información de aplicaciones de CloudWatch desde la consola de CloudWatch.

1. **Se inicia.** Abra la [página de inicio de la consola de CloudWatch](https://console.aws.amazon.com/cloudwatch). Desde el panel de navegación izquierdo, en **Insights**, elija **Application Insights**. En la página que se abre, podrá visualizar la lista de aplicaciones que se supervisan con Información de aplicaciones de CloudWatch, además del estado de supervisión. 

1. **Agregar una aplicación.** Para configurar el monitoreo de la aplicación, elija **Add an application** (Agregar una aplicación). Cuando elija **Add an application** (Agregar una aplicación), deberá **Choose Application Type** (Elegir el tipo de aplicación). 
   + **Aplicación basada en Resource Groups**. Al seleccionar esta opción, puede elegir los Resource Groups de esta cuenta que se van a monitorear. Para usar varias aplicaciones en un componente, debe usar la supervisión basada en grupos de recursos. 
   + **Aplicación basada en cuentas**. Al seleccionar esta opción, podrá monitorear todos los recursos de esta cuenta. Si desea monitorear todos los recursos de una cuenta, le recomendamos esta opción en lugar de la opción basada en grupos de recursos porque el proceso de incorporación de aplicaciones es más rápido.
**nota**  
No es posible combinar el monitoreo basado en grupos de recursos con el monitoreo basado en cuentas mediante Información de aplicaciones. Para cambiar el tipo de aplicación, debe eliminar todas las aplicaciones que se están supervisando y **Choose Application Type** (Elegir el tipo de aplicación). 

   Cuando agrega su primera aplicación para realizar la supervisión, Información de aplicaciones de CloudWatch crea un rol vinculado a un servicio en su cuenta, lo que le otorga permisos a Información de aplicaciones para llamar a otros servicios de AWS en su nombre. Para obtener más información sobre el rol vinculado a un servicio creado que crea Información de aplicaciones en su cuenta, consulte [Uso de roles vinculados a un servicio para CloudWatch Application Insights](CHAP_using-service-linked-roles-appinsights.md).

1. 

------
#### [ Resource-based application monitoring ]

   1. **Seleccione una aplicación o un grupo de recursos.**En la página **Specify application details** (Especificar detalles de la aplicación), seleccione el grupo de recursos de AWS que contiene los recursos de aplicaciones de la lista desplegable. Estos recursos incluyen los servidores front-end, balanceadores de carga, grupos de Auto Scaling y servidores de bases de datos. 

      Si no ha creado un grupo de recursos para su aplicación, puede crear uno si elige **Create new resource group** (Crear nuevo grupo de recursos). Para obtener más información acerca de Resource Groups, consulte la [https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html). 

   1. **Notificaciones sobre problemas.** Para ver y recibir notificaciones cuando se detecten problemas en las aplicaciones seleccionadas, seleccione Notificaciones de Amazon SNS u OpsItems del Centro de operaciones de Systems Manager.

      1. **Configure las notificaciones de Amazon SNS (acción recomendada).** Elija **Seleccionar un tema existente** o **Crear un tema nuevo**. 

      1. **Integrar con Systems Manager OpsCenter de AWS.** En **Configuración avanzada**, active la casilla de verificación **Generar OpsItems del Centro de operaciones de Systems Manager para acciones correctivas**. Para realizar un seguimiento de las operaciones que se realizan para resolver elementos de trabajo operativos (OpsItems) relacionados con sus recursos de AWS, proporcione el ARN del tema de Amazon SNS.

   1. **Monitoreo de CloudWatch Events**. Marque el casillero para integrar el monitoreo de Información de aplicaciones con Eventos de CloudWatch y obtener información de Amazon EBS, Amazon EC2, AWS CodeDeploy, Amazon ECS, API y notificaciones de AWS Health, Amazon RDS, Amazon S3 y AWS Step Functions.

   1. **Etiquetas: opcional**. Información de aplicaciones de eventos de CloudWatch es compatible con Resource Groups basados en etiquetas y en CloudFormation (con la excepción de los grupos de escalado automático). Para obtener más información, consulte [Uso de Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html).

   1. Elija **Siguiente**.

      Se generará un [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) para la aplicación en el siguiente formato.

      ```
      arn:partition:applicationinsights:region:account-id:application/resource-group/resource-group-name
      ```

      Ejemplo

      ```
      arn:aws:applicationinsights:us-east-1:123456789012:application/resource-group/my-resource-group
      ```

   1. En la página **Revisar los componentes detectados**, en **Revisar los componentes para su supervisión**, la tabla muestra los componentes detectados y sus cargas de trabajo detectadas asociadas.
**nota**  
En el caso de los componentes que admiten varias cargas de trabajo personalizadas, puede supervisar hasta cinco cargas de trabajo para cada componente. Estas cargas de trabajo se supervisarán por separado del componente.  
![\[La sección de componentes detectados de la consola Información de aplicaciones de CloudWatch: descripción general de los componentes detectados y las cargas de trabajo asociadas.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-review-component.png)

      En **Cargas de trabajo asociadas**, hay varios mensajes posibles que aparecen si una carga de trabajo no aparece en la lista.
      + **No se pudieron detectar las cargas de trabajo**: se produjo un problema al intentar detectar las cargas de trabajo. Asegúrese de realizar los pasos que se indican en [Requisitos previos para configurar una aplicación de supervisión](appinsights-prereqs.md). Si necesita añadir cargas de trabajo, elija **Editar componente**.
      + **No se detectaron cargas de trabajo**: no detectamos ninguna carga de trabajo. Es posible que necesite añadir cargas de trabajo. Para ello, elija **Editar componente**.
      + **No aplicable**: el componente no admite cargas de trabajo personalizadas y se supervisará con métricas, alarmas y registros predeterminados. No puede añadir cargas de trabajo a estos componentes.

   1. Para editar un componente, selecciónelo y, a continuación, elija **Editar componente**. Se abre un panel lateral con las cargas de trabajo detectadas en el componente. En este panel, puede editar los detalles del componente y añadir nuevas cargas de trabajo.  
![\[La sección de revisión de los componentes detectados de la consola de Información de aplicaciones de CloudWatch: las cargas de trabajo asociadas pueden editarse.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-edit-component.png)
      + Para editar el tipo o el nombre de la carga de trabajo, utilice la lista desplegable.  
![\[La sección Editar componentes de la consola de Información de aplicaciones de CloudWatch: lista desplegable del tipo de carga de trabajo.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-edit-name-type.png)
      + Para añadir una nueva carga de trabajo al componente, seleccione **Añadir nueva carga de trabajo**.  
![\[La sección de edición de componentes de la consola de Información de aplicaciones de CloudWatch: pulse el botón inferior izquierdo para añadir una nueva carga de trabajo.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-add-workload.png)
        + Si no aparece **Añadir nueva carga de trabajo**, este componente no admite varias cargas de trabajo.
        + Si el encabezado **Cargas de trabajo asociadas** no aparece, este componente no admite cargas de trabajo personalizadas.
      + Para eliminar una carga de trabajo, seleccione **Eliminar** junto a la carga de trabajo que desea eliminar de la supervisión.  
![\[La sección de edición de componentes de la consola de Información de aplicaciones de CloudWatch: eliminar una carga de trabajo.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-remove-workload.png)
      + Para deshabilitar la monitorización de todo el componente, desactive la casilla **Monitorización**.  
![\[A continuación, edite la sección de componentes de la casilla Información de aplicaciones de CloudWatch para desactivar la monitorización.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-disable-monitoring.png)
      + Cuando haya terminado de editar el componente, seleccione **Guardar cambios** en la esquina inferior derecha. Cualquier cambio en las cargas de trabajo de un componente está visible en la tabla **Revisar los componentes para su supervisión**, en **Cargas de trabajo asociadas**.

   1. En la página **Revisar componentes detectados**, seleccione **Siguiente**.

   1. La página **Especificar detalles del componente** incluye todos los componentes con cargas de trabajo asociadas personalizables del paso anterior.
**nota**  
Si el encabezado de un componente tiene una etiqueta *opcional*, los detalles adicionales de las cargas de trabajo de ese componente son opcionales.

      Si un componente no aparece en esta página, no tiene ningún detalle adicional que pueda especificarse en este paso.

   1. Elija **Siguiente**.

   1. En la página **Revisar y enviar**, revise todos los detalles de los componentes y la carga de trabajo supervisados.

   1. Elija **Enviar**.

------
#### [ Account-based application monitoring ]

   1. **Nombre de la aplicación**. Ingrese un nombre para la aplicación basada en cuenta.

   1. **Monitoreo automatizado de nuevos recursos**. Información de aplicaciones utiliza, de forma predeterminada, la configuración recomendada para configurar el monitoreo de los componentes de recursos que se agregan a su cuenta después de incorporar la aplicación. Puede excluir el monitoreo de los recursos agregados después de incorporar la aplicación si desactiva el casillero.

   1. **Monitoreo de CloudWatch Events**. Marque el casillero para integrar el monitoreo de Información de aplicaciones con Eventos de CloudWatch y obtener información de Amazon EBS, Amazon EC2, AWS CodeDeploy, Amazon ECS, API y notificaciones de AWS Health, Amazon RDS, Amazon S3 y AWS Step Functions.

   1. **Integrar con Systems Manager OpsCenter de AWS.** Para ver y recibir notificaciones cuando se detecten problemas en las aplicaciones seleccionadas, seleccione el casillero **Generate Systems Manager OpsCenter OpsItems for remedial actions** (Generar OpsItems de OpsCenter de Systems Manager para crear acciones correctivas). Para realizar un seguimiento de las operaciones que se realizan para resolver elementos de trabajo operativos (OpsItems) relacionados con sus recursos de AWS, proporcione el ARN del tema de SNS. 

   1. **Etiquetas: opcional**. Información de aplicaciones de eventos de CloudWatch es compatible con Resource Groups basados en etiquetas y en CloudFormation (con la excepción de los grupos de escalado automático). Para obtener más información, consulte [Uso de Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html).

   1. **Recursos detectados**. Todos los recursos detectados en su cuenta se agregan a esta lista. Si Información de aplicaciones no puede detectar todos los recursos de su cuenta, aparece un mensaje de error en la parte superior de la página. Este mensaje incluye un enlace a la [documentación sobre cómo agregar los permisos necesarios](appinsights-account-based-onboarding-permissions.md).

   1. Elija **Siguiente**.

      Se generará un [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) para la aplicación en el siguiente formato.

      ```
      arn:partition:applicationinsights:region:account-id:application/TBD/application-name
      ```

      Ejemplo

      ```
      arn:aws:applicationinsights:us-east-1:123456789012:application/TBD/my-application
      ```

------

1. Después de enviar la configuración de supervisión de aplicaciones, se le dirigirá a la página de detalles de la aplicación, donde podrá ver el **resumen de la aplicación**, la lista de **componentes supervisados** y **componentes sin supervisar** y, si selecciona las pestañas situadas junto a **Componentes**, el **historial de configuración**, los **patrones de registro** y cualquiera de las **etiquetas** que haya aplicado.

   Para ver las observaciones de la aplicación, elija **View Insights** (Visualizar observaciones).

   Puede actualizar sus selecciones para el monitoreo y la integración de CloudWatch Events con Systems Manager OpsCenter de AWS si elige**Edit** (Editar).

   Debajo de **Components** (Componentes), puede seleccionar el menú de **Actions** (Acciones) para crear, modificar o desagrupar un grupo de instancias.

   Puede administrar el monitoreo de componentes, incluidos el nivel de aplicación, los grupos de registros, los registros de eventos, las métricas y las alarmas personalizadas, si selecciona la viñeta junto a un componente y **Manage monitoring** (Administrar el monitoreo).

## Habilitación del monitoreo de recursos de Información de aplicaciones para Amazon ECS y Amazon EKS
<a name="appinsights-container-insights"></a>

Puede habilitar Información de aplicaciones para que monitoree las aplicaciones y microservicios en contenedores desde la consola de Información de contenedores. Información de aplicaciones puede monitorear los siguientes recursos:
+ Clústeres de Amazon ECS
+ Servicios de Amazon ECS
+ Tareas de Amazon ECS
+ Clústeres de Amazon EKS

Cuando Información de aplicaciones está habilitada, proporciona métricas y registros recomendados, detecta posibles problemas, genera Eventos de CloudWatch y crea paneles automáticos para sus aplicaciones y microservicios en contenedores.

Puede habilitar Información de aplicaciones para recursos en contenedores desde las consolas Información de contenedores o Información de aplicaciones.

**Habilitación de Información de aplicaciones desde la consola de Información de contenedores**  
Desde la consola de Información de contenedores, en el panel de **Monitoreo del rendimiento** de Información de contenedores, elija **Configuración automática de Información de aplicaciones**. Cuando Información de aplicaciones está habilitada, muestra detalles de los problemas detectados.

**Habilitación de Información de aplicaciones desde la consola de Información de aplicaciones**  
Cuando aparecen clústeres de ECS en la lista de componentes, Información de aplicaciones habilita el monitoreo adicional de contenedores con Información de contenedores de forma automática. 

En el caso de los clústeres de EKS, usted puede habilitar el monitoreo adicional con Información de contenedores para proporcionar información de diagnóstico, como errores de reinicio de contenedores, para ayudarlo a aislar y resolver problemas. Se requieren pasos adicionales para configurar Información de contenedores para EKS. Consulte [Configuración de Información de contenedores en Amazon EKS y Kubernetes](deploy-container-insights-EKS.md) para obtener información sobre los pasos para configurar Información de contenedores en EKS. 

El monitoreo adicional de EKS con Información de contenedores es compatible con instancias Linux con EKS.

Para obtener más información sobre la compatibilidad de Información de contenedores para clústeres ECS y EKS, consulte [Información de contenedores](ContainerInsights.md).

## Desactive el monitoreo para un componente de aplicación
<a name="appinsights-disable-monitoring"></a>

Para desactivar el monitoreo de un componente de la aplicación, seleccione el componente para el que desea desactivar el monitoreo en la página Application Details (Detalles de la aplicación). Elija **Actions** (Acciones) y luego, **Remove from monitoring** (Detener el monitoreo). 

## Eliminar una aplicación
<a name="appinsights-delete-app"></a>

Para eliminar una aplicación, desde el panel de CloudWatch, en el panel de navegación izquierdo de CloudWatch, elija **Application Insights** en **Insights**. Seleccione la aplicación que desea eliminar. Debajo de **Actions** (Acciones), elija **Delete application** (Eliminar aplicación). Esto elimina la monitorización y elimina todos los monitores guardados para los componentes de la aplicación. Los recursos de la aplicación no se eliminan. 

# Instale, configure y administre la aplicación para el monitoreo mediante la línea de comandos.
<a name="appinsights-setting-up-command"></a>

En esta sección se detallan los pasos a seguir para instalar, configurar y administrar la aplicación para el monitoreo mediante la AWS CLI y AWS Tools for Windows PowerShell.

**Topics**
+ [Adición y administración de una aplicación](#appinsights-config-app-command)
+ [Administración y actualización del monitoreo](#appinsights-monitoring)
+ [Configurar la supervisión de los grupos de disponibilidad siempre activos de SQL](#configure-sql)
+ [Configurar la monitoreo para RDS de MySQL](#configure-mysql-rds)
+ [Configurar la supervisión para EC2 de MySQL](#configure-mysql-ec2)
+ [Configuración del monitoreo para RDS de PostgreSQL](#configure-postgresql-rds)
+ [Configurar el monitoreo para EC2 de PostgreSQL](#configure-postgresql-ec2)
+ [Configuración del monitoreo para RDS de Oracle](#configure-oracle-rds)
+ [Configuración del monitoreo para EC2 de Oracle.](#configure-oracle-ec2)

## Adición y administración de una aplicación
<a name="appinsights-config-app-command"></a>

Puede añadir, obtener información, administrar y configurar su aplicación Información de aplicaciones mediante la línea de comandos. 

**Topics**
+ [Adición de una aplicación](#appinsights-add-app)
+ [Descripción de una aplicación](#appinsights-describe-app)
+ [Enumeración de componentes en una aplicación](#appinsights-list-components)
+ [Descripción de un componente](#appinsights-describe-components)
+ [Agrupación de recursos similares en un componente personalizado](#appinsights-group-resources-components)
+ [Cancelación de agrupación de un componente personalizado](#appinsights-ungroup-resources-components)
+ [Actualización de una aplicación](#appinsights-update-app)
+ [Actualización de un componente personalizado](#appinsights-update-component)

### Adición de una aplicación
<a name="appinsights-add-app"></a>

**Agregue una aplicación mediante AWS CLI**  
Utilice el siguiente comando para usar el AWS CLI a fin de agregar una aplicación para su grupo de recursos denominado `my-resource-group` y mantenga OpsCenter habilitado para entregar el opsItem creado a ` arn:aws:sns:us-east-1:123456789012:MyTopic` un tema ARN de SNS.

```
aws application-insights create-application --resource-group-name my-resource-group --ops-center-enabled --ops-item-sns-topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic
```

**Agregue una aplicación mediante AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para utilizar la AWS Tools for Windows PowerShell para agregar una aplicación para su grupo de recursos denominado `my-resource-group`, con OpsCenter habilitado para entregar el opsItem creado a `arn:aws:sns:us-east-1:123456789012:MyTopic` un tema ARN de SNS.

```
New-CWAIApplication -ResourceGroupName my-resource-group -OpsCenterEnabled true -OpsItemSNSTopicArn arn:aws:sns:us-east-1:123456789012:MyTopic
```

### Descripción de una aplicación
<a name="appinsights-describe-app"></a>

**Descripción de una aplicación mediante la AWS CLI**  
Utilice el siguiente comando para usar la AWS CLI a fin de describir una aplicación creada en un grupo de recursos denominado `my-resource-group`.

```
aws application-insights describe-application --resource-group-name my-resource-group
```

**Describa una aplicación mediante AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para usar la AWS Tools for Windows PowerShell a fin de describir una aplicación creada en un grupo de recursos denominado `my-resource-group`.

```
Get-CWAIApplication -ResourceGroupName my-resource-group
```

### Enumeración de componentes en una aplicación
<a name="appinsights-list-components"></a>

**Enumeración de componentes en una aplicación mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI a fin de enumerar los componentes creados en un grupo de recursos denominado `my-resource-group`.

```
aws application-insights list-components --resource-group-name my-resource-group
```

**Enumere componentes en una aplicación mediante AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell a fin de enumerar los componentes creados en un grupo de recursos denominado `my-resource-group`.

```
Get-CWAIComponentList -ResourceGroupName my-resource-group
```

### Descripción de un componente
<a name="appinsights-describe-components"></a>

**Describa un componente mediante AWS CLI**  
Puede utilizar el siguiente comando de AWS CLI para describir un componente denominado `my-component` que pertenece a una aplicación creada en un grupo de recursos denominado `my-resource-group`.

```
aws application-insights describe-component --resource-group-name my-resource-group --component-name my-component
```

**Describa un componente mediante AWS Tools for Windows PowerShell**  
Puede utilizar el siguiente comando de AWS Tools for Windows PowerShell para describir un componente denominado `my-component` que pertenece a una aplicación creada en un grupo de recursos denominado `my-resource-group`.

```
Get-CWAIComponent -ComponentName my-component -ResourceGroupName my-resource-group
```

### Agrupación de recursos similares en un componente personalizado
<a name="appinsights-group-resources-components"></a>

Le recomendamos que agrupe recursos similares, como instancias de servidor web .NET, en componentes personalizados para facilitar la incorporación y para una mejor supervisión e información. CloudWatch Application Insights admite grupos personalizados para instancias de EC2.

**Para agrupar recursos en un componente personalizado mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI para agrupar tres instancias (`arn:aws:ec2:us-east-1:123456789012:instance/i-11111`, `arn:aws:ec2:us-east-1:123456789012:instance/i-22222` y `arn:aws:ec2:us-east-1:123456789012:instance/i-33333`) en un componente personalizado denominado `my-component` para una aplicación creada para el grupo de recursos denominado `my-resource-group`. 

```
aws application-insights create-component --resource-group-name my-resource-group --component-name my-component --resource-list arn:aws:ec2:us-east-1:123456789012:instance/i-11111 arn:aws:ec2:us-east-1:123456789012:instance/i-22222 arn:aws:ec2:us-east-1:123456789012:instance/i-33333
```

**Para agrupar recursos en un componente personalizado mediante AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell a fin de agrupar tres instancias (`arn:aws:ec2:us-east-1:123456789012:instance/i-11111`, `arn:aws:ec2:us-east-1:123456789012:instance/i-22222` y `arn:aws:ec2:us-east-1:123456789012:instance/i-33333`) en un componente personalizado denominado `my-component` para una aplicación creada para el grupo de recursos denominado `my-resource-group`.

```
New-CWAIComponent -ResourceGroupName my-resource-group -ComponentName my-component -ResourceList arn:aws:ec2:us-east-1:123456789012:instance/i-11111,arn:aws:ec2:us-east-1:123456789012:instance/i-22222,arn:aws:ec2:us-east-1:123456789012:instance/i-33333 
```

### Cancelación de agrupación de un componente personalizado
<a name="appinsights-ungroup-resources-components"></a>

**Para desagrupar un componente personalizado mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI para desagrupar un componente personalizado denominado `my-component` en una aplicación creada en el grupo de recursos denominado `my-resource-group`. 

```
aws application-insights delete-component --resource-group-name my-resource-group --component-name my-new-component
```

**Para desagrupar un componente personalizado mediante AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell para desagrupar un componente personalizado denominado `my-component` en una aplicación creada en el grupo de recursos denominado `my-resource-group`.

```
Remove-CWAIComponent -ComponentName my-component -ResourceGroupName my-resource-group
```

### Actualización de una aplicación
<a name="appinsights-update-app"></a>

**Actualice una aplicación mediante AWS CLI**  
Mediante el siguiente comando, puede utilizar AWS CLI para actualizar una aplicación a fin de generar OpsItems de OpsCenter Systems Manager de AWS para los problemas detectados con la aplicación y para asociar los OpsItems creados al tema de SNS `arn:aws:sns:us-east-1:123456789012:MyTopic`. 

```
aws application-insights update-application --resource-group-name my-resource-group --ops-center-enabled --ops-item-sns-topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic
```

**Actualización de una aplicación mediante Tools for Windows PowerShell de AWS**  
Mediante el siguiente comando, puede utilizar AWS Tools for Windows PowerShell para actualizar una aplicación a fin de generar OpsItems de OpsCenter de Systems Manager de AWS para los problemas detectados con la aplicación y para asociar los OpsItems creados al tema de SNS `arn:aws:sns:us-east-1:123456789012:MyTopic`.

```
Update-CWAIApplication -ResourceGroupName my-resource-group -OpsCenterEnabled true -OpsItemSNSTopicArn arn:aws:sns:us-east-1:123456789012:MyTopic
```

### Actualización de un componente personalizado
<a name="appinsights-update-component"></a>

**Actualice un componente personalizado mediante AWS CLI**  
Mediante el siguiente comando, puede utilizar AWS CLI para actualizar un componente personalizado denominado `my-component` con un nuevo nombre de componente, `my-new-component`, y un grupo de instancias actualizado.

```
aws application-insights update-component --resource-group-name my-resource-group --component-name my-component --new-component-name my-new-component --resource-list arn:aws:ec2:us-east-1:123456789012:instance/i-44444 arn:aws:ec2:us-east-1:123456789012:instance/i-55555
```

**Actualización de un componente personalizado con Tools for Windows PowerShell de AWS**  
Mediante el siguiente comando, puede utilizar AWS Tools for Windows PowerShell para actualizar un componente personalizado denominado `my-component` con un nuevo nombre de componente, `my-new-component`, y un grupo de instancias actualizado.

```
Update-CWAIComponent -ComponentName my-component -NewComponentName my-new-component -ResourceGroupName my-resource-group -ResourceList arn:aws:ec2:us-east-1:123456789012:instance/i-44444,arn:aws:ec2:us-east-1:123456789012:instance/i-55555
```

## Administración y actualización del monitoreo
<a name="appinsights-monitoring"></a>

Puede administrar y actualizar la monitorización de su aplicación Información de aplicaciones mediante la línea de comandos.

**Topics**
+ [Enumeración de problemas con la aplicación](#appinsights-list-problems-monitoring)
+ [Descripción de un problema de la aplicación](#appinsights-describe-app-problem)
+ [Descripción de las anomalías o los errores asociados a un problema](#appinsights-describe-anomalies)
+ [Descripción de una anomalía o un error con la aplicación](#appinsights-describe-anomalies)
+ [Descripción de las configuraciones de monitorización de un componente](#appinsights-describe-monitoring)
+ [Descripción de la configuración de monitorización recomendada de un componente](#appinsights-describe-rec-monitoring)
+ [Actualización de las configuraciones de monitorización de un componente](#update-monitoring)
+ [Eliminación de un grupo de recursos especificado del monitoreo de Información de aplicaciones](#update-monitoring)

### Enumeración de problemas con la aplicación
<a name="appinsights-list-problems-monitoring"></a>

**Enumere problemas con la aplicación mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI para enumerar los problemas de la aplicación detectados entre 1000 y 10 000 milisegundos desde la fecha de inicio de Unix para una aplicación creada en un grupo de recursos denominado `my-resource-group`.

```
aws application-insights list-problems --resource-group-name my-resource-group --start-time 1000 --end-time 10000
```

**Enumeración de problemas con la aplicación mediante Tools for Windows PowerShell de AWS**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell para enumerar los problemas de la aplicación detectados entre 1000 y 10 000 milisegundos desde la fecha de inicio de Unix para una aplicación creada en un grupo de recursos denominado `my-resource-group`.

```
$startDate = "8/6/2019 3:33:00"
$endDate = "8/6/2019 3:34:00"
Get-CWAIProblemList -ResourceGroupName my-resource-group -StartTime $startDate -EndTime $endDate
```

### Descripción de un problema de la aplicación
<a name="appinsights-describe-app-problem"></a>

**Describa un problema de la aplicación mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI a fin de describir un problema con el ID de problema `p-1234567890`.

```
aws application-insights describe-problem —problem-id p-1234567890
```

**Descripción de un problema de la aplicación mediante Tools for Windows PowerShell de AWS**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell a fin de describir un problema con el ID de problema `p-1234567890`.

```
Get-CWAIProblem -ProblemId p-1234567890
```

### Descripción de las anomalías o los errores asociados a un problema
<a name="appinsights-describe-anomalies"></a>

**Describa las anomalías o los errores asociados a un problema mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI para describir las anomalías o los errores asociados a un problema con el ID de problema `p-1234567890`.

```
aws application-insights describe-problem-observations --problem-id -1234567890
```

**Describa las anomalías o los errores asociados a un problema mediante AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell para describir las anomalías o los errores asociados a un problema con el ID de problema `p-1234567890`.

```
Get-CWAIProblemObservation -ProblemId p-1234567890
```

### Descripción de una anomalía o un error con la aplicación
<a name="appinsights-describe-anomalies"></a>

**Descripción de una anomalía o un error con la aplicación mediante la CLI de AWS**  
Utilice el siguiente comando para usar AWS CLI a fin de describir una anomalía o un error con la aplicación con el ID de observación `o-1234567890`.

```
aws application-insights describe-observation —observation-id o-1234567890
```

**Descripción de una anomalía o un error con la aplicación mediante Tools for Windows PowerShell de AWS**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell a fin de describir una anomalía o un error con la aplicación con el ID de observación `o-1234567890`.

```
Get-CWAIObservation -ObservationId o-1234567890
```

### Descripción de las configuraciones de monitorización de un componente
<a name="appinsights-describe-monitoring"></a>

**Describa las configuraciones de monitoreo de un componente mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI a fin de describir la configuración de monitoreo de un componente denominado `my-component` en una aplicación creada en el grupo de recursos `my-resource-group`.

```
aws application-insights describe-component-configuration —resource-group-name my-resource-group —component-name my-component
```

**Descripción de las configuraciones de monitoreo de un componente mediante Tools for Windows PowerShell de AWS**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell a fin de describir la configuración de monitoreo de un componente denominado `my-component`, en una aplicación creada en el grupo de recursos `my-resource-group`.

```
Get-CWAIComponentConfiguration -ComponentName my-component -ResourceGroupName my-resource-group
```

Para obtener más información sobre la configuración de componentes y, por ejemplo, archivos JSON, consulte [Uso de configuraciones de componentes](component-config.md).

### Descripción de la configuración de monitorización recomendada de un componente
<a name="appinsights-describe-rec-monitoring"></a>

**Describa la configuración de monitoreo recomendada de un componente mediante AWS CLI**  
Cuando el componente forma parte de una aplicación de .NET Worker, puede utilizar AWS CLI para describir la configuración de monitoreo recomendada de un componente denominado `my-component` en una aplicación creada en el grupo de recursos `my-resource-group` mediante el siguiente comando.

```
aws application-insights describe-component-configuration-recommendation --resource-group-name my-resource-group --component-name my-component --tier DOT_NET_WORKER
```

**Describa la configuración de monitoreo recomendada de un componente mediante AWS Tools for Windows PowerShell**  
Cuando el componente forma parte de una aplicación de .NET Worker, puede utilizar AWS Tools for Windows PowerShell para describir la configuración de monitoreo recomendada de un componente denominado `my-component` en una aplicación creada en el grupo de recursos `my-resource-group` mediante el siguiente comando.

```
Get-CWAIComponentConfigurationRecommendation -ComponentName my-component -ResourceGroupName my-resource-group -Tier DOT_NET_WORKER
```

Para obtener más información sobre la configuración de componentes y, por ejemplo, archivos JSON, consulte [Uso de configuraciones de componentes](component-config.md).

### Actualización de las configuraciones de monitorización de un componente
<a name="update-monitoring"></a>

**Actualice las configuraciones de monitoreo de un componente mediante AWS CLI**  
Utilice el siguiente comando para usar AWS CLI a fin de actualizar el componente denominado `my-component` en una aplicación creada en el grupo de recursos llamado `my-resource-group`. El comando incluye estas acciones:

1. Habilite la monitorización del componente.

1. Establezca la capa del componente en `.NET Worker`.

1. Actualice la configuración JSON del componente para la lectura desde el archivo local `configuration.txt`.

```
aws application-insights update-component-configuration --resource-group-name my-resource-group --component-name my-component --tier DOT_NET_WORKER --monitor --component-configuration "file://configuration.txt"
```

**Actualice las configuraciones de monitoreo de un componente mediante AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell a fin de actualizar el componente denominado `my-component` en una aplicación creada en el grupo de recursos llamado `my-resource-group`. El comando incluye estas acciones:

1. Habilite la monitorización del componente.

1. Establezca la capa del componente en `.NET Worker`.

1. Actualice la configuración JSON del componente para la lectura desde el archivo local `configuration.txt`.

```
[string]$config = Get-Content -Path configuration.txt
Update-CWAIComponentConfiguration -ComponentName my-component -ResourceGroupName my-resource-group -Tier DOT_NET_WORKER -Monitor 1 -ComponentConfiguration $config
```

Para obtener más información sobre la configuración de componentes y, por ejemplo, archivos JSON, consulte [Uso de configuraciones de componentes](component-config.md).

### Eliminación de un grupo de recursos especificado del monitoreo de Información de aplicaciones
<a name="update-monitoring"></a>

**Eliminación de un grupo de recursos específico del monitoreo de Información de aplicaciones mediante la AWS CLI**  
Utilice el siguiente comando para usar AWS CLI a fin de eliminar del monitoreo una aplicación creada en el grupo de recursos denominado `my-resource-group`.

```
aws application-insights delete-application --resource-group-name my-resource-group
```

**Eliminación de un grupo de recursos específico del monitoreo de Información de aplicaciones mediante la AWS Tools for Windows PowerShell**  
Utilice el siguiente comando para usar AWS Tools for Windows PowerShell a fin de eliminar del monitoreo una aplicación creada en el grupo de recursos denominado `my-resource-group`.

```
Remove-CWAIApplication -ResourceGroupName my-resource-group
```

## Configurar la supervisión de los grupos de disponibilidad siempre activos de SQL
<a name="configure-sql"></a>

1. Crear una aplicación para el grupo de recursos con las instancias EC2 de HA de SQL.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Defina las instancias EC2 que representan el clúster de alta disponibilidad de SQL creando un nuevo componente de aplicación.

   ```
   aws application-insights create-component ‐-resource-group-name  "<RESOURCE_GROUP_NAME>" ‐-component-name SQL_HA_CLUSTER ‐-resource-list  "arn:aws:ec2:<REGION>:<ACCOUNT_ID>:instance/<CLUSTER_INSTANCE_1_ID>" "arn:aws:ec2:<REGION>:<ACCOUNT_ID>:instance/<CLUSTER_INSTANCE_2_ID>
   ```

1. Configure el componente de alta disponibilidad de SQL.

   ```
   aws application-insights  update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "SQL_HA_CLUSTER" ‐-monitor ‐-tier SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP ‐-monitor  ‐-component-configuration '{
     "subComponents" : [ {
       "subComponentType" : "AWS::EC2::Instance",
       "alarmMetrics" : [ {
         "alarmMetricName" : "CPUUtilization",
         "monitor" : true
       }, {
         "alarmMetricName" : "StatusCheckFailed",
         "monitor" : true
       }, {
         "alarmMetricName" : "Processor % Processor Time",
         "monitor" : true
       }, {
         "alarmMetricName" : "Memory % Committed Bytes In Use",
         "monitor" : true
       }, {
         "alarmMetricName" : "Memory Available Mbytes",
         "monitor" : true
       }, {
         "alarmMetricName" : "Paging File % Usage",
         "monitor" : true
       }, {
         "alarmMetricName" : "System Processor Queue Length",
         "monitor" : true
       }, {
         "alarmMetricName" : "Network Interface Bytes Total/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "PhysicalDisk % Disk Time",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Buffer Manager Buffer cache hit ratio",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Buffer Manager Page life expectancy",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:General Statistics Processes blocked",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:General Statistics User Connections",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Locks Number of Deadlocks/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:SQL Statistics Batch Requests/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica File Bytes Received/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Log Bytes Received/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Log remaining for undo",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Log Send Queue",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Mirrored Write Transaction/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Recovery Queue",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Redo Bytes Remaining",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Redone Bytes/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Total Log requiring undo",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Transaction Delay",
         "monitor" : true
       } ],
       "windowsEvents" : [ {
         "logGroupName" : "WINDOWS_EVENTS-Application-<RESOURCE_GROUP_NAME>",
         "eventName" : "Application",
         "eventLevels" : [ "WARNING", "ERROR", "CRITICAL", "INFORMATION" ],
         "monitor" : true
       }, {
         "logGroupName" : "WINDOWS_EVENTS-System-<RESOURCE_GROUP_NAME>",
         "eventName" : "System",
         "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
         "monitor" : true
       }, {
         "logGroupName" : "WINDOWS_EVENTS-Security-<RESOURCE_GROUP_NAME>",
         "eventName" : "Security",
         "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
         "monitor" : true
       } ],
       "logs" : [ {
         "logGroupName" : "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP-<RESOURCE_GROUP_NAME>",
         "logPath" : "C:\\Program Files\\Microsoft SQL Server\\MSSQL**.MSSQLSERVER\\MSSQL\\Log\\ERRORLOG",
         "logType" : "SQL_SERVER",
         "monitor" : true,
         "encoding" : "utf-8"
       } ]
     }, {
       "subComponentType" : "AWS::EC2::Volume",
       "alarmMetrics" : [ {
         "alarmMetricName" : "VolumeReadBytes",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeWriteBytes",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeReadOps",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeWriteOps",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeQueueLength",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeThroughputPercentage",
         "monitor" : true
       }, {
       "alarmMetricName" : "BurstBalance",
         "monitor" : true
       } ]
     } ]
   }'
   ```

**nota**  
Información de aplicaciones debe adquirir registros de eventos de aplicación (nivel de información) para detectar actividades de clúster como la conmutación por error.

## Configurar la monitoreo para RDS de MySQL
<a name="configure-mysql-rds"></a>

1. Crear una aplicación para el grupo de recursos con la instancia de base de datos MySQL en RDS.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. El registro de errores están habilitados de forma predeterminada. El registro de consultas lentas se puede habilitar mediante grupos de parámetros de datos. Para obtener más información, consulte [Acceso al registro de consultas lentas de MySQL y al registro general](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#USER_LogAccess.MySQL.Generallog).
   + `set slow_query_log = 1`
   + `set log_output = FILE`

1. Exportar los registros que se van a supervisar a los CloudWatch Logs. Para obtener más información, consulte [Publicación de registros de MySQL en Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs).

1. Configurar el componente RDS de MySQL.

   ```
   aws application-insights  update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "<DB_COMPONENT_NAME>" ‐-monitor ‐-tier DEFAULT ‐-monitor  ‐-component-configuration "{\"alarmMetrics\":[{\"alarmMetricName\":\"CPUUtilization\",\"monitor\":true}],\"logs\":[{\"logType\":\"MYSQL\",\"monitor\":true},{\"logType\": \"MYSQL_SLOW_QUERY\",\"monitor\":false}]}"
   ```

## Configurar la supervisión para EC2 de MySQL
<a name="configure-mysql-ec2"></a>

1. Crear una aplicación para el grupo de recursos con las instancias EC2 de HA de SQL.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. El registro de errores están habilitados de forma predeterminada. El registro de consultas lentas se puede habilitar mediante grupos de parámetros de datos. Para obtener más información, consulte [Acceso al registro de consultas lentas de MySQL y al registro general](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#USER_LogAccess.MySQL.Generallog).
   + `set slow_query_log = 1`
   + `set log_output = FILE`

1. Configurar el componente MySQL en EC2.

   ```
   aws application-insights  update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "<DB_COMPONENT_NAME>" ‐-monitor ‐-tier MYSQL ‐-monitor  ‐-component-configuration "{\"alarmMetrics\":[{\"alarmMetricName\":\"CPUUtilization\",\"monitor\":true}],\"logs\":[{\"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",\"logPath\":\"C:\\\\ProgramData\\\\MySQL\\\\MySQL Server **\\\\Data\\\\<FILE_NAME>.err\",\"logType\":\"MYSQL\",\"monitor\":true,\"encoding\":\"utf-8\"}]}"
   ```

## Configuración del monitoreo para RDS de PostgreSQL
<a name="configure-postgresql-rds"></a>

1. Cree una aplicación para el grupo de recursos con la instancia de base de datos RDS de PostgreSQL.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. La publicación de registros de PostgreSQL en CloudWatch no está habilitada de forma predeterminada. Para habilitar la supervisión, abra la consola de RDS y seleccione la base de datos que desea monitorear. Elija **Modify** (Modificar) en la esquina superior derecha y seleccione el casillero de **PostgreSQL**. Seleccione **Continue** (Continuar) para guardar esta configuración.

1. Los registros de PostgreSQL se exportan a CloudWatch.

1. Configurar el componente RDS de PostgreSQL.

   ```
   aws application-insights update-component-configuration --region <REGION> --resource-group-name <RESOURCE_GROUP_NAME> --component-name <DB_COMPONENT_NAME> --monitor --tier DEFAULT --component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\": \"CPUUtilization\",
            \"monitor\": true
         }
      ],
      \"logs\":[
         {
            \"logType\": \"POSTGRESQL\",
            \"monitor\": true
         }
      ]
   }"
   ```

## Configurar el monitoreo para EC2 de PostgreSQL
<a name="configure-postgresql-ec2"></a>

1. Crear una aplicación para el grupo de recursos con las instancias EC2 de PostgreSQL.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Configurar el componente PostgreSQL de EC2.

   ```
   aws application-insights update-component-configuration ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME> ‐-component-name <DB_COMPONENT_NAME> ‐-monitor ‐-tier POSTGRESQL ‐-component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\":\"CPUUtilization\",
            \"monitor\":true
         }
      ],
      \"logs\":[
         {
            \"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",
            \"logPath\":\"/var/lib/pgsql/data/log/\",
            \"logType\":\"POSTGRESQL\",
            \"monitor\":true,
            \"encoding\":\"utf-8\"
         }
      ]
   }"
   ```

## Configuración del monitoreo para RDS de Oracle
<a name="configure-oracle-rds"></a>

1. Crear una aplicación para el grupo de recursos con la instancia de base de datos RDS de Oracle.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. La publicación de registros de Oracle en CloudWatch no está habilitada de forma predeterminada. Para habilitar el monitoreo, abra la consola de RDS y seleccione la base de datos que desea monitorear. Elija **Modify** (Modificar) en la esquina superior derecha y seleccione los casilleros de registro de **Alert** (Alerta) y registro del **Listener** (Agente de escucha). Elija **Continue** (Continuar) para guardar esta configuración.

1. Los registros de Oracle se exportan a CloudWatch.

1. Configuración del componente RDS de Oracle.

   ```
   aws application-insights update-component-configuration --region <REGION> --resource-group-name <RESOURCE_GROUP_NAME> --component-name <DB_COMPONENT_NAME> --monitor --tier DEFAULT --component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\": \"CPUUtilization\",
            \"monitor\": true
         }
      ],
      \"logs\":[
         {
            \"logType\": \"ORACLE_ALERT\",
            \"monitor\": true
         },
         {
            \"logType\": \"ORACLE_LISTENER\",
            \"monitor\": true
         }
      ]
   }"
   ```

## Configuración del monitoreo para EC2 de Oracle.
<a name="configure-oracle-ec2"></a>

1. Creación de una aplicación para el grupo de recursos con las instancias EC2 de Oracle.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Configuración del componente EC2 de Oracle.

   ```
   aws application-insights update-component-configuration ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME> ‐-component-name <DB_COMPONENT_NAME> ‐-monitor ‐-tier ORACLE ‐-component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\":\"CPUUtilization\",
            \"monitor\":true
         }
      ],
      \"logs\":[
         {
            \"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",
            \"logPath\":\"/opt/oracle/diag/rdbms/*/*/trace\",
            \"logType\":\"ORACLE_ALERT\",
            \"monitor\":true,
         },
         {
            \"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",
            \"logPath\":\"/opt/oracle/diag/tnslsnr/$HOSTNAME/listener/trace/\",
            \"logType\":\"ORACLE_ALERT\",
            \"monitor\":true,
         }
      ]
   }"
   ```

# Eventos de CloudWatch con información de aplicaciones para problemas detectados
<a name="appinsights-cloudwatch-events"></a>

Para cada aplicación que se agregue a Información de aplicaciones de CloudWatch, se publica un evento de CloudWatch para los siguientes eventos en base al mejor esfuerzo:
+ **Creación del problema.** Se emite cuando Información de aplicaciones de CloudWatch detecta un problema nuevo.
  + Tipo de detalle: ** “Problema detectado por Información de aplicaciones”**
  + Detalles:
    + `problemId`: el ID del problema detectado.
    + `region`: la Región de AWS en la que se creó el problema.
    + `resourceGroupName`: el grupo de recursos de la aplicación registrada para la que se detectó el problema.
    + `status`: el estado del problema. Los estados y las definiciones posibles son los siguientes:
      + `In progress`: se ha identificado un nuevo problema. El problema sigue siendo la recepción de observaciones.
      + `Recovering`: el problema se está estabilizando. Puede resolver el problema de forma manual cuando se encuentre en este estado. 
      + `Resolved`: el problema está resuelto. No hay observaciones nuevas sobre este problema.
      + `Recurring`: el problema se resolvió en las últimas 24 horas. Se ha vuelto a abrir como resultado de observaciones adicionales.
    + `severity`: la gravedad del problema.
    + `problemUrl`: la URL de la consola del problema.
+ **Actualización del problema.** Se emite cuando el problema se actualiza con una nueva observación o cuando una observación existente se actualiza y el problema se actualiza en consecuencia; las actualizaciones incluyen la resolución o cierre del problema.
  + Tipo de detalle: ** “Problema detectado por Información de aplicaciones”**
  + Detalles:
    + `problemId`: el ID de problema creado.
    + `region`: la Región de AWS en la que se creó el problema.
    + `resourceGroupName`: el grupo de recursos de la aplicación registrada para la que se detectó el problema.
    + `status`: el estado del problema.
    + `severity`: la gravedad del problema.
    + `problemUrl`: la URL de la consola del problema.

# Cómo recibir notificaciones sobre problemas detectados
<a name="appinsights-problem-notifications"></a>

Puede utilizar las notificaciones de Amazon SNS, el Centro de operaciones de Systems Manager o los eventos de CloudWatch para recibir notificaciones sobre los problemas detectados en las aplicaciones. 

**Notificaciones de Amazon SNS con Información de aplicaciones de CloudWatch para problemas detectados**  
Puede configurar las notificaciones de Amazon SNS mediante la Consola de administración de AWS o AWS CLI. Para configurar las notificaciones con la Consola de administración de AWS, debe tener los permisos necesarios de Amazon SNS, como se muestra en el siguiente ejemplo. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "sns:ListTopics",
          "sns:Subscribe",
          "sns:CreateTopic"
        ],    
        "Resource": [
          "*" 
        ]
      }
    ]    
}
```

------

Después de configurar las notificaciones de Amazon SNS, recibirá notificaciones por correo electrónico cuando se genere o se resuelva un problema. También recibirá notificaciones cuando se agregue un nuevo comentario a un problema existente.

En el siguiente ejemplo, se muestra el contenido de una notificación por correo electrónico.

```
    You are receiving this email because Problem "p-1234567" has been CREATED by Amazon CloudWatch Application Insights
    
    Problem Details: 
    Problem URL: https:////console.aws.amazon.com/cloudwatch/home?region=us-east-1#settings:AppInsightsSettings/problemDetails?problemId=p-1234567
    Problem Summary: Title of the problem
    Severity: HIGH
    Insights: Something specific is broken
    Status : RESOLVED
    AffectedResource: arn:aws:ec2:us-east-1:555555555555:host/testResource
    Region: us-east-1
    RecurringCount: 0
    StartTime: 2019-03-23T10:42:57.777Z
    LastUpdatedTime: 2019-03-23T21:49:37.777Z
    LastRecurrenceTime: 
    StopTime: 2019-03-23T21:49:37.777Z
    
    Recent Issues
    - TelemetryArn:alarm1
      StartTime: 2024-08-15T22:12:46.007Z
      StopTime:
    - TelemetryArn:log-group1
      StartTime: 2024-08-15T22:12:46.007Z
      StopTime: 2024-08-15T22:12:46.007Z
```

**Cómo recibir notificaciones de problemas con Systems Manager**  
**Acciones a través de AWS Systems Manager.** Información de aplicaciones de CloudWatch proporciona integración incorporada con Systems Manager OpsCenter. Si decide utilizar esta integración para su aplicación, se crea un OpsItem en la consola de OpsCenter para cada problema detectado en la aplicación. Desde la consola de OpsCenter, puede ver información resumida sobre el problema detectado por Información de aplicaciones de CloudWatch y elegir un manual de procedimientos de Systems Manager Automation para tomar medidas correctivas o identificar mejor los procesos de Windows que estén causando problemas de recursos en su aplicación. 

**Cómo recibir notificaciones de problemas con Eventos de CloudWatch**  
En la consola de CloudWatch, seleccione **Rules (Reglas)** en **Events (Eventos)**, en el panel de navegación izquierdo. En la página **Rules (Reglas)**, seleccione **Create rule (Crear regla)**. Elija **Información de aplicaciones de Amazon CloudWatch** de la lista desplegable **Nombre del servicio** y seleccione **Tipo de evento**. A continuación, elija **Add target (Agregar destino)** y seleccione el destino y los parámetros; por ejemplo, un **tema de SNS** o una **función de Lambda**. 

# Información de aplicaciones: observabilidad entre cuentas
<a name="appinsights-cross-account"></a>

Gracias a la observabilidad entre cuentas de Información de aplicaciones de CloudWatch, puede supervisar y solucionar problemas en las aplicaciones que abarcan varias cuentas de AWS de una región.

Puede usar el Administrador de acceso a la observabilidad de Amazon CloudWatch para configurar una o más de sus cuentas AWS como una cuenta de monitorización. Para proporcionar a la cuenta de monitoreo la capacidad de ver los datos de su cuenta de origen, cree un depósito en su cuenta de monitoreo. Use el receptor para crear un enlace desde su cuenta de origen a su cuenta de monitoreo. Para obtener más información, consulte [Observabilidad entre cuentas de CloudWatch](CloudWatch-Unified-Cross-Account.md).

**Recursos necesarios de**  
Para que la observabilidad multicuenta de Información de aplicaciones de CloudWatch funcione correctamente, asegúrese de que los siguientes tipos de telemetría se compartan a través del administrador de acceso a la observabilidad de CloudWatch.
+ Aplicaciones en Información de aplicaciones de CloudWatch
+ Métricas en Amazon CloudWatch
+ Grupos de registro de Amazon CloudWatch Logs
+ Trazas en [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

# Uso de configuraciones de componentes
<a name="component-config"></a>

La configuración de un componente es un archivo de texto en formato JSON que describe las opciones de configuración del componente. En esta sección se proporciona un fragmento de plantilla de ejemplo, descripciones de secciones de configuración de componentes y configuraciones de componentes de ejemplo.

**Topics**
+ [Fragmento de plantilla](component-config-json.md)
+ [Secciones](component-config-sections.md)
+ [Configuraciones de ejemplo para servicios relevantes](component-configuration-examples.md)

# Fragmento de plantilla de configuración del componente
<a name="component-config-json"></a>

El siguiente ejemplo muestra un fragmento de código de plantilla en formato JSON.

```
{
  "alarmMetrics" : [
    list of alarm metrics
  ],
  "logs" : [
    list of logs
  ],
  "processes" : [
   list of processes
  ],
  "windowsEvents" : [
    list of windows events channels configurations
  ],
  "alarms" : [
    list of CloudWatch alarms
  ],
  "jmxPrometheusExporter": {
    JMX Prometheus Exporter configuration
  },
  "hanaPrometheusExporter": {
      SAP HANA Prometheus Exporter configuration
  },
  "haClusterPrometheusExporter": {
      HA Cluster Prometheus Exporter configuration
  },
  "netWeaverPrometheusExporter": {
      SAP NetWeaver Prometheus Exporter configuration
  },
  "subComponents" : [
    {
      "subComponentType" : "AWS::EC2::Instance" ...
      component nested instances configuration
    },
    {
      "subComponentType" : "AWS::EC2::Volume" ...
      component nested volumes configuration
    }
  ]
}
```

# Secciones de configuración del componente
<a name="component-config-sections"></a>

La configuración de un componente incluye varias secciones principales. Las secciones de la configuración de un componente pueden estar en cualquier orden.
+ **alarmMetrics (opcional)**

  Una lista de [métricas](#component-config-metric) que se van a monitorizar para el componente. Todos los tipos de componente pueden tener una sección alarmMetrics. 
+ **logs (opcional)**

  Una lista de [registros](#component-configuration-log) que se van a monitorizar para el componente. Solo las instancias EC2 pueden tener una sección de registros. 
+ **procesos (opcional)**

  Una lista de [procesos](#component-configuration-process) a monitorizar para el componente. Solo las instancias EC2 pueden tener una sección de procesos. 
+ **subComponents (opcional)**

  Configuración de la instancia anidada y subcomponente de volumen para el componente. Los siguientes tipos de componente pueden tener instancias anidadas y una sección de subcomponentes: ELB, ASG, instancias EC2 agrupadas de manera personalizada e instancias EC2.
+ **alarms (opcional)**

  Una lista de [alarmas](#component-configuration-alarms) que se van a monitorizar para el componente. Todos los tipos de componente pueden tener una sección alarm.
+ **windowsEvents (opcional)**

  Una lista de [windows events](#windows-events) (eventos de Windows) para monitorear el componente. Solo Windows en instancias EC2 tienen una sección `windowsEvents`.
+ **JMXPrometheusExporter (opcional)**

  Configuración de JMXPrometheus Exporter
+ **HanaprometheusExporter (opcional)**

  Configuración de SAP HANA Prometheus Exporter (Exportador SAP Hana para Prometheus).
+ **haClusterPrometheusExporter (opcional)**

  Configuración de HA Cluster Prometheus Exporter (Exportador de clúster de alta disponibilidad para Prometheus).
+ **netWeaverPrometheusExporter (opcional) **

  Configuración del exportador de Prometheus de SAP NetWeaver
+ **sapAsePrometheusExporter (opcional)**

  Configuración de SAP ASE Prometheus Exporter.

En el siguiente ejemplo se muestra la sintaxis para el **fragmento de la sección de subcomponentes** en formato JSON.

```
[
  {
    "subComponentType" : "AWS::EC2::Instance",
    "alarmMetrics" : [
      list of alarm metrics
    ],
    "logs" : [
      list of logs
    ],
    "processes": [
      list of processes
    ],
    "windowsEvents" : [
      list of windows events channels configurations
    ]
  },
  {
    "subComponentType" : "AWS::EC2::Volume",
    "alarmMetrics" : [
      list of alarm metrics
    ]
  }
]
```

## Propiedades de la sección de configuración del componente
<a name="component-config-properties"></a>

En esta sección se describen las propiedades de cada sección de configuración de componentes.

**Topics**
+ [Métrica](#component-config-metric)
+ [Registro](#component-configuration-log)
+ [Proceso](#component-configuration-process)
+ [JMX Prometheus Exporter](#component-configuration-prometheus)
+ [HANA Prometheus Exporter (Exportador HANA para Prometheus)](#component-configuration-hana-prometheus)
+ [HA Cluster Prometheus Exporter (Exportador de clúster de alta disponibilidad para Prometheus)](#component-configuration-ha-cluster-prometheus)
+ [Exportador de Prometheus de NetWeaver](#component-configuration-netweaver-prometheus)
+ [SAP ASE Prometheus Exporter](#component-configuration-sap-ase-prometheus)
+ [Eventos de Windows](#windows-events)
+ [Alarma](#component-configuration-alarms)

### Métrica
<a name="component-config-metric"></a>

Define una métrica que se va a monitorizar para el componente.

**JSON** 

```
{
  "alarmMetricName" : "monitoredMetricName",
  "monitor" : true/false
}
```

**Propiedades de**
+ **alarmMetricName (obligatorio)**

  El nombre de la métrica que se va a monitorizar para el componente. Para conocer las métricas admitidas por Información de aplicaciones, consulte [Registros y métricas que Información de aplicaciones de Amazon CloudWatch admite](appinsights-logs-and-metrics.md). 
+ **monitor (opcional)**

  Valor booleano para indicar si se debe monitorizar la métrica. El valor predeterminado es `true`.

### Registro
<a name="component-configuration-log"></a>

Define un registro que se va a monitorizar para el componente.

**JSON** 

```
{
  "logGroupName" : "logGroupName",
  "logPath" : "logPath",
  "logType" : "logType",
  "encoding" : "encodingType",
  "monitor" : true/false
}
```

**Propiedades de**
+ **logGroupName (obligatorio)**

  El nombre del grupo de registros de CloudWatch que se asociará al registro monitorizado. Para conocer las restricciones de nombre del grupo de registros, consulte [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html).
+ **logPath (obligatorio para los componentes de la instancia EC2 y no para los componentes que no usan un agente de CloudWatch, como AWS Lambda)**

  La ruta de los registros que se van a monitorizar. La ruta de los registros debe ser una ruta absoluta de archivos del sistema de Windows. Para obtener más información, consulte [Archivo de configuración del agente de CloudWatch: sección de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Logssection). 
+ **logType (obligatorio)**

  El tipo de registro decide los patrones de registro con respecto a los cuales Información de aplicaciones analiza el registro. El tipo de registro se selecciona entre las siguientes opciones:
  + `SQL_SERVER`
  + `MYSQL`
  + `MYSQL_SLOW_QUERY`
  + `POSTGRESQL`
  + `ORACLE_ALERT`
  + `ORACLE_LISTENER`
  + `IIS`
  + `APPLICATION`
  + `WINDOWS_EVENTS`
  + `WINDOWS_EVENTS_ACTIVE_DIRECTORY`
  + `WINDOWS_EVENTS_DNS`
  + `WINDOWS_EVENTS_IIS`
  + `WINDOWS_EVENTS_SHAREPOINT`
  + `SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP`
  + `SQL_SERVER_FAILOVER_CLUSTER_INSTANCE`
  + `DEFAULT`
  + `CUSTOM`
  + `STEP_FUNCTION`
  + `API_GATEWAY_ACCESS`
  + `API_GATEWAY_EXECUTION`
  + `SAP_HANA_LOGS`
  + `SAP_HANA_TRACE`
  + `SAP_HANA_HIGH_AVAILABILITY`
  + `SAP_NETWEAVER_DEV_TRACE_LOGS`
  + `PACEMAKER_HIGH_AVAILABILITY`
+ **encoding (opcional)**

  El tipo de codificación de los registros que se van a monitorizar. La codificación especificada debe incluirse en la lista de [codificaciones compatibles con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html). Si no se proporciona, Información de aplicaciones de CloudWatch utiliza el tipo de codificación predeterminado utf-8, excepto para: 
  +  `SQL_SERVER`: codificación utf-16
  +  `IIS`: codificación ascii
+ **monitor (opcional)**

  Valor booleano que indica si se deben monitorizar los registros. El valor predeterminado es `true`.

### Proceso
<a name="component-configuration-process"></a>

Define un proceso que se va a monitorizar para el componente.

**JSON** 

```
{
  "processName" : "monitoredProcessName",
  "alarmMetrics" : [
      list of alarm metrics
  ] 
}
```

**Propiedades de**
+ **processName (obligatorio)**

  El nombre del proceso a monitorizar para el componente. El nombre del proceso no debe contener una raíz de proceso, como `sqlservr` o `sqlservr.exe`.
+ **alarmMetrics (obligatorio)**

  Una lista de [métricas](#component-config-metric) a supervisar para este proceso. Para ver las métricas de procesos admitidas por Información de aplicaciones de CloudWatch, consulte [Amazon Elastic Compute Cloud (EC2)](appinsights-metrics-ec2.md).

### JMX Prometheus Exporter
<a name="component-configuration-prometheus"></a>

Define la configuración de JMX Prometheus Exporter.

**JSON** 

```
"JMXPrometheusExporter": {
  "jmxURL" : "JMX URL",
  "hostPort" : "The host and port",
  "prometheusPort" : "Target port to emit Prometheus metrics"
}
```

**Propiedades de**
+ **jmxURL (opcional)**

  Una URL completa de JMX a la que conectarse.
+ **hostPort (opcional)**

  El host y el puerto al que se conectarán a través de JMX remoto. Solo puede especificarse uno de `jmxURL` y `hostPort`.
+ **prometheusPort (opcional)**

  El puerto de destino al que enviarán las métricas de Prometheus. Si no se especifica, se utiliza el puerto predeterminado 9404.

### HANA Prometheus Exporter (Exportador HANA para Prometheus)
<a name="component-configuration-hana-prometheus"></a>

Define la configuración de HANA Prometheus Exporter.

**JSON** 

```
"hanaPrometheusExporter": {
    "hanaSid": "SAP HANA  SID",
    "hanaPort": "HANA database port",
    "hanaSecretName": "HANA secret name",
    "prometheusPort": "Target port to emit Prometheus metrics"
}
```

**Propiedades de**
+ **hanaSid**

  ID de sistema SAP (SID) de tres caracteres del sistema SAP HANA.
+ **hanaPort**

  El puerto de base de datos HANA mediante el cual el exportador consultará las métricas de HANA.
+ **hanaSecretName**

  El AWS Secrets Manager secreto que almacena las credenciales de usuario de monitoreo de HANA. En el exportador HANA de Prometheus se utilizan estas credenciales para conectarse a la base de datos y consultar métricas de HANA.
+ **prometheusPort (opcional)**

  El puerto de destino al que se enviarán las métricas de Prometheus. Si no se especifica, se utiliza el puerto predeterminado 9668.

### HA Cluster Prometheus Exporter (Exportador de clúster de alta disponibilidad para Prometheus)
<a name="component-configuration-ha-cluster-prometheus"></a>

Define la configuración de HA Cluster Prometheus Exporter (Exportador de clúster de alta disponibilidad para Prometheus).

**JSON** 

```
"haClusterPrometheusExporter": {
    "prometheusPort": "Target port to emit Prometheus metrics"
}
```

**Propiedades de**
+ **prometheusPort (opcional)**

  El puerto de destino al que se enviarán las métricas de Prometheus. Si no se especifica, se utiliza el puerto predeterminado 9664.

### Exportador de Prometheus de NetWeaver
<a name="component-configuration-netweaver-prometheus"></a>

Permite definir la configuración del exportador de Prometheus de NetWeaver.

**JSON** 

```
"netWeaverPrometheusExporter": {
    "sapSid": "SAP NetWeaver  SID",
    "instanceNumbers": [ "Array of instance Numbers of SAP NetWeaver system "],
"prometheusPort": "Target port to emit Prometheus metrics"
}
```

**Propiedades de**
+ **sapSid**

  ID de sistema SAP (SID) de tres caracteres del sistema SAP NetWeaver.
+ **instanceNumbers**

  Matriz de números de instancia del sistema SAP NetWeaver.

  **Ejemplo de: **`"instanceNumbers": [ "00", "01"]`
+ **prometheusPort (opcional)**

  El puerto de destino al que se enviarán las métricas de Prometheus. Si no se especifica, se utiliza el puerto predeterminado `9680`.

### SAP ASE Prometheus Exporter
<a name="component-configuration-sap-ase-prometheus"></a>

Define la configuración de SAP ASE Prometheus Exporter.

**JSON** 

```
"sapASEPrometheusExporter": {
    "sapAseSid": "SAP ASE SID",
    "sapAsePort": "SAP ASE database port",
    "sapAseSecretName": "SAP ASE secret name",
    "prometheusPort": "Target port to emit Prometheus metrics",
    "agreeToEnableASEMonitoring": true
}
```

**Propiedades de**
+ **sapAseSid**

  Identificador del sistema SAP (SID) de tres caracteres del sistema SAP ASE.
+ **sapAsePort**

  El puerto de base de datos de SAP ASE mediante el cual el exportador consultará las métricas de ASE.
+ **sapAseSecretName**

  El AWS Secrets Manager secreto que almacena las credenciales de usuario de supervisión de ASE. En SAP ASE Prometheus Exporter se utilizan estas credenciales para conectarse a la base de datos y consultar métricas de ASE.
+ **prometheusPort (opcional)**

  El puerto de destino al que se enviarán las métricas de Prometheus. Si no se especifica, se utiliza el puerto predeterminado 9399. Si hay otra base de datos ASE que utilice el puerto predeterminado, entonces usaremos el 9499.

### Eventos de Windows
<a name="windows-events"></a>

Define los eventos de Windows que se van a registrar.

**JSON** 

```
{
  "logGroupName" : "logGroupName",
  "eventName" : "eventName",
  "eventLevels" : ["ERROR","WARNING","CRITICAL","INFORMATION","VERBOSE"],
  "monitor" : true/false
}
```

**Propiedades de**
+ **logGroupName (obligatorio)**

  El nombre del grupo de registros de CloudWatch que se asociará al registro monitorizado. Para conocer las restricciones de nombre del grupo de registros, consulte [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html).
+ **eventName (obligatorio)**

  El tipo de eventos de Windows que se van a registrar. Equivale al nombre del canal del registro de eventos de Windows. Por ejemplo, System, Security, CustomEventName, etc. Este campo es obligatorio para cada tipo de evento de Windows que se registrará. 
+ **eventLevels (obligatorio)**

  Los niveles de evento que registrar. Debe especificar cada nivel que se registrará. Entre los valores posibles se incluyen `INFORMATION`, `WARNING`, `ERROR`, `CRITICAL` y `VERBOSE`. Este campo es obligatorio para cada tipo de evento de Windows que se registrará.
+ **monitor (opcional)**

  Valor booleano que indica si se deben monitorizar los registros. El valor predeterminado es `true`.

### Alarma
<a name="component-configuration-alarms"></a>

Define una alarma de CloudWatch que se va a monitorizar para el componente.

**JSON** 

```
{
  "alarmName" : "monitoredAlarmName",
  "severity" : HIGH/MEDIUM/LOW
}
```

**Propiedades de**
+ **alarmName (obligatorio)**

  El nombre de la alarma de CloudWatch que se va a monitorizar para el componente.
+ **severity (opcional)**

  Indica el grado de interrupción al sonar la alarma. 

# Ejemplos de configuración del componente
<a name="component-configuration-examples"></a>

Los siguientes ejemplos muestran configuraciones de componentes en formato JSON para los servicios relevantes.

**Topics**
+ [Tabla de Amazon DynamoDB](component-configuration-examples-dynamo.md)
+ [Amazon EC2 Auto Scaling (ASG)](component-configuration-examples-asg.md)
+ [Clúster de Amazon EKS](component-configuration-examples-eks-cluster.md)
+ [Instancia de Amazon Elastic Compute Cloud (EC2)](component-configuration-examples-ec2.md)
+ [Amazon Elastic Container Service (Amazon ECS)](component-configuration-examples-ecs.md)
+ [Servicios de Amazon ECS](component-configuration-examples-ecs-service.md)
+ [Tareas de Amazon ECS](component-configuration-examples-ecs-task.md)
+ [Amazon Elastic File System (Amazon EFS)](component-configuration-examples-efs.md)
+ [Amazon FSx](component-configuration-examples-fsx.md)
+ [Aurora MySQL de Amazon Relational Database Service (RDS)](component-configuration-examples-rds-aurora.md)
+ [Instancia de Amazon Relational Database Service (RDS)](component-configuration-examples-rds.md)
+ [Comprobación de estado de Amazon Route 53](component-configuration-examples-health-check.md)
+ [Zona alojada de Amazon Route 53](component-configuration-examples-hosted-zone.md)
+ [Amazon Route 53 ResolverPunto de conexión de](component-configuration-examples-resolver-endpoint.md)
+ [Configuración de registro de consultas Amazon Route 53 Resolver](component-configuration-examples-resolver-query-logging.md)
+ [Bucket de Amazon S3](component-configuration-examples-s3.md)
+ [Amazon Simple Queue Service (SQS)](component-configuration-examples-sqs.md)
+ [Tema de Amazon SNS](component-configuration-examples-sns.md)
+ [Amazon Virtual Private Cloud (Amazon VPC)](component-configuration-examples-vpc.md)
+ [Pasarelas de traducción de direcciones de red (NAT) de Amazon VPC](component-configuration-examples-nat-gateway.md)
+ [Etapas de la API REST de API Gateway](component-configuration-examples-api-gateway.md)
+ [Elastic Load Balancing de aplicaciones](component-configuration-examples-application-elb.md)
+ [AWS Lambda Función](component-configuration-examples-lambda.md)
+ [AWS Network FirewallGrupo de reglas de](component-configuration-examples-firewall-rule-group.md)
+ [Asociación de grupos de reglas AWS Network Firewall](component-configuration-examples-firewall-rule-group-assoc.md)
+ [AWS Step Functions](component-configuration-examples-step-functions.md)
+ [Instancias de Amazon EC2 agrupadas por cliente](component-configuration-examples-grouped-ec2.md)
+ [Elastic Load Balancing](component-configuration-examples-elb.md)
+ [Java](component-configuration-examples-java.md)
+ [Kubernetes en Amazon EC2](component-configuration-examples-kubernetes-ec2.md)
+ [RDS MariaDB y RDS MySQL](component-configuration-examples-mysql.md)
+ [Oracle de RDS](component-configuration-examples-oracle.md)
+ [PostgreSQL de RDS](component-configuration-examples-rds-postgre-sql.md)
+ [SAP ASE en Amazon EC2](component-configuration-examples-sap-ase.md)
+ [Alta disponibilidad de SAP ASE en Amazon EC2](component-configuration-examples-sap-ase-ha.md)
+ [SAP HANA en Amazon EC2](component-configuration-examples-hana.md)
+ [Alta disponibilidad de SAP HANA en Amazon EC2](component-configuration-examples-hana-ha.md)
+ [SAP NetWeaver en Amazon EC2](component-configuration-examples-netweaver.md)
+ [Alta disponibilidad de SAP NetWeaver en Amazon EC2](component-configuration-examples-netweaver-ha.md)
+ [Grupos de disponibilidad siempre activos de SQL](component-configuration-examples-sql.md)
+ [Instancia de clúster de conmutación por error de SQL](component-configuration-examples-sql-failover-cluster.md)

# Tabla de Amazon DynamoDB
<a name="component-configuration-examples-dynamo"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para la tabla de Amazon DynamoDB.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "SystemErrors",
      "monitor": false
    },
    {
      "alarmMetricName": "UserErrors",
      "monitor": false
    },
    {
      "alarmMetricName": "ConsumedReadCapacityUnits",
      "monitor": false
    },
    {
      "alarmMetricName": "ConsumedWriteCapacityUnits",
      "monitor": false
    },
    {
      "alarmMetricName": "ReadThrottleEvents",
      "monitor": false
    },
    {
      "alarmMetricName": "WriteThrottleEvents",
      "monitor": false
    },
    {
      "alarmMetricName": "ConditionalCheckFailedRequests",
      "monitor": false
    },
    {
      "alarmMetricName": "TransactionConflict",
      "monitor": false
    }
  ],
  "logs": []
}
```

# Amazon EC2 Auto Scaling (ASG)
<a name="component-configuration-examples-asg"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Amazon EC2 Auto Scaling (ASG).

```
{
    "alarmMetrics" : [
      {
        "alarmMetricName" : "CPUCreditBalance"
      }, {
        "alarmMetricName" : "EBSIOBalance%"
      }
    ],
    "subComponents" : [
      {
        "subComponentType" : "AWS::EC2::Instance",
        "alarmMetrics" : [
          {
            "alarmMetricName" : "CPUUtilization"
          }, {
            "alarmMetricName" : "StatusCheckFailed"
          }
        ],
        "logs" : [
          {
            "logGroupName" : "my_log_group",
            "logPath" : "C:\\LogFolder\\*",
            "logType" : "APPLICATION"
          }
        ],
        "processes" : [
          {
            "processName" : "my_process",
            "alarmMetrics" : [
              {
                  "alarmMetricName" : "procstat cpu_usage",
                  "monitor" : true
              }, {
                  "alarmMetricName" : "procstat memory_rss",
                  "monitor" : true
              }
          ]
      }
  ],
        "windowsEvents" : [
          {
            "logGroupName" : "my_log_group_2",
            "eventName" : "Application",
            "eventLevels" : [ "ERROR", "WARNING", "CRITICAL" ]
          }
        ]
      }, {
        "subComponentType" : "AWS::EC2::Volume",
        "alarmMetrics" : [
          {
            "alarmMetricName" : "VolumeQueueLength"
          }, {
            "alarmMetricName" : "BurstBalance"
          }
        ]
      }
    ],
    "alarms" : [
      {
        "alarmName" : "my_asg_alarm",
        "severity" : "LOW"
      }
    ]
  }
```

# Clúster de Amazon EKS
<a name="component-configuration-examples-eks-cluster"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para el clúster de Amazon EKS.

```
{
    "alarmMetrics":[
       {
          "alarmMetricName": "cluster_failed_node_count",
          "monitor":true
       },
       {
          "alarmMetricName": "node_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "node_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "node_filesystem_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "node_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "node_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "node_network_total_bytes",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_cpu_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_memory_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_network_rx_bytes",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_network_tx_bytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName": "/aws/containerinsights/kubernetes/application",
          "logType":"APPLICATION",
          "monitor":true,
          "encoding":"utf-8"
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"APPLICATION-KubernetesClusterOnEC2-IAD",
                "logPath":"",
                "logType":"APPLICATION",
                "monitor":true,
                "encoding":"utf-8"
             }
          ],
          "processes" : [
            {
                "processName" : "my_process",
                "alarmMetrics" : [
                    {
                        "alarmMetricName" : "procstat cpu_usage",
                        "monitor" : true
                    }, {
                        "alarmMetricName" : "procstat memory_rss",
                        "monitor" : true
                    }
                ]
            }
        ],
          "windowsEvents":[
             {
                "logGroupName":"my_log_group_2",
                "eventName":"Application",
                "eventLevels":[
                   "ERROR",
                   "WARNING",
                   "CRITICAL"
                ],
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::AutoScaling::AutoScalingGroup",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUCreditBalance",
                "monitor":true
             },
             {
                "alarmMetricName":"EBSIOBalance%",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeReadBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeReadOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":true
             }
          ]
       }
    ]
 }
```

**nota**  
La sección `subComponents` de `AWS::EC2::Instance`, `AWS::EC2::Volume` y `AWS::AutoScaling::AutoScalingGroup` solo aplica al clúster de Amazon EKS que se ejecute en el tipo de lanzamiento de EC2.
La sección `windowsEvents` de `AWS::EC2::Instance` en `subComponents` solo aplica a Windows que se ejecute en instancias de Amazon EC2.

# Instancia de Amazon Elastic Compute Cloud (EC2)
<a name="component-configuration-examples-ec2"></a>

En el ejemplo siguiente se muestra una configuración de componentes en formato JSON para una instancia de Amazon EC2.

**importante**  
Cuando una instancia de Amazon EC2 ingresa al estado `stopped`, se elimina de la supervisión. Cuando vuelve a un estado `running`, se agrega a la lista de **Unmonitored components** (Componentes sin monitorear) en la página **Application details** (Detalles de la aplicación) de la consola de Información de aplicaciones de CloudWatch. Si la supervisión automática de nuevos recursos está habilitada para la aplicación, la instancia se agrega a la lista de **Componentes monitoreados**. Sin embargo, los registros y las métricas se establecen en el valor predeterminado de la carga de trabajo. La configuración de registro y métricas anterior no se guarda. 

```
{
    "alarmMetrics" : [
      {
        "alarmMetricName" : "CPUUtilization",
        "monitor" : true
      }, {
        "alarmMetricName" : "StatusCheckFailed"
      }
    ],
    "logs" : [
      {
        "logGroupName" : "my_log_group",
        "logPath" : "C:\\LogFolder\\*",
        "logType" : "APPLICATION",
        "monitor" : true
      },
      {
        "logGroupName" : "my_log_group_2",
        "logPath" : "C:\\LogFolder2\\*",
        "logType" : "IIS",
        "encoding" : "utf-8"
      }
    ],
    "processes" : [
        {
            "processName" : "my_process",
            "alarmMetrics" : [
                {
                    "alarmMetricName" : "procstat cpu_usage",
                    "monitor" : true
                }, {
                    "alarmMetricName" : "procstat memory_rss",
                    "monitor" : true
                }
            ]
        }
    ],
    "windowsEvents" : [
      {
        "logGroupName" : "my_log_group_3",
        "eventName" : "Application",
        "eventLevels" : [ "ERROR", "WARNING", "CRITICAL" ],
        "monitor" : true
      }, {
        "logGroupName" : "my_log_group_4",
        "eventName" : "System",
        "eventLevels" : [ "ERROR", "WARNING", "CRITICAL" ],
        "monitor" : true
    }],
     "alarms" : [
      {
        "alarmName" : "my_instance_alarm_1",
        "severity" : "HIGH"
      },
      {
        "alarmName" : "my_instance_alarm_2",
        "severity" : "LOW"
      }
    ],
     "subComponents" : [
     {
       "subComponentType" : "AWS::EC2::Volume",
       "alarmMetrics" : [
       {
         "alarmMetricName" : "VolumeQueueLength",
         "monitor" : "true"
       },
       {
         "alarmMetricName" : "VolumeThroughputPercentage",
         "monitor" : "true"
       },
       {
         "alarmMetricName" : "BurstBalance",
         "monitor" : "true"
       }]
    }]
  }
```

# Amazon Elastic Container Service (Amazon ECS)
<a name="component-configuration-examples-ecs"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Amazon Elastic Container Service (Amazon ECS).

```
{
    "alarmMetrics":[
       {
          "alarmMetricName":"CpuUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"MemoryUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkRxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkTxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"RunningTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"PendingTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageReadBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageWriteBytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName":"/ecs/my-task-definition",
          "logType":"APPLICATION",
          "monitor":true
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::ElasticLoadBalancing::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Backend_4XX",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Backend_5XX",
                "monitor":true
             },
             {
                "alarmMetricName":"Latency",
                "monitor":true
             },
             {
                "alarmMetricName":"SurgeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::ElasticLoadBalancingV2::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Target_4XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Target_5XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"TargetResponseTime",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"my_log_group",
                "logPath":"/mylog/path",
                "logType":"APPLICATION",
                "monitor":true
             }
          ],
          "processes" : [
             {
                "processName" : "my_process",
                "alarmMetrics" : [
                    {
                        "alarmMetricName" : "procstat cpu_usage",
                        "monitor" : true
                    }, {
                        "alarmMetricName" : "procstat memory_rss",
                        "monitor" : true
                    }
                 ]
             }
          ],
          "windowsEvents":[
             {
                "logGroupName":"my_log_group_2",
                "eventName":"Application",
                "eventLevels":[
                   "ERROR",
                   "WARNING",
                   "CRITICAL"
                ],
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":"true"
             },
             {
                "alarmMetricName":"VolumeThroughputPercentage",
                "monitor":"true"
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":"true"
             }
          ]
       }
    ]
 }
```

**nota**  
La sección `subComponents` de `AWS::EC2::Instance` y `AWS::EC2::Volume` sólo aplica a los clústeres de Amazon ECS con servicio ECS o tarea ECS que se ejecuten en el tipo de lanzamiento de EC2.
La sección `windowsEvents` de `AWS::EC2::Instance` en `subComponents` solo aplica a Windows que se ejecute en instancias de Amazon EC2.

# Servicios de Amazon ECS
<a name="component-configuration-examples-ecs-service"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para un servicio de Amazon ECS.

```
{
    "alarmMetrics":[
       {
          "alarmMetricName":"CPUUtilization",
          "monitor":true
       },
       {
          "alarmMetricName":"MemoryUtilization",
          "monitor":true
       },
       {
          "alarmMetricName":"CpuUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"MemoryUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkRxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkTxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"RunningTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"PendingTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageReadBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageWriteBytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName":"/ecs/my-task-definition",
          "logType":"APPLICATION",
          "monitor":true
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::ElasticLoadBalancing::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Backend_4XX",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Backend_5XX",
                "monitor":true
             },
             {
                "alarmMetricName":"Latency",
                "monitor":true
             },
             {
                "alarmMetricName":"SurgeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::ElasticLoadBalancingV2::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Target_4XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Target_5XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"TargetResponseTime",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"my_log_group",
                "logPath":"/mylog/path",
                "logType":"APPLICATION",
                "monitor":true
             }
          ],
          "processes" : [
             {
                "processName" : "my_process",
                "alarmMetrics" : [
                {
                    "alarmMetricName" : "procstat cpu_usage",
                    "monitor" : true
                }, {
                    "alarmMetricName" : "procstat memory_rss",
                    "monitor" : true
                }
            ]
        }
    ],
          "windowsEvents":[
             {
                "logGroupName":"my_log_group_2",
                "eventName":"Application",
                "eventLevels":[
                   "ERROR",
                   "WARNING",
                   "CRITICAL"
                ],
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":"true"
             },
             {
                "alarmMetricName":"VolumeThroughputPercentage",
                "monitor":"true"
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":"true"
             }
          ]
       }
    ]
 }
```

**nota**  
La sección `subComponents` de `AWS::EC2::Instance` y `AWS::EC2::Volume` solo aplica a Amazon ECS que se ejecute en el tipo de lanzamiento de EC2.
La sección `windowsEvents` de `AWS::EC2::Instance` en `subComponents` solo aplica a Windows que se ejecute en instancias de Amazon EC2.

# Tareas de Amazon ECS
<a name="component-configuration-examples-ecs-task"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para una tarea de Amazon ECS.

```
{
    "logs":[
       {
          "logGroupName":"/ecs/my-task-definition",
          "logType":"APPLICATION",
          "monitor":true
       }
    ],
    "processes" : [
        {
            "processName" : "my_process",
            "alarmMetrics" : [
                {
                    "alarmMetricName" : "procstat cpu_usage",
                    "monitor" : true
                }, {
                    "alarmMetricName" : "procstat memory_rss",
                    "monitor" : true
                }
            ]
        }
    ]
 }
```

# Amazon Elastic File System (Amazon EFS)
<a name="component-configuration-examples-efs"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Amazon EFS.

```
{
   "alarmMetrics": [
     {
       "alarmMetricName": "BurstCreditBalance",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentIOLimit",
       "monitor": true
     },
     {
       "alarmMetricName": "PermittedThroughput",
       "monitor": true
     },
     {
       "alarmMetricName": "MeteredIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "TotalIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "DataWriteIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "DataReadIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "MetadataIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "ClientConnections",
       "monitor": true
     },
     {
       "alarmMetricName": "TimeSinceLastSync",
       "monitor": true
     },
     {
       "alarmMetricName": "Throughput",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentageOfPermittedThroughputUtilization",
       "monitor": true
     },
     {
       "alarmMetricName": "ThroughputIOPS",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentThroughputDataReadIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentThroughputDataWriteIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentageOfIOPSDataReadIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentageOfIOPSDataWriteIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "AverageDataReadIOBytesSize",
       "monitor": true
     },
     {
       "alarmMetricName": "AverageDataWriteIOBytesSize",
       "monitor": true
     }
   ],
   "logs": [
    {
    "logGroupName": "/aws/efs/utils",
    "logType": "EFS_MOUNT_STATUS",
    "monitor": true,
    }
   ]
 }
```

# Amazon FSx
<a name="component-configuration-examples-fsx"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Amazon FSx.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "DataReadBytes",
      "monitor": true
    },
    {
      "alarmMetricName": "DataWriteBytes",
      "monitor": true
    },
    {
      "alarmMetricName": "DataReadOperations",
      "monitor": true
    },
    {
      "alarmMetricName": "DataWriteOperations",
      "monitor": true
    },
    {
      "alarmMetricName": "MetadataOperations",
      "monitor": true
    },
    {
      "alarmMetricName": "FreeStorageCapacity",
      "monitor": true
    }
  ]
}
```

# Aurora MySQL de Amazon Relational Database Service (RDS)
<a name="component-configuration-examples-rds-aurora"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Aurora MySQL de Amazon RDS.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    },
    {
      "alarmMetricName": "CommitLatency",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "MYSQL",
      "monitor": true,
    },
    {
      "logType": "MYSQL_SLOW_QUERY",
      "monitor": false
    }
  ]
}
```

# Instancia de Amazon Relational Database Service (RDS)
<a name="component-configuration-examples-rds"></a>

En el ejemplo siguiente se muestra una configuración de componentes en formato JSON para una instancia de Amazon RDS.

```
{
  "alarmMetrics" : [
    {
      "alarmMetricName" : "BurstBalance",
      "monitor" : true
    }, {
      "alarmMetricName" : "WriteThroughput",
      "monitor" : false
    }
  ],

  "alarms" : [
    {
      "alarmName" : "my_rds_instance_alarm",
      "severity" : "MEDIUM"
    }
  ]
}
```

# Comprobación de estado de Amazon Route 53
<a name="component-configuration-examples-health-check"></a>

El siguiente ejemplo muestra la configuración de un componente en formato JSON para comprobar el estado de Amazon Route 53.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ChildHealthCheckHealthyCount",
      "monitor": true
    },
    {
      "alarmMetricName": "ConnectionTime",
      "monitor": true
    },
    {
      "alarmMetricName": "HealthCheckPercentageHealthy",
      "monitor": true
    },
    {
      "alarmMetricName": "HealthCheckStatus",
      "monitor": true
    },
    {
      "alarmMetricName": "SSLHandshakeTime",
      "monitor": true
    },
    {
      "alarmMetricName": "TimeToFirstByte",
      "monitor": true
    }
  ]  
}
```

# Zona alojada de Amazon Route 53
<a name="component-configuration-examples-hosted-zone"></a>

El siguiente ejemplo muestra la configuración de un componente en formato JSON para una zona alojada en Amazon Route 53.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "DNSQueries",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECInternalFailure",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECKeySigningKeysNeedingAction",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECKeySigningKeyMaxNeedingActionAge",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECKeySigningKeyAge",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logGroupName":"/hosted-zone/logs",
      "logType": "ROUTE53_DNS_PUBLIC_QUERY_LOGS",
      "monitor": true
    }
  ]
}
```

# Amazon Route 53 ResolverPunto de conexión de
<a name="component-configuration-examples-resolver-endpoint"></a>

En el siguiente ejemplo se muestra la configuración de un componente en formato JSON para un punto de conexión Amazon Route 53 Resolver.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "EndpointHealthyENICount",
      "monitor": true
    },
    {
      "alarmMetricName": "EndpointUnHealthyENICount",
      "monitor": true
    },
    {
      "alarmMetricName": "InboundQueryVolume",
      "monitor": true
    },
    {
      "alarmMetricName": "OutboundQueryVolume",
      "monitor": true
    },
    {
      "alarmMetricName": "OutboundQueryAggregateVolume",
      "monitor": true
    }
  ]  
}
```

# Configuración de registro de consultas Amazon Route 53 Resolver
<a name="component-configuration-examples-resolver-query-logging"></a>

En el siguiente ejemplo se muestra la configuración de un componente en formato JSON para la configuración del registro de consultas Amazon Route 53 Resolver.

```
{
  "logs": [
    {
      "logGroupName": "/resolver-query-log-config/logs",
      "logType": "ROUTE53_RESOLVER_QUERY_LOGS",
      "monitor": true
    }
  ]  
}
```

# Bucket de Amazon S3
<a name="component-configuration-examples-s3"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para el bucket de Amazon S3.

```
{
    "alarmMetrics" : [
        {
            "alarmMetricName" : "ReplicationLatency",
            "monitor" : true
        }, {
            "alarmMetricName" : "5xxErrors",
            "monitor" : true
        }, {
            "alarmMetricName" : "BytesDownloaded"
            "monitor" : true
        }
    ]
}
```

# Amazon Simple Queue Service (SQS)
<a name="component-configuration-examples-sqs"></a>

En los siguientes ejemplos se muestra una configuración de componentes en formato JSON para Amazon Simple Queue Service.

```
{
  "alarmMetrics" : [
    {
      "alarmMetricName" : "ApproximateAgeOfOldestMessage"
    }, {
      "alarmMetricName" : "NumberOfEmptyReceives"
    }
  ],
  "alarms" : [
    {
      "alarmName" : "my_sqs_alarm",
      "severity" : "MEDIUM"
    }
  ]
}
```

# Tema de Amazon SNS
<a name="component-configuration-examples-sns"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para el tema de Amazon SNS.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "NumberOfNotificationsFailed",
      "monitor": true
    },
    {
      "alarmMetricName": "NumberOfNotificationsFilteredOut-InvalidAttributes",
      "monitor": true
    },
    {
      "alarmMetricName": "NumberOfNotificationsFilteredOut-NoMessageAttributes",
      "monitor": true
    },
    {
      "alarmMetricName": "NumberOfNotificationsFailedToRedriveToDlq",
      "monitor": true
    }
  ]
}
```

# Amazon Virtual Private Cloud (Amazon VPC)
<a name="component-configuration-examples-vpc"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Amazon VPC.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "NetworkAddressUsage",
      "monitor": true
    },
    {
      "alarmMetricName": "NetworkAddressUsagePeered",
      "monitor": true
    },
    {
      "alarmMetricName": "VPCFirewallQueryVolume",
      "monitor": true
    }
  ]
}
```

# Pasarelas de traducción de direcciones de red (NAT) de Amazon VPC
<a name="component-configuration-examples-nat-gateway"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para puertas de enlace NAT.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ErrorPortAllocation",
      "monitor": true
    },
    {
      "alarmMetricName": "IdleTimeoutCount",
      "monitor": true
    }
  ]
}
```

# Etapas de la API REST de API Gateway
<a name="component-configuration-examples-api-gateway"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para las etapas de las API REST de API Gateway.

```
{ 
     "alarmMetrics" : [ 
         {
             "alarmMetricName" : "4XXError",   
             "monitor" : true
         }, 
         {
             "alarmMetricName" : "5XXError",   
             "monitor" : true
         } 
     ],
    "logs" : [
        { 
            "logType" : "API_GATEWAY_EXECUTION",   
            "monitor" : true  
        },
        { 
            "logType" : "API_GATEWAY_ACCESS",   
            "monitor" : true  
        }
    ]
}
```

# Elastic Load Balancing de aplicaciones
<a name="component-configuration-examples-application-elb"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para un Application <Elastic Load Balancing (Balanceador de carga elástica de aplicaciones).

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ActiveConnectionCount",
    }, {
      "alarmMetricName": "TargetResponseTime"
    }
  ],  
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "CPUUtilization",
        }, {
          "alarmMetricName": "StatusCheckFailed"
        }
      ],
      "logs": [
        {
          "logGroupName": "my_log_group",
          "logPath": "C:\\LogFolder\\*",
          "logType": "APPLICATION",
        }
      ],
      "windowsEvents": [
        {
          "logGroupName": "my_log_group_2",
          "eventName": "Application",
          "eventLevels": [ "ERROR", "WARNING", "CRITICAL" ]
        }
      ]
    }, {
      "subComponentType": "AWS::EC2::Volume",
      "alarmMetrics": [
        {
          "alarmMetricName": "VolumeQueueLength",
        }, {
          "alarmMetricName": "BurstBalance"
        }
      ]
    }
  ],

  "alarms": [
    {
      "alarmName": "my_alb_alarm",
      "severity": "LOW"
    }
  ]
}
```

# AWS Lambda Función
<a name="component-configuration-examples-lambda"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para una función de AWS Lambda.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "Errors",
      "monitor": true
    },
    {
      "alarmMetricName": "Throttles",
      "monitor": true
    },
    {
      "alarmMetricName": "IteratorAge",
      "monitor": true
    },
    {
      "alarmMetricName": "Duration",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "DEFAULT",
      "monitor": true
    }
  ]
}
```

# AWS Network FirewallGrupo de reglas de
<a name="component-configuration-examples-firewall-rule-group"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para un grupo de reglas AWS Network Firewall.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "FirewallRuleGroupQueryVolume",
      "monitor": true
    }
  ]
}
```

# Asociación de grupos de reglas AWS Network Firewall
<a name="component-configuration-examples-firewall-rule-group-assoc"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para una asociación de grupo de reglas AWS Network Firewall.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "FirewallRuleGroupQueryVolume",
      "monitor": true
    }
  ]
}
```

# AWS Step Functions
<a name="component-configuration-examples-step-functions"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para AWS Step Functions.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ExecutionsFailed",
      "monitor": true
    },
    {
      "alarmMetricName": "LambdaFunctionsFailed",
      "monitor": true
    },
    {
      "alarmMetricName": "ProvisionedRefillRate",
      "monitor": true
    }
  ],
  "logs": [
    {
     "logGroupName": "/aws/states/HelloWorld-Logs",
      "logType": "STEP_FUNCTION",
      "monitor": true,
    }
  ]
}
```

# Instancias de Amazon EC2 agrupadas por cliente
<a name="component-configuration-examples-grouped-ec2"></a>

En el ejemplo siguiente se muestra una configuración de componentes en formato JSON para instancias de Amazon EC2 agrupadas por clientes.

```
{
    "subComponents": [
      {
        "subComponentType": "AWS::EC2::Instance",
        "alarmMetrics": [
          {
            "alarmMetricName": "CPUUtilization",
          }, 
          {
            "alarmMetricName": "StatusCheckFailed"
          }
        ],
        "logs": [
          {
            "logGroupName": "my_log_group",
            "logPath": "C:\\LogFolder\\*",
            "logType": "APPLICATION",
          }
        ],
        "processes": [
            {
                "processName": "my_process",
                "alarmMetrics": [
                    {
                        "alarmMetricName": "procstat cpu_usage",
                        "monitor": true
                    }, {
                        "alarmMetricName": "procstat memory_rss",
                        "monitor": true
                    }
                ]
            }
        ],
        "windowsEvents": [
          {
            "logGroupName": "my_log_group_2",
            "eventName": "Application",
            "eventLevels": [ "ERROR", "WARNING", "CRITICAL" ]
          }
        ]
      }, {
        "subComponentType": "AWS::EC2::Volume",
        "alarmMetrics": [
          {
            "alarmMetricName": "VolumeQueueLength",
          }, {
            "alarmMetricName": "BurstBalance"
          }
        ]
      }
    ],
    "alarms": [
      {
        "alarmName": "my_alarm",
        "severity": "MEDIUM"
      }
    ]
  }
```

# Elastic Load Balancing
<a name="component-configuration-examples-elb"></a>

El siguiente ejemplo muestra una configuración de componentes en formato JSON para Elastic Load Balancing.

```
{
    "alarmMetrics": [
      {
        "alarmMetricName": "EstimatedALBActiveConnectionCount"
      }, {
        "alarmMetricName": "HTTPCode_Backend_5XX"
      }
    ],
    "subComponents": [
      {
        "subComponentType": "AWS::EC2::Instance",
        "alarmMetrics": [
          {
            "alarmMetricName": "CPUUtilization"
          }, {
            "alarmMetricName": "StatusCheckFailed"
          }
        ],
        "logs": [
          {
            "logGroupName": "my_log_group",
            "logPath": "C:\\LogFolder\\*",
            "logType": "APPLICATION"
          }
        ],
        "processes": [
          {
            "processName": "my_process",
            "alarmMetrics": [
                {
                  "alarmMetricName": "procstat cpu_usage",
                  "monitor": true
                }, {
                  "alarmMetricName": "procstat memory_rss",
                  "monitor": true
                }
              ]
          }
        ],
        "windowsEvents": [
          {
            "logGroupName": "my_log_group_2",
            "eventName": "Application",
            "eventLevels": [ "ERROR", "WARNING", "CRITICAL" ],
            "monitor": true
          }
        ]
      }, {
        "subComponentType": "AWS::EC2::Volume",
        "alarmMetrics": [
          {
            "alarmMetricName": "VolumeQueueLength"
          }, {
            "alarmMetricName": "BurstBalance"
          }
        ]
      }
    ],
  
    "alarms": [
      {
        "alarmName": "my_elb_alarm",
        "severity": "HIGH"
      }
    ]
  }
```

# Java
<a name="component-configuration-examples-java"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Java.

```
{
  "alarmMetrics": [ {
    "alarmMetricName": "java_lang_threading_threadcount",
    "monitor": true
  },
  {
    "alarmMetricName": "java_lang_memory_heapmemoryusage_used",
    "monitor": true
  },
  {
    "alarmMetricName": "java_lang_memory_heapmemoryusage_committed",
    "monitor": true
  }],
  "logs": [ ],
  "JMXPrometheusExporter": {
      "hostPort": "8686",
      "prometheusPort": "9404"
  }
}
```

**nota**  
Información de aplicaciones no admite la configuración de autenticación para el JMX Exporter de Prometheus. Para obtener información acerca de cómo se configura la autenticación, consulte la [Prometheus JMX Exporter example configuration](https://github.com/prometheus/jmx_exporter#configuration) (Configuración de ejemplo del exportador JMX de Prometheus).

# Kubernetes en Amazon EC2
<a name="component-configuration-examples-kubernetes-ec2"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para Kubernetes en Amazon EC2.

```
{
    "alarmMetrics":[
       {
          "alarmMetricName":"cluster_failed_node_count",
          "monitor":true
       },
       {
          "alarmMetricName":"node_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"node_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"node_filesystem_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"node_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"node_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"node_network_total_bytes",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_cpu_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_memory_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_network_rx_bytes",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_network_tx_bytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName":"/aws/containerinsights/kubernetes/application",
          "logType":"APPLICATION",
          "monitor":true,
          "encoding":"utf-8"
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"APPLICATION-KubernetesClusterOnEC2-IAD",
                "logPath":"",
                "logType":"APPLICATION",
                "monitor":true,
                "encoding":"utf-8"
             }
          ],
          "processes" : [
            {
                "processName" : "my_process",
                "alarmMetrics" : [
                    {
                        "alarmMetricName" : "procstat cpu_usage",
                        "monitor" : true
                    }, {
                        "alarmMetricName" : "procstat memory_rss",
                        "monitor" : true
                    }
                ]
            }
        ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeReadBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeReadOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":true
             }
          ]
       }
    ]
 }
```

# RDS MariaDB y RDS MySQL
<a name="component-configuration-examples-mysql"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para RDS MariaDB y RDS MySQL

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "MYSQL",
      "monitor": true,
    },
    {
      "logType": "MYSQL_SLOW_QUERY",
      "monitor": false
    }
  ]
}
```

# Oracle de RDS
<a name="component-configuration-examples-oracle"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para RDS para Oracle.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "ORACLE_ALERT",
      "monitor": true,
    },
    {
      "logType": "ORACLE_LISTENER",
      "monitor": false
    }
  ]
}
```

# PostgreSQL de RDS
<a name="component-configuration-examples-rds-postgre-sql"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para RDS para PostgreSQL.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "POSTGRESQL",
      "monitor": true
    }
  ]
}
```

# SAP ASE en Amazon EC2
<a name="component-configuration-examples-sap-ase"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para SAP ASE en Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "asedb_database_availability",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_trunc_log_on_chkpt_enabled",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_db_backup_age_in_days",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_transaction_log_backup_age_in_hours",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_suspected_database",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_db_space_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_db_log_space_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_locked_login",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_data_cache_hit_ratio",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_ASE_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2.log",
          "logType": "SAP_ASE_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_BACKUP_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2_BS.log",
          "logType": "SAP_ASE_BACKUP_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
  ],
  "sapAsePrometheusExporter": {
    "sapAseSid": "ASE",
    "sapAsePort": "4901",
    "sapAseSecretName": "ASE_DB_CREDS",
    "prometheusPort": "9399",
    "agreeToEnableASEMonitoring": true
}
```

# Alta disponibilidad de SAP ASE en Amazon EC2
<a name="component-configuration-examples-sap-ase-ha"></a>

En el ejemplo siguiente se muestra una configuración de componentes en formato JSON para una alta disponibilidad de SAP ASE en Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "asedb_database_availability",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_trunc_log_on_chkpt_enabled",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_db_backup_age_in_days",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_transaction_log_backup_age_in_hours",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_suspected_database",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_db_space_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_ha_replication_state",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_ha_replication_mode",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_ha_replication_latency_in_minutes",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_ASE_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2.log",
          "logType": "SAP_ASE_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_BACKUP_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2_BS.log",
          "logType": "SAP_ASE_BACKUP_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_REP_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/DM/repservername/repservername.log",
          "logType": "SAP_ASE_REP_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_RMA_AGENT_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/DM/RMA-*/instances/AgentContainer/logs/",
          "logType": "SAP_ASE_RMA_AGENT_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_FAULT_MANAGER_LOGS-my-resource-group",
          "logPath": "/opt/sap/FaultManager/dev_sybdbfm",
          "logType": "SAP_ASE_FAULT_MANAGER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
  ],
  "sapAsePrometheusExporter": {
    "sapAseSid": "ASE",
    "sapAsePort": "4901",
    "sapAseSecretName": "ASE_DB_CREDS",
    "prometheusPort": "9399",
    "agreeToEnableASEMonitoring": true
}
```

# SAP HANA en Amazon EC2
<a name="component-configuration-examples-hana"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para SAP HANA en Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "hanadb_server_startup_time_variations_seconds",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_5_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_4_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_out_of_memory_events_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_max_trigger_read_ratio_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_table_allocation_limit_used_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_cpu_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_plan_cache_hit_ratio_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_last_data_backup_age_days",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_HANA_TRACE-my-resourge-group",
          "logPath": "/usr/sap/HDB/HDB00/*/trace/*.trc",
          "logType": "SAP_HANA_TRACE",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_HANA_LOGS-my-resource-group",
          "logPath": "/usr/sap/HDB/HDB00/*/trace/*.log",
          "logType": "SAP_HANA_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "hanaPrometheusExporter": {
    "hanaSid": "HDB",
    "hanaPort": "30013",
    "hanaSecretName": "HANA_DB_CREDS",
    "prometheusPort": "9668"
  }
}
```

# Alta disponibilidad de SAP HANA en Amazon EC2
<a name="component-configuration-examples-hana-ha"></a>

En el ejemplo siguiente se muestra una configuración de componentes en formato JSON para alta disponibilidad de SAP HANA en Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "hanadb_server_startup_time_variations_seconds",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_5_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_4_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_out_of_memory_events_count",
          "monitor": true
        },
        {
          "alarmMetricName": "ha_cluster_pacemaker_stonith_enabled",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_HANA_TRACE-my-resourge-group",
          "logPath": "/usr/sap/HDB/HDB00/*/trace/*.trc",
          "logType": "SAP_HANA_TRACE",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_HANA_HIGH_AVAILABILITY-my-resource-group",
          "logPath": "/var/log/pacemaker/pacemaker.log",
          "logType": "SAP_HANA_HIGH_AVAILABILITY",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "hanaPrometheusExporter": {
    "hanaSid": "HDB",
    "hanaPort": "30013",
    "hanaSecretName": "HANA_DB_CREDS",
    "prometheusPort": "9668"
  },
  "haClusterPrometheusExporter": {
    "prometheusPort": "9664"
  }
}
```

# SAP NetWeaver en Amazon EC2
<a name="component-configuration-examples-netweaver"></a>

En el siguiente ejemplo, se muestra una configuración de componentes en formato JSON para SAP NetWeaver en Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "CPUUtilization",
          "monitor": true
        },
        {
          "alarmMetricName": "StatusCheckFailed",
          "monitor": true
        },
        {
          "alarmMetricName": "disk_used_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "mem_used_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialog",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialogRFC",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_DBRequestTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_LongRunners",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_AbortedJobs",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_BasisSystem",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Database",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Security",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_System",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_QueueTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Availability",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_start_service_processes",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_dispatcher_queue_now",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_dispatcher_queue_max",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_locks_max",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_locks_now",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_locks_state",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_replication_state",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_NETWEAVER_DEV_TRACE_LOGS-NetWeaver-ML4",
          "logPath": "/usr/sap/ML4/*/work/dev_w*",
          "logType": "SAP_NETWEAVER_DEV_TRACE_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "netWeaverPrometheusExporter": {
    "sapSid": "ML4",
    "instanceNumbers": [
      "00",
      "11"
    ],
    "prometheusPort": "9680"
  }
}
```

# Alta disponibilidad de SAP NetWeaver en Amazon EC2
<a name="component-configuration-examples-netweaver-ha"></a>

En el ejemplo siguiente, se muestra una configuración de componentes en formato JSON para alta disponibilidad de SAP NetWeaver en Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "ha_cluster_corosync_ring_errors",
          "monitor": true
        },
        {
          "alarmMetricName": "ha_cluster_pacemaker_fail_count",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_HA_check_failover_config_state",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_HA_get_failover_config_HAActive",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_AbortedJobs",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Availability",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_BasisSystem",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_DBRequestTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Database",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_FrontendResponseTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_LongRunners",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_QueueTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialog",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialogRFC",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Security",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Shortdumps",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_SqlError",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_System",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_replication_state",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_start_service_processes",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_NETWEAVER_DEV_TRACE_LOGS-NetWeaver-PR1",
          "logPath": "/usr/sap/<SID>/D*/work/dev_w*",
          "logType": "SAP_NETWEAVER_DEV_TRACE_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "haClusterPrometheusExporter": {
    "prometheusPort": "9664"
  },
  "netWeaverPrometheusExporter": {
    "sapSid": "PR1",
    "instanceNumbers": [
      "11",
      "12"
    ],
    "prometheusPort": "9680"
  }
}
```

# Grupos de disponibilidad siempre activos de SQL
<a name="component-configuration-examples-sql"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para SQL Always On Availability Group.

```
{
  "subComponents" : [ {
    "subComponentType" : "AWS::EC2::Instance",
    "alarmMetrics" : [ {
      "alarmMetricName" : "CPUUtilization",
      "monitor" : true
    }, {
      "alarmMetricName" : "StatusCheckFailed",
      "monitor" : true
    }, {
      "alarmMetricName" : "Processor % Processor Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory % Committed Bytes In Use",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory Available Mbytes",
      "monitor" : true
    }, {
      "alarmMetricName" : "Paging File % Usage",
      "monitor" : true
    }, {
      "alarmMetricName" : "System Processor Queue Length",
      "monitor" : true
    }, {
      "alarmMetricName" : "Network Interface Bytes Total/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "PhysicalDisk % Disk Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Buffer Manager Buffer cache hit ratio",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Buffer Manager Page life expectancy",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:General Statistics Processes blocked",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:General Statistics User Connections",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Locks Number of Deadlocks/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:SQL Statistics Batch Requests/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica File Bytes Received/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Log Bytes Received/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Log remaining for undo",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Log Send Queue",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Mirrored Write Transaction/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Recovery Queue",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Redo Bytes Remaining",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Redone Bytes/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Total Log requiring undo",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Transaction Delay",
      "monitor" : true
    } ],
    "windowsEvents" : [ {
      "logGroupName" : "WINDOWS_EVENTS-Application-<RESOURCE_GROUP_NAME>",
      "eventName" : "Application",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL", "INFORMATION" ],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-System-<RESOURCE_GROUP_NAME>",
      "eventName" : "System",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-Security-<RESOURCE_GROUP_NAME>",
      "eventName" : "Security",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
      "monitor" : true
    } ],
    "logs" : [ {
      "logGroupName" : "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP-<RESOURCE_GROUP_NAME>",
      "logPath" : "C:\\Program Files\\Microsoft SQL Server\\MSSQL**.MSSQLSERVER\\MSSQL\\Log\\ERRORLOG",
      "logType" : "SQL_SERVER",
      "monitor" : true,
      "encoding" : "utf-8"
    } ]
  }, {
    "subComponentType" : "AWS::EC2::Volume",
    "alarmMetrics" : [ {
      "alarmMetricName" : "VolumeReadBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeReadOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeQueueLength",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeThroughputPercentage",
      "monitor" : true
    }, {
    "alarmMetricName" : "BurstBalance",
      "monitor" : true
    } ]
  } ]
}
```

# Instancia de clúster de conmutación por error de SQL
<a name="component-configuration-examples-sql-failover-cluster"></a>

En el siguiente ejemplo se muestra una configuración de componentes en formato JSON para la instancia de clúster de conmutación por error de SQL.

```
{
  "subComponents" : [ {
    "subComponentType" : "AWS::EC2::Instance",
    "alarmMetrics" : [ {
      "alarmMetricName" : "CPUUtilization",
      "monitor" : true
    }, {
      "alarmMetricName" : "StatusCheckFailed",
      "monitor" : true
    }, {
      "alarmMetricName" : "Processor % Processor Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory % Committed Bytes In Use",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory Available Mbytes",
      "monitor" : true
    }, {
      "alarmMetricName" : "Paging File % Usage",
      "monitor" : true
    }, {
      "alarmMetricName" : "System Processor Queue Length",
      "monitor" : true
    }, {
      "alarmMetricName" : "Network Interface Bytes Total/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "PhysicalDisk % Disk Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "Bytes Received/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Normal Messages Queue Length/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Urgent Message Queue Length/se",
      "monitor" : true
    }, {
      "alarmMetricName" : "Reconnect Count",
      "monitor" : true
    }, {
      "alarmMetricName" : "Unacknowledged Message Queue Length/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Messages Outstanding",
      "monitor" : true
    }, {
      "alarmMetricName" : "Messages Sent/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Database Update Messages/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Update Messages/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Flushes/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Crypto Checkpoints Saved/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Crypto Checkpoints Restored/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Registry Checkpoints Restored/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Registry Checkpoints Saved/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Cluster API Calls/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Resource API Calls/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Cluster Handles/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Resource Handles/sec",
      "monitor" : true
    } ],
    "windowsEvents" : [ {
      "logGroupName" : "WINDOWS_EVENTS-Application-<RESOURCE_GROUP_NAME>",
      "eventName" : "Application",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL"],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-System-<RESOURCE_GROUP_NAME>",
      "eventName" : "System",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL", "INFORMATION" ],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-Security-<RESOURCE_GROUP_NAME>",
      "eventName" : "Security",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
      "monitor" : true
    } ],
    "logs" : [ {
      "logGroupName" : "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE-<RESOURCE_GROUP_NAME>",
      "logPath" : "\\\\amznfsxjmzbykwn.mydomain.aws\\SQLDB\\MSSQL**.MSSQLSERVER\\MSSQL\\Log\\ERRORLOG",
      "logType" : "SQL_SERVER",
      "monitor" : true,
      "encoding" : "utf-8"
    } ]
  }, {
    "subComponentType" : "AWS::EC2::Volume",
    "alarmMetrics" : [ {
      "alarmMetricName" : "VolumeReadBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeReadOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeQueueLength",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeThroughputPercentage",
      "monitor" : true
    }, {
    "alarmMetricName" : "BurstBalance",
      "monitor" : true
    } ]
  } ]
}
```

# Creación y configuración de la supervisión de Información de aplicaciones de CloudWatch mediante las plantillas de CloudFormation
<a name="appinsights-cloudformation"></a>

Puede agregar el monitoreo de Información de aplicaciones, incluidas las métricas clave y la telemetría, a su aplicación, base de datos y servidor web, directamente desde las plantillas de AWS CloudFormation.

En esta sección encontrará un ejemplo de plantillas de CloudFormation en formatos JSON y YAML para ayudarlo a crear y configurar el monitoreo de Información de aplicaciones.

Para ver la referencia de recursos y propiedades de Información de aplicaciones en la *Guía del usuario de CloudFormation*, consulte [Referencia de tipos de recursos de Información de aplicaciones](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApplicationInsights.html). 

**Topics**
+ [Creación de una aplicación de Información de aplicaciones para toda la pila de CloudFormation](#appinsights-cloudformation-apply-to-stack)
+ [Creación de una aplicación de Información de aplicaciones con configuraciones detalladas](#appinsights-cloudformation-apply-detailed)
+ [Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo `CUSTOM`](#appinsights-cloudformation-custom)
+ [Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo `DEFAULT`](#appinsights-cloudformation-default)
+ [Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo `DEFAULT_WITH_OVERWRITE`](#appinsights-cloudformation-default-with-overwrite)

## Creación de una aplicación de Información de aplicaciones para toda la pila de CloudFormation
<a name="appinsights-cloudformation-apply-to-stack"></a>

Para aplicar la siguiente plantilla, cree recursos de AWS y uno o más grupos de recursos a partir de los cuales pueda crear aplicaciones de Información de aplicaciones para monitorear esos recursos. Para obtener más información, consulte [Introducción a AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted.html).

Las dos primeras partes de la siguiente plantilla especifican un recurso y un grupo de recursos. La última parte de la plantilla crea una aplicación de Información de aplicaciones para el grupo de recursos, pero no configura la aplicación ni aplica monitoreo. Para obtener más información, consulte los detalles del comando [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.

**Plantilla en formato JSON**

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Test Resource Group stack",
    "Resources": {
        "EC2Instance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId" : "ami-abcd1234efgh5678i",
                "SecurityGroupIds" : ["sg-abcd1234"]
            }
        },
        ...
        "ResourceGroup": {
            "Type": "AWS::ResourceGroups::Group",
            "Properties": {
                "Name": "my_resource_group"
            }
        },
        "AppInsightsApp": {
            "Type": "AWS::ApplicationInsights::Application",
            "Properties": {
                "ResourceGroupName": "my_resource_group"
            },
            "DependsOn" : "ResourceGroup"
        }
    }
}
```

**Plantilla en formato YAML**

```
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Test Resource Group stack
Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-abcd1234efgh5678i
      SecurityGroupIds:
      - sg-abcd1234
  ...
  ResourceGroup:
    Type: AWS::ResourceGroups::Group
    Properties:
      Name: my_resource_group
  AppInsightsApp:
    Type: AWS::ApplicationInsights::Application
    Properties:
      ResourceGroupName: my_resource_group
    DependsOn: ResourceGroup
```

La siguiente sección de plantilla aplica la configuración de monitoreo predeterminada a la aplicación de Información de aplicaciones. Para obtener más información, consulte los detalles del comando [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.

Cuando `AutoConfigurationEnabled` se establece en `true`, todos los componentes de la aplicación se configuran con las configuraciones recomendadas de monitoreo para el nivel de aplicación `DEFAULT`. Para obtener más información acerca de estas configuraciones y niveles, consulte [DescribeComponentConfigurationRecommendation](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfigurationRecommendation.html) y [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*. 

**Plantilla en formato JSON**

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Test Application Insights Application stack",
    "Resources": {
        "AppInsightsApp": {
            "Type": "AWS::ApplicationInsights::Application",
            "Properties": {
                "ResourceGroupName": "my_resource_group",
                "AutoConfigurationEnabled": true
            }
        }
    }
}
```

**Plantilla en formato YAML**

```
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Test Application Insights Application stack
Resources:
  AppInsightsApp:
    Type: AWS::ApplicationInsights::Application
    Properties:
      ResourceGroupName: my_resource_group
      AutoConfigurationEnabled: true
```

## Creación de una aplicación de Información de aplicaciones con configuraciones detalladas
<a name="appinsights-cloudformation-apply-detailed"></a>

En la siguiente plantilla se realizan las siguientes acciones:
+ Crea una aplicación de Información de aplicaciones con la notificación de Eventos de CloudWatch y Centro de operaciones habilitado. Para obtener más información, consulte los detalles del comando [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*. 
+ Etiqueta la aplicación con dos etiquetas, una de las cuales no tiene valores de etiqueta. Para obtener más información, consulte [TagResource](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_TagResource.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.
+ Crea dos componentes de grupo de instancias personalizado. Para obtener más información, consulte [CreateComponent](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateComponent.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.
+ Crea dos conjuntos de patrones de registro. Para obtener más información, consulte [CreateLogPattern](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateLogPattern.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.
+ Establece `AutoConfigurationEnabled` en `true`, que configura todos los componentes de la aplicación con la configuración de monitoreo recomendada para el nivel `DEFAULT`. Para obtener más información, consulte [DescribeComponentConfigurationRecommendation](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfigurationRecommendation.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.

**Plantilla en formato JSON **

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group",
        "CWEMonitorEnabled": true,
        "OpsCenterEnabled": true,
        "OpsItemSNSTopicArn": "arn:aws:sns:us-east-1:123456789012:my_topic",
        "AutoConfigurationEnabled": true,
        "Tags": [
            {
                "Key": "key1",
                "Value": "value1"
            },
            {
                "Key": "key2",
                "Value": ""
            }
        ],
        "CustomComponents": [
            {
                "ComponentName": "test_component_1",
                "ResourceList": [
                    "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i"
                ]
            },
            {
                "ComponentName": "test_component_2",
                "ResourceList": [
                    "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i",
                    "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i"
                ]
            }
        ],
        "LogPatternSets": [
            {
                "PatternSetName": "pattern_set_1",
                "LogPatterns": [
                    {
                        "PatternName": "deadlock_pattern",
                        "Pattern": ".*\\sDeadlocked\\sSchedulers(([^\\w].*)|($))",
                        "Rank": 1
                    }
                ]    
            },
            {
                "PatternSetName": "pattern_set_2",
                "LogPatterns": [
                    {
                        "PatternName": "error_pattern",
                        "Pattern": ".*[\\s\\[]ERROR[\\s\\]].*",
                        "Rank": 1
                    },
                    {
                        "PatternName": "warning_pattern",
                        "Pattern": ".*[\\s\\[]WARN(ING)?[\\s\\]].*",
                        "Rank": 10
                    }
                ]
            }
        ]
    }
}
```

**Plantilla en formato YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  CWEMonitorEnabled: true
  OpsCenterEnabled: true
  OpsItemSNSTopicArn: arn:aws:sns:us-east-1:123456789012:my_topic
  AutoConfigurationEnabled: true
  Tags:
  - Key: key1
    Value: value1
  - Key: key2
    Value: ''
  CustomComponents:
  - ComponentName: test_component_1
    ResourceList:
    - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i
  - ComponentName: test_component_2
    ResourceList:
    - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i
    - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i
  LogPatternSets:
  - PatternSetName: pattern_set_1
    LogPatterns:
    - PatternName: deadlock_pattern
      Pattern: ".*\\sDeadlocked\\sSchedulers(([^\\w].*)|($))"
      Rank: 1
  - PatternSetName: pattern_set_2
    LogPatterns:
    - PatternName: error_pattern
      Pattern: ".*[\\s\\[]ERROR[\\s\\]].*"
      Rank: 1
    - PatternName: warning_pattern
      Pattern: ".*[\\s\\[]WARN(ING)?[\\s\\]].*"
      Rank: 10
```

## Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo `CUSTOM`
<a name="appinsights-cloudformation-custom"></a>

En la siguiente plantilla se realizan las siguientes acciones:
+ Crea una aplicación de Información de aplicaciones. Para obtener más información, consulte [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.
+ El componente `my_component` establece `ComponentConfigurationMode` en `CUSTOM`, lo que hace que este componente se configure como se especifica en `CustomComponentConfiguration`. Para obtener más información, consulte [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.

**Plantilla en formato JSON**

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group,
        "ComponentMonitoringSettings": [
            {
                "ComponentARN": "my_component",
                "Tier": "SQL_SERVER",
                "ComponentConfigurationMode": "CUSTOM",
                "CustomComponentConfiguration": {
                    "ConfigurationDetails": {
                        "AlarmMetrics": [
                            {
                                "AlarmMetricName": "StatusCheckFailed"
                            },
                            ...
                        ],
                        "Logs": [
                            {       
                                "LogGroupName": "my_log_group_1",
                                "LogPath": "C:\\LogFolder_1\\*",
                                "LogType": "DOT_NET_CORE",
                                "Encoding": "utf-8",
                                "PatternSet": "my_pattern_set_1"
                            },      
                            ...     
                        ],      
                        "WindowsEvents": [
                            {       
                                "LogGroupName": "my_windows_event_log_group_1",
                                "EventName": "Application",
                                "EventLevels": [
                                    "ERROR",
                                    "WARNING",
                                    ...     
                                ],       
                                "Encoding": "utf-8",
                                "PatternSet": "my_pattern_set_2"
                            },      
                            ...     
                        ],
                        "Alarms": [
                            {
                                "AlarmName": "my_alarm_name",
                                "Severity": "HIGH"
                            },
                            ...
                        ]
                    },
                    "SubComponentTypeConfigurations": [
                        {
                            "SubComponentType": "EC2_INSTANCE",
                            "SubComponentConfigurationDetails": {
                                "AlarmMetrics": [
                                    {
                                        "AlarmMetricName": "DiskReadOps"
                                    },
                                    ...
                                ],
                                "Logs": [
                                    {
                                        "LogGroupName": "my_log_group_2",
                                        "LogPath": "C:\\LogFolder_2\\*",
                                        "LogType": "IIS",
                                        "Encoding": "utf-8",
                                        "PatternSet": "my_pattern_set_3"
                                    },
                                    ...
                                ],
                                "processes" : [
                                    {
                                        "processName" : "my_process",
                                        "alarmMetrics" : [
                                    {
                                        "alarmMetricName" : "procstat cpu_usage",
                                        "monitor" : true
                                    }, {
                                        "alarmMetricName" : "procstat memory_rss",
                                        "monitor" : true
                                    }
                                ]
                            }
                        ],
                                "WindowsEvents": [
                                    {
                                        "LogGroupName": "my_windows_event_log_group_2",
                                        "EventName": "Application",
                                        "EventLevels": [
                                            "ERROR",
                                            "WARNING",
                                            ...
                                        ],
                                        "Encoding": "utf-8",
                                        "PatternSet": "my_pattern_set_4"
                                    },
                                    ...
                                ]
                            }
                        }   
                    ]
                }
            }
        ]
    }
}
```

**Plantilla en formato YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  ComponentMonitoringSettings:
  - ComponentARN: my_component
    Tier: SQL_SERVER
    ComponentConfigurationMode: CUSTOM
    CustomComponentConfiguration:
      ConfigurationDetails:
        AlarmMetrics:
        - AlarmMetricName: StatusCheckFailed
        ...
        Logs:
        - LogGroupName: my_log_group_1
          LogPath: C:\LogFolder_1\*
          LogType: DOT_NET_CORE
          Encoding: utf-8
          PatternSet: my_pattern_set_1
        ...
        WindowsEvents:
        - LogGroupName: my_windows_event_log_group_1
          EventName: Application
          EventLevels:
          - ERROR
          - WARNING
          ...
          Encoding: utf-8
          PatternSet: my_pattern_set_2
        ...
        Alarms:
        - AlarmName: my_alarm_name
          Severity: HIGH
        ...
      SubComponentTypeConfigurations:
      - SubComponentType: EC2_INSTANCE
        SubComponentConfigurationDetails:
          AlarmMetrics:
          - AlarmMetricName: DiskReadOps
          ...
          Logs:
          - LogGroupName: my_log_group_2
            LogPath: C:\LogFolder_2\*
            LogType: IIS
            Encoding: utf-8
            PatternSet: my_pattern_set_3
          ...
          Processes:
          - ProcessName: my_process
            AlarmMetrics:
            - AlarmMetricName: procstat cpu_usage
              ...
            ...
          WindowsEvents:
          - LogGroupName: my_windows_event_log_group_2
            EventName: Application
            EventLevels:
            - ERROR
            - WARNING
            ...
            Encoding: utf-8
            PatternSet: my_pattern_set_4
          ...
```

## Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo `DEFAULT`
<a name="appinsights-cloudformation-default"></a>

En la siguiente plantilla se realizan las siguientes acciones:
+ Crea una aplicación de Información de aplicaciones. Para obtener más información, consulte [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.
+ Componente `my_component` establece `ComponentConfigurationMode` en `DEFAULT` y `Tier` en `SQL_SERVER`, lo que hace que este componente se configure con los ajustes de configuración que Información de aplicaciones recomienda para el nivel `SQL_Server`. Para obtener más información, consulte [DescribeComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfiguration.html) y [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.

**Plantilla en formato JSON**

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group",
        "ComponentMonitoringSettings": [
            {
                "ComponentARN": "my_component",
                "Tier": "SQL_SERVER",
                "ComponentConfigurationMode": "DEFAULT"
            }
        ]
    }
}
```

**Plantilla en formato YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  ComponentMonitoringSettings:
  - ComponentARN: my_component
    Tier: SQL_SERVER
    ComponentConfigurationMode: DEFAULT
```

## Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo `DEFAULT_WITH_OVERWRITE`
<a name="appinsights-cloudformation-default-with-overwrite"></a>

En la siguiente plantilla se realizan las siguientes acciones:
+ Crea una aplicación de Información de aplicaciones. Para obtener más información, consulte [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.
+ Componente `my_component` establece `ComponentConfigurationMode` en `DEFAULT_WITH_OVERWRITE` y `tier` en `DOT_NET_CORE`, lo que hace que este componente se configure con los ajustes de configuración que Información de aplicaciones recomienda para el nivel `DOT_NET_CORE`. Los ajustes de configuración sobrescritos se especifican en `DefaultOverwriteComponentConfiguration`: 
  + En el nivel de componente, la configuración de `AlarmMetrics` se sobrescribe.
  + En el nivel de subcomponente, para los subcomponentes de tipo `EC2_Instance`, los ajustes de `Logs` se sobrescriben.

  Para obtener más información, consulte [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html) en la *Referencia de la API de Información de aplicaciones de Amazon CloudWatch*.

**Plantilla en formato JSON**

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group",
        "ComponentMonitoringSettings": [
            {
                "ComponentName": "my_component",
                "Tier": "DOT_NET_CORE",
                "ComponentConfigurationMode": "DEFAULT_WITH_OVERWRITE",
                "DefaultOverwriteComponentConfiguration": {
                    "ConfigurationDetails": {
                        "AlarmMetrics": [
                            {
                                "AlarmMetricName": "StatusCheckFailed"
                            }
                        ]
                    },
                    "SubComponentTypeConfigurations": [
                        {
                            "SubComponentType": "EC2_INSTANCE",
                            "SubComponentConfigurationDetails": {
                                "Logs": [
                                    {
                                        "LogGroupName": "my_log_group",
                                        "LogPath": "C:\\LogFolder\\*",
                                        "LogType": "IIS",
                                        "Encoding": "utf-8",
                                        "PatternSet": "my_pattern_set"
                                    }
                                ]
                            }
                        }   
                    ] 
                } 
            }
        ]
    }
}
```

**Plantilla en formato YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  ComponentMonitoringSettings:
  - ComponentName: my_component
    Tier: DOT_NET_CORE
    ComponentConfigurationMode: DEFAULT_WITH_OVERWRITE
    DefaultOverwriteComponentConfiguration:
      ConfigurationDetails:
        AlarmMetrics:
        - AlarmMetricName: StatusCheckFailed
      SubComponentTypeConfigurations:
      - SubComponentType: EC2_INSTANCE
        SubComponentConfigurationDetails:
          Logs:
          - LogGroupName: my_log_group
            LogPath: C:\LogFolder\*
            LogType: IIS
            Encoding: utf-8
            PatternSet: my_pattern_set
```

# Tutorial: configuración de la supervisión para SAP ASE
<a name="appinsights-tutorial-sap-ase"></a>

En este tutorial se detalla la configuración de Información de aplicaciones de CloudWatch para establecer la supervisión de sus bases de datos SAP ASE. Puede utilizar los paneles automáticos de Información de aplicaciones de CloudWatch para visualizar los detalles del problema, acelerar la solución de problemas y facilitar el tiempo medio de resolución (TMR) de sus bases de datos SAP ASE.

**Topics**
+ [Entornos compatibles](#appinsights-tutorial-sap-ase-supported-environments)
+ [Sistemas operativos compatibles](#appinsights-tutorial-sap-ase-supported-os)
+ [Características](#appinsights-tutorial-sap-ase-features)
+ [Requisitos previos](#appinsights-tutorial-sap-ase-prerequisites)
+ [Configuración de la supervisión](#appinsights-tutorial-sap-ase-set-up)
+ [Administración de la supervisión](#appinsights-tutorial-sap-ase-manage)
+ [Configurar el umbral de la alarma](#appinsights-tutorial-sap-hana-configure-alarm-threshold)
+ [Visualizar y solucionar los problemas de SAP ASE que detecte Información de aplicaciones](#appinsights-tutorial-sap-ase-troubleshooting-problems)
+ [Solución de problemas de Información de aplicaciones](#appinsights-tutorial-sap-ase-troubleshooting-health-dashboard)

## Entornos compatibles
<a name="appinsights-tutorial-sap-ase-supported-environments"></a>

Información de aplicaciones de CloudWatch es compatible con la implementación de recursos de AWS para los siguientes sistemas y patrones. Proporcione e instale el software de base de datos SAP ASE y el software de aplicación SAP compatible.
+ **Una o más bases de datos SAP ASE en una única instancia de Amazon EC2**: SAP ASE en una arquitectura escalable verticalmente de un solo nodo.
+ **Configuración de alta disponibilidad de bases de datos SAP ASE entre AZ**: SAP ASE con alta disponibilidad configurada en dos zonas de disponibilidad mediante clústeres SUSE/RHEL.

**nota**  
Información de aplicaciones de CloudWatch solo admite entornos ASE HA con un identificador único del sistema SAP (SID). Si se adjuntan varios SID de ASE HA, la supervisión se configurará sola para el primer SID detectado.

## Sistemas operativos compatibles
<a name="appinsights-tutorial-sap-ase-supported-os"></a>

Información de aplicaciones de CloudWatch para SAP ASE es compatible con la arquitectura x86-64 en los siguientes sistemas operativos:
+ SuSE Linux 12 SP4
+ SuSE Linux 12 SP5
+ SuSE Linux 15
+ SuSE Linux 15 SP1
+ SuSE Linux 15 SP2
+ SuSE Linux 15 SP3
+ SuSE Linux 15 SP4
+ SuSE Linux 15 SP1 para SAP
+ SuSE Linux 15 SP2 para SAP
+ SuSE Linux 15 SP3 para SAP
+ SuSE Linux 15 SP4 para SAP
+ SuSE Linux 12 SP4 para SAP
+ SuSE Linux 12 SP5 para SAP
+ RedHat Linux 7.6
+ RedHat Linux 7.7
+ RedHat Linux 7.9
+ RedHat Linux 8.1
+ RedHat Linux 8.4
+ RedHat Linux 8.6

## Características
<a name="appinsights-tutorial-sap-ase-features"></a>

Información de aplicaciones de CloudWatch para SAP ASE presenta las siguientes características:
+ Detección automática de cargas de trabajo de SAP ASE 
+ Creación automática de alarmas de SAP ASE basada en un umbral estático
+ Creación automática de alarmas de SAP ASE basada en la detección de anomalías 
+ Reconocimiento automático de patrones de registro de SAP ASE 
+ Panel de estado de SAP ASE
+ Panel de problemas de SAP ASE

## Requisitos previos
<a name="appinsights-tutorial-sap-ase-prerequisites"></a>

Debe completar los siguientes requisitos previos para configurar una base de datos SAP ASE con Información de aplicaciones de CloudWatch:
+ **Parámetros de configuración de SAP ASE**: los siguientes parámetros de configuración deben estar habilitados en su base de datos ASE:`"enable monitoring"`, `"sql text pipe max messages"`, `"sql text pipe active"`. Esto permite que Información de aplicaciones de CloudWatch proporcione capacidades de supervisión completas para su base de datos. Si esta configuración no está habilitada en su base de datos ASE, Información de aplicaciones permitirá que se recopilen automáticamente las métricas necesarias para permitir la supervisión.
+ **Usuario de la base de datos SAP ASE**: el usuario de la base de datos proporcionado durante la incorporación de Información de aplicaciones debe tener permiso para acceder a lo siguiente:
  + Las tablas del sistema en la base de datos maestra y en las bases de datos de usuarios (inquilinos)
  + Supervisión de las tablas
+ **SAPHostCtrl**: instale y configure SAPHostCtrl en su instancia de Amazon EC2.
+ **Agente de Amazon CloudWatch**: asegúrese de no ejecutar un agente de CloudWatch preexistente en su instancia de Amazon EC2. Si tiene instalado el agente de CloudWatch, asegúrese de eliminar la configuración de los recursos que utiliza en Información de aplicaciones de CloudWatch del archivo de configuración del agente de CloudWatch existente para evitar un conflicto de fusión. Para obtener más información, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).
+ **Habilitación de Systems Manager de AWS**: instale SSM Agent en sus instancias y habilite las instancias para SSM. Para obtener información acerca de la instalación de SSM Agent, consulte [Trabajo con SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) en la *Guía del usuario de AWS Systems Manager*.
+ **Roles de instancias de Amazon EC2**: debe adjuntar los siguientes roles de instancias de Amazon EC2 para configurar su base de datos.
  + Debe adjuntar el rol de `AmazonSSMManagedInstanceCore` para habilitar Systems Manager. Para obtener más información, consulte [Ejemplos de políticas basadas en identidades de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Debe adjuntar la `CloudWatchAgentServerPolicy` (política del servidor del agente de CloudWatch) para permitir que las métricas de instancias y los registros se emitan a través de CloudWatch. Para obtener más información, consulte [Creación de roles de IAM y usuarios para utilizarlos con el agente de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html).
  + Debe adjuntar la siguiente política inline de IAM al rol de instancia de Amazon EC2 para leer la contraseña almacenada en AWS Secrets Manager. Para obtener más información acerca de las políticas insertadas, consulte [Políticas insertadas ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) en la *Guía del usuario de AWS Identity and Access Management*.

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "secretsmanager:GetSecretValue"
                ],
                "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
            }
        ]
    }
    ```

------
+ **Grupos de recursos de AWS**: para incorporar las aplicaciones a Información de aplicaciones de CloudWatch, debe crear un grupo de recursos que incluya todos los recursos asociados de AWS que se utilicen en la pila de aplicaciones. Esto incluye instancias de Amazon EC2 y volúmenes de Amazon EBS en los que se ejecuta la base de datos SAP ASE. Si hay varias bases de datos por cuenta, recomendamos que cree un grupo de recursos que incluya los recursos de AWS para cada sistema de base de datos SAP ASE. 
+ **Permisos de IAM**: para usuarios no administradores:
  +  Debe crear una política de AWS Identity and Access Management (IAM) a fin de que Información de aplicaciones cree un rol vinculado al servicio y este se asocie a la identidad del usuario. Para obtener información sobre los pasos para asociar la política, consulte [Política de IAM de Información de aplicaciones de CloudWatch](appinsights-iam.md).
  + El usuario debe tener permiso para crear un secreto en AWS Secrets Manager para almacenar las credenciales de usuario de la base de datos. Para obtener más información, consulte [Ejemplo: permiso para crear secretos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_create).

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

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret"
          ],
          "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
        }
      ]
    }
    ```

------
+ **Rol vinculado al servicio:** Información de aplicaciones utiliza roles vinculados al servicio de AWS Identity and Access Management (IAM). Al crear su primera aplicación de Información de aplicaciones en la consola, Información de aplicaciones le crea el rol vinculado a un servicio. Para obtener más información, consulte [Uso de roles vinculados a un servicio para CloudWatch Application Insights](CHAP_using-service-linked-roles-appinsights.md).

## Configurar la supervisión de la base de datos SAP ASE
<a name="appinsights-tutorial-sap-ase-set-up"></a>

Para configurar la supervisión de la base de datos SAP ASE, siga los pasos a continuación:

1. [Abra la consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. Desde el panel de navegación izquierdo, en **Insights**, elija **Application Insights**.

1. En la página de **Application Insights** (Información de aplicaciones) observará la lista de aplicaciones que se supervisen con Información de aplicaciones y el estado de supervisión de cada aplicación. En la esquina superior derecha, elija **Add an application** (Agregar una aplicación).

1. En la página **Especificar detalles de la aplicación**, en la lista desplegable que se encuentra debajo de **Grupo de recursos**, seleccione el grupo de recursos de AWS que contiene los recursos de la base de datos SAP ASE. Si no ha creado un grupo de recursos para la aplicación, puede crear uno si selecciona **Create new resource group** (Crear nuevo grupo de recursos) debajo del menú desplegable de **Resource Groups** (grupo de recursos). Para obtener más información acerca de la creación de grupos de recursos, consulte la [https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html).

1. Debajo de **Monitor de Eventos de CloudWatch**, seleccione el casillero para integrar la supervisión de Información de aplicaciones con Eventos de CloudWatch y obtener información de Amazon EBS, Amazon EC2, AWS CodeDeploy, Amazon ECS, API y notificaciones de AWS Health, Amazon RDS, Amazon S3 y AWS Step Functions.

1. En **Integrate with AWS Systems Manager OpsCenter** (Integrar con el OpsCenter de SYSlong), seleccione la casilla de verificación junto a **Generate AWS Systems Manager OpsCenter OpsItems for remedial actions** (Generar OpsItems de OpsCenter de SYSlong para obtener acciones correctivas) a fin de ver y recibir notificaciones cuando se detecten problemas en las aplicaciones seleccionadas. Para realizar un seguimiento de las operaciones que se lleven a cabo para resolver elementos de trabajo operativos, denominados OpsItems, relacionados con sus recursos de AWS, proporcione el ARN del tema de SNS. 

1. Puede optar por ingresar etiquetas como ayuda para identificar y organizar sus recursos. Información de aplicaciones de CloudWatch es compatible con los grupos de recursos basados en etiquetas y en CloudFormation, excepto los grupos de Application Auto Scaling. Para obtener más información, consulte [Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) (Editor de etiquetas) en la *Guía del usuario de etiquetas y Grupos de recursos de AWS*. 

1. Elija **Next** (Siguiente) para continuar con la configuración de la supervisión.

1. En la página **Revisar componentes detectados** se enumeran los componentes supervisados y sus cargas de trabajo detectadas automáticamente por Información de aplicaciones de CloudWatch.
**nota**  
Los componentes que contienen una carga de trabajo detectada de alta disponibilidad de SAP ASE admiten solo una carga de trabajo en cada componente. Los componentes que contienen una carga de trabajo de un solo nodo de SAP ASE detectada admiten varias cargas de trabajo, pero no puede agregar ni eliminar cargas de trabajo. Se supervisarán todas las cargas de trabajo detectadas automáticamente.

1. Elija **Siguiente**.

1. En la página **Especificar detalles de componentes**, introduzca el nombre de usuario y la contraseña de sus bases de datos SAP ASE.

1. Revise la configuración de supervisión de aplicaciones y elija **Submit** (Enviar).

1. Se abrirá la página de detalles de la aplicación, donde podrá ver el **Resumen de aplicaciones**, la lista de **Componentes y cargas de trabajo supervisados** y **Componentes y cargas de trabajo no supervisados**. Si selecciona el botón de opción situado junto a un componente o carga de trabajo, también podrá visualizar el **Historial de configuración**, los **Patrones de registro** y cualquiera de las **Etiquetas** que ha creado. Una vez que envía la configuración, su cuenta implementa todas las métricas y alarmas de su sistema SAP ASE, lo que puede tardar hasta 2 horas. 

## Administrar la supervisión de su base de datos SAP ASE
<a name="appinsights-tutorial-sap-ase-manage"></a>

Puede administrar las credenciales de usuario, las métricas y las rutas de registro de la base de datos SAP ASE mediante los siguientes pasos:

1. [Abra la consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. Desde el panel de navegación izquierdo, en **Insights**, elija **Application Insights**.

1. En la página de **Application Insights** observará la lista de aplicaciones que se monitorean con Application Insights y el estado de monitoreo de cada aplicación. 

1. Debajo de **Monitored components** (Componentes supervisados), seleccione el botón de radio situado junto al nombre del componente. A continuación, elija **Manage monitoring** (Administrar supervisión).

1. Debajo de **Amazon EC2 instance group logs** (Registros de grupos de instancias de Amazon EC2), puede actualizar la ruta de registro existente, el conjunto de patrones de registro y el nombre del grupo de registros. Además, puede agregar hasta tres **Application logs** (Registros de aplicaciones) adicionales.

1. En **Métricas**, puede elegir las métricas de SAP ASE según sus requisitos. Los nombres de las métricas de SAP ASE llevan el prefijo `asedb`. Puede agregar hasta 60 métricas por componente.

1. En **Configuración de ASE**, ingrese el nombre de usuario y la contraseña de la base de datos SAP ASE. Estos son el nombre de usuario y la contraseña que utiliza el agente de Amazon CloudWatch para conectarse a la base de datos SAP ASE.

1. Debajo de **Alarmas personalizadas**, puede agregar alarmas adicionales para que Información de aplicaciones de CloudWatch las monitoree.

1. Revise la configuración de supervisión de aplicaciones y elija **Submit** (Enviar). Una vez que envíe la configuración, su cuenta actualizará todas las métricas y alarmas de su sistema SAP HANA, lo que puede tardar hasta 2 horas.

## Configurar el umbral de la alarma
<a name="appinsights-tutorial-sap-hana-configure-alarm-threshold"></a>

Información de aplicaciones de CloudWatch crea una métrica de Amazon CloudWatch de forma automática para que la alarma controle, junto con el umbral para dicha métrica. La alarma pasa al estado `ALARM ` cuando la métrica supera el umbral durante un número específico de periodos de evaluación. Tenga en cuenta que Información de aplicaciones no mantiene esta configuración.

Si desea editar una alarma para una sola métrica, siga los pasos a continuación:

1. [Abra la consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. En el panel de navegación izquierdo, elija **Alarms** (Alarmas) y luego, **All alarms** (Todas las alarmas).

1. Seleccione el botón de radio situado junto a la alarma que Información de aplicaciones de CloudWatch creó de forma automática. Luego, elija **Actions** (Acciones) y **Edit** (Editar) en el menú desplegable.

1. Edite los siguientes parámetros debajo de **Metric** (Métrica).

   1. Debajo de **Statistic** (Estadística), elija una de las estadísticas o percentiles predefinidos o especifique un percentil personalizado. Por ejemplo, `p95.45`.

   1. Debajo de **Period** (Periodo), elija el periodo de evaluación de la alarma. Al evaluar la alarma, se agrega cada uno de los periodos a un punto de datos.

1. Edite los siguientes parámetros de **Conditions** (Condiciones).

   1. Especifique si la métrica debe ser mayor, menor o igual al umbral. 

   1. Especifique el valor del umbral.

1. Debajo de **Additional configuration** (Configuración adicional), edite los siguientes parámetros.

   1. Debajo de **Datapoints to alarm** (Puntos de datos para iniciar la alarma), especifique el número de puntos de datos o periodos de evaluación que deben figurar en el estado `ALARM` para iniciar la alarma. Cuando los dos valores coinciden, se crea una alarma que entra en estado `ALARM` si se supera el número designado de periodos consecutivos. Para crear una alarma `m` de `n`, especifique un valor que sea menor para el primer punto de datos que para el segundo. Para obtener más información acerca de la evaluación de alarmas, consulte[Evaluación de alarmas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html#alarm-evaluation).

   1. Debajo de **Missing data treatment** (Tratamiento de datos faltantes), elija cómo debe comportarse la alarma cuando falten algunos puntos de datos. Para obtener más información acerca del tratamiento de datos faltantes, consulte [Configuring how CloudWatch alarms treat missing data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html#alarms-and-missing-data).(Configuración del tratamiento de las alarmas de CloudWatch ante datos faltantes).

   1. Si la alarma utiliza un percentil como estadística supervisada, aparece un cuadro **Percentiles with low samples (Percentiles con pocas muestras)**. Decida si evaluar o ignorar los casos con frecuencia de muestreo baja. Si elige **ignore (maintain alarm state) (ignorar (mantener el estado de alarma))**, el estado de alarma actual se mantiene siempre cuando el tamaño de la muestra es demasiado bajo. Para obtener más información acerca de los percentiles con muestreo bajo, consulte (Percentiles con muestreo bajo) [Muestras de datos reducidos y alarmas basadas en percentiles](percentiles-with-low-samples.md).

1. Elija **Siguiente**.

1. En **Notification (Notificación)**, seleccione el tema de SNS al que desee enviar la notificación cuando la alarma tenga el estado `ALARM`, `OK` o `INSUFFICIENT_DATA`.

1. Elija **Update alarm** (Actualizar alarma).

## Visualizar y solucionar los problemas de SAP ASE que detecte Información de aplicaciones
<a name="appinsights-tutorial-sap-ase-troubleshooting-problems"></a>

Esta sección detalla cómo resolver problemas que ocurren cuando configura la supervisión de SAP ASE en Información de aplicaciones.

**Errores del servidor de copia de seguridad de SAP ASE**  
Puede identificar el mensaje de error consultando el panel creado dinámicamente. El panel muestra el mensaje de error registrado en el servidor de copia de seguridad SAP ASE. Para obtener más información sobre los registros del servidor de copia de seguridad de SAP ASE, consulte la [documentación de registro de error del servidor de copia de seguridad de SAP](https://help.sap.com/docs/SAP_ASE/aa939a27edb34f019f71cc47b9c0fd9a/a7aeb8b1bc2b10149ccf99b95687a64c.html).

**Transacciones de SAP ASE de larga duración**  
Identifique la transacción de larga duración y confirme si se puede detener o si el tiempo de ejecución es intencional. Para obtener más información, consulte [2180410: ¿cómo mostrar los registros del registro de transacciones para las transacciones de larga duración? — SAP ASE](https://userapps.support.sap.com/sap/support/knowledge/en/2180410).

**Conexiones de usuario de SAP ASE**  
Compruebe si su base de datos SAP ASE tiene el tamaño adecuado para la carga de trabajo que pretende ejecutar en la base de datos. Para obtener más información, consulte [Configuración de las conexiones de usuario](https://help.sap.com/docs/help/061ec8a5739842df9e505d8944fae8e2/9ea258fceaaa496eb80e17d3d5694ff6.html) en la documentación de SAP.

**Espacio en disco de SAP ASE**  
Puede identificar la capa de la base de datos que está causando el problema si observa el panel creado de manera dinámica. El panel muestra las métricas relacionadas y los fragmentos de los archivos de registro. Es importante entender la causa del crecimiento del disco y, cuando proceda, aumentar el tamaño del disco físico, el espacio en disco asignado o ambos. Para obtener más información, consulte la [Documentación de SAP sobre el cambio de tamaño del disco](https://help.sap.com/docs/SAP_ASE/e0d4539d39c34f52ae9ef822c2060077/ab22db00bc2b1014ad3ce047bbf117d7.html) en la documentación de SAP.

## Solucionar problemas de Información de aplicaciones para SAP ASE
<a name="appinsights-tutorial-sap-ase-troubleshooting-health-dashboard"></a>

En esta sección se detallan los pasos a seguir para resolver los errores comunes que se presentan en el panel de Información de aplicaciones. 


| Error | Error devuelto | Causa raíz | Resolución | 
| --- | --- | --- | --- | 
|  No se pudieron agregar más de 60 métricas de supervisión.  |  `Component cannot have more than 60 monitored metric`  |  El límite de métricas actual es de 60 métricas supervisadas por componente.  |  Elimine las métricas innecesarias para cumplir con el límite.  | 
|  No aparecen métricas ni alarmas de SAP después del proceso de incorporación  |  El comando `run` del `AWS-ConfigureAWSPackage` devolvió un error en AWS Systems Manager. En el resultado, se observa el siguiente error: `CT-LIBRARY error:``ct_connect(): protocol specific layer: external error: The attempt to connect to the server failed`  |  Es posible que el nombre de usuario y la contraseña sean incorrectos.  |  Compruebe que el nombre de usuario y la contraseña sean válidos y vuelva a ejecutar el proceso de incorporación.  | 

# Tutorial: Configuración de la supervisión para SAP HANA
<a name="appinsights-tutorial-sap-hana"></a>

En este tutorial se detalla la configuración de Información de aplicaciones de CloudWatch para establecer la supervisión de sus bases de datos SAP HANA. Puede utilizar los paneles automáticos de Información de aplicaciones de CloudWatch para visualizar los detalles del problema, acelerar la solución de problemas y facilitar el tiempo medio de resolución (TMR) de sus bases de datos SAP HANA.

**Topics**
+ [Entornos compatibles](#appinsights-tutorial-sap-hana-supported-environments)
+ [Sistemas operativos compatibles](#appinsights-tutorial-sap-hana-supported-os)
+ [Características](#appinsights-tutorial-sap-hana-features)
+ [Requisitos previos](#appinsights-tutorial-sap-hana-prerequisites)
+ [Configuración de la supervisión](#appinsights-tutorial-sap-hana-set-up)
+ [Administración de la supervisión](#appinsights-tutorial-sap-hana-manage)
+ [Solución de problemas detectados](#appinsights-tutorial-sap-hana-troubleshooting)
+ [Detección de anomalías](#appinsights-tutorial-sap-hana-troubleshooting-anomaly-detection)
+ [Solución de problemas de Información de aplicaciones](#appinsights-tutorial-sap-hana-troubleshooting-health-dashboard)

## Entornos compatibles
<a name="appinsights-tutorial-sap-hana-supported-environments"></a>

Información de aplicaciones de CloudWatch es compatible con la implementación de recursos de AWS para los siguientes sistemas y patrones. Proporcione e instale el software de base de datos SAP HANA y el software de aplicación SAP compatible.
+ **Base de datos SAP HANA en una única instancia de Amazon EC2**: SAP HANA en una arquitectura escalable de un solo nodo, con un máximo de 24 TB de memoria.
+ **Base de datos SAP HANA en varias instancias de Amazon EC2**: SAP HANA en una arquitectura multinodo con escalado horizontal.
+ **Configuración de alta disponibilidad de bases de datos SAP HANA entre AZ**: SAP HANA con alta disponibilidad configurada en dos zonas de disponibilidad mediante clústeres SUSE/RHEL.

**nota**  
Información de aplicaciones de CloudWatch solo admite entornos SID HANA únicos. Si se adjuntan varios SID HANA, la supervisión se configurará solo para el primer SID detectado.

## Sistemas operativos compatibles
<a name="appinsights-tutorial-sap-hana-supported-os"></a>

Información de aplicaciones de CloudWatch para SAP HANA es compatible con la arquitectura x86-64 en los siguientes sistemas operativos:
+ SuSE Linux 12 SP4 para SAP
+ SuSE Linux 12 SP5 para SAP
+ SuSE Linux 15
+ SuSE Linux 15 SP1
+ SuSE Linux 15 SP2
+ SuSE Linux 15 para SAP
+ SuSE Linux 15 SP1 para SAP
+ SuSE Linux 15 SP2 para SAP
+ SuSE Linux 15 SP3 para SAP
+ SuSE Linux 15 SP4 para SAP
+ SuSE Linux 15 SP5 para SAP
+ RedHat Linux 8.6 para SAP con servicios de alta disponibilidad y actualización
+ RedHat Linux 8.5 para SAP con servicios de alta disponibilidad y actualización
+ RedHat Linux 8.4 para SAP con servicios de alta disponibilidad y actualización
+ RedHat Linux 8.3 para SAP con servicios de alta disponibilidad y actualización
+ RedHat Linux 8.2 para SAP con servicios de alta disponibilidad y actualización
+ RedHat Linux 8.1 para SAP con servicios de alta disponibilidad y actualización
+ RedHat Linux 7.9 para SAP con servicios de alta disponibilidad y actualización

## Características
<a name="appinsights-tutorial-sap-hana-features"></a>

Información de aplicaciones de CloudWatch para SAP HANA presenta las siguientes características:
+ detección automática de cargas de trabajo SAP HANA 
+ creación automática de alarmas SAP HANA basada en un umbral estático
+ creación automática de alarmas SAP HANA basada en la detección de anomalías
+ reconocimiento automático de patrones de registro de SAP HANA 
+ Panel de Health de SAP HANA
+ Panel de problemas de SAP HANA

## Requisitos previos
<a name="appinsights-tutorial-sap-hana-prerequisites"></a>

Debe completar los siguientes requisitos previos para configurar una base de datos SAP HANA con Información de aplicaciones de CloudWatch:
+ **SAP HANA**: instale una base de datos 2.0 SPS05 SAP HANA en ejecución y accesible en una instancia de Amazon EC2.
+ **Usuario de base de datos SAP HANA**: se debe crear un usuario de base de datos con roles de supervisión en la base de datos SYSTEM y en todos los inquilinos. 

**Ejemplo**  
Los siguientes comandos SQL crean un usuario con roles de supervisión.

  ```
  su - <sid>adm
  hdbsql -u SYSTEM -p <SYSTEMDB password> -d SYSTEMDB
  CREATE USER CW_HANADB_EXPORTER_USER PASSWORD <Monitoring user password> NO FORCE_FIRST_PASSWORD_CHANGE;
  CREATE ROLE CW_HANADB_EXPORTER_ROLE;
  GRANT MONITORING TO CW_HANADB_EXPORTER_ROLE;
  GRANT CW_HANADB_EXPORTER_ROLE TO CW_HANADB_EXPORTER_USER;
  ```
+ **Python 3.8**: instale Python 3.8 o versiones posteriores en su sistema operativo. Utilice la última versión de Python. Si Python3 no se detecta en el sistema operativo, se instalará Python 3.6. 

  Para obtener más información, consulte la [installation example](#install). 
**nota**  
Se requiere la instalación manual de Python 3.8 o superior para los sistemas operativos SuSE Linux 15 SP4, RedHat Linux 8.6 y versiones posteriores.
+ **Pip3**: instale el programa instalador, pip3, en su sistema operativo. Si no se detecta pip3 en el sistema operativo, se instalará.
+ **hdbclient**: Información de aplicaciones de CloudWatch utiliza el controlador Python para conectarse a la base de datos SAP HANA. Si el cliente no está instalado en python3, asegúrese de tener la versión `2.10 or later` del archivo tar de hdbclient en `/hana/shared/SID/hdbclient/`.
+ **Agente de Amazon CloudWatch**: asegúrese de no ejecutar un agente de CloudWatch preexistente en su instancia de Amazon EC2. Si tiene instalado el agente de CloudWatch, asegúrese de eliminar la configuración de los recursos que utiliza en Información de aplicaciones de CloudWatch del archivo de configuración del agente de CloudWatch existente para evitar un conflicto de fusión. Para obtener más información, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).
+ **Habilitación de AWS Systems Manager**: instale SSM Agent en sus instancias y las instancias deben estar habilitadas para SSM. Para obtener información acerca de la instalación de SSM Agent, consulte [Uso de SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) en la *Guía del usuario de AWS Systems Manager*.
+ **Roles de instancias de Amazon EC2**: debe adjuntar los siguientes roles de instancias de Amazon EC2 para configurar su base de datos.
  + Debe adjuntar el rol de `AmazonSSMManagedInstanceCore` para habilitar Systems Manager. Para obtener más información, consulte [Ejemplos de políticas basadas en identidades de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Debe adjuntar la `CloudWatchAgentServerPolicy` (política del servidor del agente de CloudWatch) para permitir que las métricas de instancias y los registros se emitan a través de CloudWatch. Consulte [Creación de roles de IAM y usuarios para utilizarlos con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html) para obtener más información.
  + Debe adjuntar la siguiente política inline de IAM al rol de instancia de Amazon EC2 para leer la contraseña almacenada en AWS Secrets Manager. Para obtener más información acerca de las políticas insertadas, consulte [Políticas insertadas ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) en la *Guía del usuario de AWS Identity and Access Management*.

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "secretsmanager:GetSecretValue"
                ],
                "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
            }
        ]
    }
    ```

------
+ **Grupos de recursos de AWS:** para incorporar las aplicaciones a Información de aplicaciones de CloudWatch, cree un grupo de recursos que incluya todos los recursos de AWS asociados que se utilicen en la pila de aplicaciones. Esto incluye instancias de Amazon EC2 y volúmenes de Amazon EBS en los que se ejecuta la base de datos SAP HANA. Si hay varias bases de datos por cuenta, le recomendamos que cree un grupo de recursos que incluya los recursos de AWS para cada sistema de base de datos SAP HANA. 
+ **Permisos de IAM**: para usuarios no administradores:
  +  Debe crear una política de AWS Identity and Access Management (IAM) a fin de que Información de aplicaciones cree un rol vinculado al servicio y este se asocie a la identidad del usuario. Para obtener información sobre los pasos para asociar la política, consulte [Política de IAM de Información de aplicaciones de CloudWatch](appinsights-iam.md).
  + El usuario debe tener permiso para crear un secreto en AWS Secrets Manager para almacenar las credenciales de usuario de la base de datos. Para obtener más información, consulte [Ejemplo: permiso para crear secretos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_create).

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

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret"
          ],
          "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
        }
      ]
    }
    ```

------
+ **Rol vinculado al servicio:** Información de aplicaciones utiliza roles vinculados al servicio de AWS Identity and Access Management (IAM). Al crear su primera aplicación de Información de aplicaciones en la consola, Información de aplicaciones le crea el rol vinculado a un servicio. Para obtener más información, consulte [Uso de roles vinculados a un servicio para CloudWatch Application Insights](CHAP_using-service-linked-roles-appinsights.md).

## Configuración de la base de datos SAP HANA para la supervisión
<a name="appinsights-tutorial-sap-hana-set-up"></a>

Para configurar la supervisión de la base de datos SAP HANA, siga los pasos a continuación

1. [Abra la consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. Desde el panel de navegación izquierdo, en **Insights**, elija **Application Insights**.

1. En la página de **Application Insights** (Información de aplicaciones) observará la lista de aplicaciones que se supervisen con Información de aplicaciones y el estado de supervisión de cada aplicación. En la esquina superior derecha, elija **Add an application** (Agregar una aplicación).

1. En la página **Specify application details** (Especificar detalles de la aplicación), en la lista desplegable que se encuentra debajo de **Resource Groups** (Grupo de recursos), seleccione el grupo de recursos de AWS que contiene los recursos de la base de datos SAP HANA. Si no ha creado un grupo de recursos para la aplicación, puede crear uno si selecciona **Create new resource group** (Crear nuevo grupo de recursos) debajo del menú desplegable de **Resource Groups** (grupo de recursos). Para obtener más información acerca de la creación de grupos de recursos, consulte la [https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html).

1. Debajo de **Monitor de Eventos de CloudWatch**, seleccione el casillero para integrar la supervisión de Información de aplicaciones con Eventos de CloudWatch y obtener información de Amazon EBS, Amazon EC2, AWS CodeDeploy, Amazon ECS, API y notificaciones de AWS Health, Amazon RDS, Amazon S3 y AWS Step Functions.

1. En **Integrate with AWS Systems Manager OpsCenter** (Integrar con el OpsCenter de SYSlong), seleccione la casilla de verificación junto a **Generate AWS Systems Manager OpsCenter OpsItems for remedial actions** (Generar OpsItems de OpsCenter de SYSlong para obtener acciones correctivas) a fin de ver y recibir notificaciones cuando se detecten problemas en las aplicaciones seleccionadas. Para realizar un seguimiento de las operaciones que se lleven a cabo para resolver elementos de trabajo operativos, denominados OpsItems, relacionados con sus recursos de AWS, proporcione el ARN del tema de SNS. 

1. Puede optar por ingresar etiquetas como ayuda para identificar y organizar sus recursos. Información de aplicaciones de CloudWatch es compatible con los grupos de recursos basados en etiquetas y en CloudFormation, excepto los grupos de Application Auto Scaling. Para obtener más información, consulte [Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) (Editor de etiquetas) en la *Guía del usuario de etiquetas y Grupos de recursos de AWS*. 

1. Elija **Next** (Siguiente) para continuar con la configuración de la supervisión.

1. En la página **Revisar componentes detectados** se enumeran los componentes supervisados y sus cargas de trabajo detectadas automáticamente por Información de aplicaciones de CloudWatch.

   1. Para añadir cargas de trabajo a un componente que contiene una carga de trabajo de nodo único de SAP HANA detectada, seleccione el componente y, a continuación, elija **Editar componente**.
**nota**  
Los componentes que contienen una carga de trabajo detectada de múltiples nodos o de alta disponibilidad de HANA de SAP HANA admiten solo una carga de trabajo en cada componente.  
![\[La página de revisión de componentes para la supervisión de la consola Información de aplicaciones de CloudWatch: seleccione el componente que desee editar.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-hana-review.png)

   1. Para añadir una nueva carga de trabajo, seleccione **Añadir nueva carga de trabajo**.  
![\[La sección de edición de componentes de la consola de Información de aplicaciones de CloudWatch: pulse el botón inferior izquierdo para añadir carga de trabajo.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-hana-edit.png)

   1. Cuando haya terminado de editar cargas de trabajo, elija **Guardar cambios**.

1. Elija **Siguiente**.

1. En la página **Especificar detalles de componentes**, introduzca el nombre y la contraseña del usuario.

1. Revise la configuración de supervisión de aplicaciones y elija **Submit** (Enviar).

1. Se abrirá la página de detalles de la aplicación, donde podrá ver el **Resumen de aplicaciones**, la lista de **Componentes y cargas de trabajo supervisados** y **Componentes y cargas de trabajo no supervisados**. Si selecciona el botón de opción situado junto a un componente o carga de trabajo, también podrá visualizar el **Historial de configuración**, los **Patrones de registro** y cualquiera de las **Etiquetas** que ha creado. Una vez que envía la configuración, su cuenta implementa todas las métricas y alarmas de su sistema SAP HANA, lo que puede tardar hasta 2 horas. 

## Administración de la supervisión de su base de datos SAP HANA
<a name="appinsights-tutorial-sap-hana-manage"></a>

Puede administrar las credenciales de usuario, las métricas y las rutas de registro de la base de datos SAP HANA si sigue los siguientes pasos:

1. [Abra la consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. Desde el panel de navegación izquierdo, en **Insights**, elija **Application Insights**.

1. En la página de **Application Insights** observará la lista de aplicaciones que se monitorean con Application Insights y el estado de monitoreo de cada aplicación. 

1. Debajo de **Monitored components** (Componentes supervisados), seleccione el botón de radio situado junto al nombre del componente. A continuación, elija **Manage monitoring** (Administrar supervisión).

1. Debajo de **Amazon EC2 instance group logs** (Registros de grupos de instancias de Amazon EC2), puede actualizar la ruta de registro existente, el conjunto de patrones de registro y el nombre del grupo de registros. Además, puede agregar hasta tres **Application logs** (Registros de aplicaciones) adicionales.

1. Debajo de **Metrics** (Métricas), puede elegir las métricas de SAP HANA según sus requisitos. Los nombres de métricas de SAP HANA llevan el prefijo `hanadb`. Puede agregar hasta 40 métricas por componente.

1. Debajo de **HANA Configuration** (Configuración de HANA), ingrese el nombre de usuario y la contraseña de la base de datos SAP HANA. Deberá ingresar el nombre de usuario y la contraseña que utiliza el agente de Amazon CloudWatch para conectarse a la base de datos SAP HANA.

1. Debajo de **Alarmas personalizadas**, puede agregar alarmas adicionales para que Información de aplicaciones de CloudWatch las supervise.

1. Revise la configuración de supervisión de aplicaciones y elija **Submit** (Enviar). Una vez que envíe la configuración, su cuenta actualizará todas las métricas y alarmas de su sistema SAP HANA, lo que puede tardar hasta 2 horas.

## Visualización y solución de los problemas que detecte Información de aplicaciones de CloudWatch
<a name="appinsights-tutorial-sap-hana-troubleshooting"></a>

En las siguientes secciones se detallan los pasos a seguir para resolver escenarios comunes de solución de problemas que se llevan a cabo al configurar el supervisión de SAP HANA en Información de aplicaciones.

**Topics**
+ [Base de datos SAP HANA con límite de asignación](#appinsights-tutorial-sap-hana-troubleshooting-memory)
+ [Evento de disco lleno](#appinsights-tutorial-sap-hana-troubleshooting-disk-full)
+ [La copia de seguridad de SAP HANA se detuvo](#appinsights-tutorial-sap-hana-troubleshooting-backup-stopped)

### Base de datos SAP HANA con límite de asignación
<a name="appinsights-tutorial-sap-hana-troubleshooting-memory"></a>

**Descripción**  
Su aplicación SAP respaldada por una base de datos SAP HANA presenta fallas de funcionamiento debido a la alta presión de la memoria, lo que provoca un deterioro del rendimiento de las aplicaciones.

**Resolución**  
Puede identificar la capa de la aplicación que está causando el problema si observa el panel creado de manera dinámica que muestra las métricas relacionadas y fragmentos de los archivos de registro. En el siguiente ejemplo, el problema puede deberse a una gran carga de datos en el sistema SAP HANA.

![\[Se excedió la asignación de memoria.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-memory-allocation-1.png)


La asignación de memoria utilizada supera el umbral del 80 por ciento del límite total de asignación de memoria.

![\[Grupo de registros sin memoria.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-memory-allocation-2.png)


En el grupo de registros se visualiza el esquema `BNR-DATA` y la tabla `IMDBMASTER_30003` que se ha quedado sin memoria. Además, en el grupo de registros se visualiza la hora exacta del problema, el límite de ubicación global actual, la memoria compartida, el tamaño del código y el tamaño de asignación de reservas OOM.

![\[Texto del grupo de registros.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-memory-allocation-3.png)


### Evento de disco lleno
<a name="appinsights-tutorial-sap-hana-troubleshooting-disk-full"></a>

**Descripción**  
La aplicación SAP respaldada por una base de datos SAP HANA deja de responder, lo que provoca la imposibilidad de acceder a la base de datos.

**Resolución**  
Puede identificar la capa de la base de datos que está causando el problema si observa el panel creado de manera dinámica que muestra las métricas relacionadas y fragmentos de los archivos de registro. En el siguiente ejemplo, el problema puede ser que el administrador no pudo habilitar la copia de seguridad automática de registros, lo que provocó que se llenara el directorio sap/hana/log.

![\[Grupo de registros sin memoria.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-disk-full-1.png)


En el widget de grupo de registros en el panel de problemas se visualiza el evento `DISKFULL` (disco lleno).

![\[Grupo de registros sin memoria.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-disk-full-2.png)


### La copia de seguridad de SAP HANA se detuvo
<a name="appinsights-tutorial-sap-hana-troubleshooting-backup-stopped"></a>

**Descripción**  
La aplicación SAP respaldada por una base de datos SAP HANA dejó de funcionar.

**Resolución**  
Puede identificar la capa de la base de datos que está causando el problema si observa el panel creado de manera dinámica que muestra las métricas relacionadas y fragmentos de los archivos de registro. 

En el widget de grupo de registros en el panel de problemas se visualiza el evento `ACCESS DENIED` (acceso denegado). Esto incluye información adicional, como el bucket de Amazon S3, la carpeta del bucket de Amazon S3 y la región del bucket de Amazon S3.

![\[Grupo de registros sin memoria.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-backup-stopped-2.png)


## Detección de anomalías de SAP HANA
<a name="appinsights-tutorial-sap-hana-troubleshooting-anomaly-detection"></a>

En el caso de métricas específicas de SAP HANA, como el número de recuentos de procesos, CloudWatch utiliza algoritmos estadísticos y de machine learning para definir el umbral. Con estos algoritmos se analizan las métricas de la base de datos SAP HANA, se determinan los valores de referencia normales y se detectan anomalías con una intervención mínima del usuario de forma continua. Los algoritmos generan un modelo de detección de anomalías, lo que genera un intervalo de valores esperados que representan el comportamiento normal de la métrica.

Los algoritmos de detección de anomalías dan cuenta de la estacionalidad y los cambios de tendencia de las métricas. Los cambios de estacionalidad pueden ser por hora, por día o por semana, como se muestra en los siguientes ejemplos del uso de la CPU de SAP HANA.

![\[Grupo de registros sin memoria.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-anomaly-detection.png)


Después de crear un modelo, la detección de anomalías de CloudWatch evalúa el modelo y realiza ajustes de forma continua para garantizar que sea lo más preciso posible. Esto incluye volver a entrenar el modelo para ajustarlo si los valores de las métricas evolucionan con el tiempo o experimentan cambios repentinos. También incluye indicadores para mejorar los modelos de métricas estacionales, con picos o estables.

## Solución de problemas de Información de aplicaciones para SAP HANA
<a name="appinsights-tutorial-sap-hana-troubleshooting-health-dashboard"></a>

En esta sección se detallan los pasos a seguir para resolver los errores comunes que se presentan en el panel de Información de aplicaciones. 

### No se pueden agregar más de 60 métricas supervisadas
<a name="cant-add-greater-sixty-metrics"></a>

En el resultado, se observa el siguiente error.

```
Component cannot have more than 60 monitored metrics
```

**Causa raíz**: el límite de métricas actual es de 60 métricas supervisadas por componente.

**Resolución**: para mantenerse por debajo del límite, elimine las métricas que no sean necesarias.

### No aparecen métricas de SAP después del proceso de incorporación
<a name="no-sap-metrics-appear"></a>

Utilice la siguiente información para descubrir por qué las métricas de SAP no aparecen en el panel después del proceso de incorporación. El primer paso es solucionar el problema por el que las métricas de SAP no aparecen utilizando los registros de la Consola de administración de AWS o del exportador de una instancia de Amazon EC2. A continuación, revise el resultado del error para encontrar una solución.

#### Solución del problema por el que las métricas de SAP no aparecen después de la incorporación
<a name="w2aac26c20c27c27b7b5"></a>

Puede utilizar los registros de la Consola de administración de AWS o los registros del exportador de una instancia de Amazon EC2 para solucionar problemas.

------
#### [ Consola de administración de AWS ]

**Solución del problema por el que las métricas de SAP no aparecen después de la incorporación usando la consola**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación izquierdo, elija **Administrador de estado**.

1. En **Asociaciones**, compruebe el estado del documento `AWSEC2-ApplicationInsightsCloudwatchAgentInstallAndConfigure`. Si el estado es `Failed`, en **ID de ejecución**, seleccione el identificador fallido y visualice el resultado.

1. En **Asociaciones**, compruebe el estado del documento `AWS-ConfigureAWSPackage`. Si el estado es `Failed`, en **ID de ejecución**, seleccione el identificador fallido y visualice el resultado.

------
#### [ Exporter logs from Amazon EC2 instance ]

**Solución del problema por el que las métricas de SAP no aparecen después de la incorporación utilizando los registros del exportador**

1. Conecte la instancia de Amazon EC2 en la que se ejecuta su base de datos SAP HANA.

1. <a name="step-find-short-name"></a>Encuentre la convención de nomenclatura correcta de `WORKLOAD_SHORT_NAME` mediante el siguiente comando. Utilizará este nombre corto en los dos pasos siguientes. 

   ```
   sudo systemctl | grep exporter
   ```
**nota**  
Información de aplicaciones agrega el sufijo `WORKLOAD_SHORT_NAME` al nombre del servicio en función de la carga de trabajo que se esté ejecutando. Los nombres abreviados de las implementaciones de nodo único, múltiples nodos y alta disponibilidad de SAP HANA son `HANA_SN`, `HANA_MN` y `HANA_HA`.

1. Para verificar si hay errores en los registros del servicio del administrador del exportador, ejecute el siguiente comando reemplazando `WORKLOAD_SHORT_NAME` por el nombre corto que encontró en [Step 2](#step-find-short-name).

   ```
   sudo journalctl -e --unit=prometheus-hanadb_exporter_manager_WORKLOAD_SHORT_NAME.service
   ```

1. Si los registros del servicio del administrador del exportador no muestran ningún error, ejecute el siguiente comando para comprobar si hay errores en los registros del servicio del exportador.

   ```
   sudo journalctl -e --unit=prometheus-hanadb_exporter_WORKLOAD_SHORT_NAME.service
   ```

------

#### Resolución de las causas principales más comunes por las que las métricas de SAP no aparecen después de la incorporación
<a name="resolve-root-causes-sap-metrics"></a>

Los siguientes ejemplos describen cómo resolver las causas principales comunes por las que las métricas de SAP no aparecen después de la incorporación.
+ En el resultado, se observa el siguiente error.

  ```
  Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/default ...
  Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/ssm_AmazonCloudWatch-ApplicationInsights-SSMParameterForTESTCWEC2INSTANCEi0d88867f1f3e36285.tmp ...
  2023/11/30 22:25:17 Failed to merge multiple json config files.
  2023/11/30 22:25:17 Failed to merge multiple json config files.
  2023/11/30 22:25:17 Under path : /metrics/append_dimensions | Error : Different values are specified for append_dimensions
  2023/11/30 22:25:17 Under path : /metrics/metrics_collected/disk | Error : Different values are specified for disk
  2023/11/30 22:25:17 Under path : /metrics/metrics_collected/mem | Error : Different values are specified for mem
  2023/11/30 22:25:17 Configuration validation first phase failed. Agent version: 1.0. Verify the JSON input is only using features supported by this version.
  ```

  **Resolución**: Información de aplicaciones está intentando configurar las mismas métricas que están preconfiguradas como parte del archivo de configuración del agente de CloudWatch existente. Elimine los archivos existentes en `/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/` o elimine las métricas que están causando el conflicto del archivo de configuración del agente de CloudWatch existente.
+ En el resultado, se observa el siguiente error.

  ```
  Unable to find a host with system database, for more info rerun using -v
  ```

  **Resolución**: es posible que el nombre de usuario, la contraseña o el puerto de la base de datos sean incorrectos. Compruebe que el nombre de usuario, la contraseña y el puerto sean válidos y luego vuelva a ejecutar el proceso de incorporación.
+ En el resultado, se observa el siguiente error.

  ```
  This hdbcli installer is not compatible with your Python interpreter
  ```

  **Resolución**: actualice pip3 y wheel como se muestra en el siguiente ejemplo para Python 3.6.

  ```
  python3.6 -m pip install --upgrade pip setuptools wheel
  ```
+ En el resultado, se observa el siguiente error.

  ```
  Unable to install hdbcli using pip3. Please try to install it
  ```

  **Resolución**: asegúrese de cumplir con los requisitos previos de `hdbclient` o instale `hdbclient` manualmente en pip3.
+ En el resultado, se observa el siguiente error.

  ```
  Package 'boto3' requires a different Python: 3.6.15 not in '>= 3.7'
  ```

  **Resolución**: se requiere Python 3.8 o superior para esta versión del sistema operativo. Compruebe los requisitos previos de Python 3.8 e instálelo.
+ En el resultado se observa uno de los siguientes errores de instalación.

  ```
  Can not execute `setup.py` since setuptools is not available in the build environment
  ```

  o

  ```
  [SSL: CERTIFICATE_VERIFY_FAILED]
  ```

  **Resolución**: instale Python utilizando los comandos de SUSE Linux como se muestra en el siguiente ejemplo. El ejemplo siguiente instala la versión más reciente de [Python 3.8](https://www.python.org/downloads/).

  ```
  wget https://www.python.org/ftp/python/3.8.<LATEST_RELEASE>/Python-3.8.<LATEST_RELEASE>.tgz
  tar xf Python-3.*
  cd Python-3.*/
  sudo zypper install make gcc-c++ gcc automake autoconf libtool
  sudo zypper install zlib-devel
  sudo zypper install libopenssl-devel libffi-devel
  ./configure --with-ensurepip=install 
  sudo make
  sudo make install
  sudo su 
  python3.8 -m pip install --upgrade pip setuptools wheel
  ```

# Tutorial: Configuración de la supervisión para SAP NetWeaver
<a name="appinsights-tutorial-sap-netweaver"></a>

En este tutorial se detalla la configuración de Información de aplicaciones de Amazon CloudWatch para establecer la supervisión de sus bases de datos SAP NetWeaver. Puede usar los paneles automáticos de Información de aplicaciones de CloudWatch para visualizar los detalles del problema, acelerar la solución de problemas y facilitar el tiempo medio de resolución (TMR) de los servidores de aplicación de SAP NetWeaver.

**Topics**
+ [Entornos compatibles](#appinsights-tutorial-sap-netweaver-supported-environments)
+ [Sistemas operativos compatibles](#appinsights-tutorial-sap-netweaver-supported-os)
+ [Características](#appinsights-tutorial-sap-netweaver-features)
+ [Requisitos previos](#appinsights-tutorial-sap-netweaver-prerequisites)
+ [Configuración de la supervisión](#appinsights-tutorial-sap-netweaver-set-up)
+ [Administración de la supervisión](#appinsights-tutorial-sap-netweaver-manage)
+ [Solución de problemas](#appinsights-tutorial-sap-netweaver-troubleshooting)
+ [Solución de problemas de Información de aplicaciones](#appinsights-tutorial-sap-netweaver-troubleshooting-health-dashboard)

## Entornos compatibles
<a name="appinsights-tutorial-sap-netweaver-supported-environments"></a>

Información de aplicaciones de CloudWatch es compatible con la implementación de recursos de AWS para los siguientes sistemas y patrones. 
+ **Implementación del sistema SAP NetWeaver Standard.**
+ **Implementaciones distribuidas de SAP NetWeaver en varias instancias de Amazon EC2.**
+ **Configuración de alta disponibilidad de SAP NetWeaver entre zonas de disponibilidad**: SAP NetWeaver con alta disponibilidad configurada entre dos zonas de disponibilidad mediante clústeres SUSE/RHEL.

## Sistemas operativos compatibles
<a name="appinsights-tutorial-sap-netweaver-supported-os"></a>

Información de aplicaciones de CloudWatch para SAP NetWeaver es compatible con los siguientes sistemas operativos:
+ Oracle Linux 8
+ Red Hat Enterprise Linux 7.6
+ Red Hat Enterprise Linux 7.7
+ Red Hat Enterprise Linux 7.9
+ Red Hat Enterprise Linux 8.1
+ Red Hat Enterprise Linux 8.2
+ Red Hat Enterprise Linux 8.4
+ Red Hat Enterprise Linux 8.6
+ SUSE Linux Enterprise Server 15 para SAP
+ SUSE Linux Enterprise Server 15 SP1 para SAP
+ SUSE Linux Enterprise Server 15 SP2 para SAP
+ SUSE Linux Enterprise Server 15 SP3 para SAP
+ SUSE Linux Enterprise Server 15 SP4 para SAP
+ SUSE Linux Enterprise Server 12 SP4 para SAP
+ SUSE Linux Enterprise Server 12 SP5 para SAP
+ SUSE Enterprise Server 15, excepto patrones de alta disponibilidad
+ SUSE Enterprise Server 15 SP1, excepto patrones de alta disponibilidad
+ SUSE Enterprise Server 15 SP2, excepto patrones de alta disponibilidad
+ SUSE Enterprise Server 15 SP3, excepto patrones de alta disponibilidad
+ SUSE Enterprise Server 15 SP4, excepto patrones de alta disponibilidad
+ SUSE Enterprise Server 12 SP4, excepto patrones de alta disponibilidad
+ SUSE Enterprise Server 12 SP5, excepto patrones de alta disponibilidad

## Características
<a name="appinsights-tutorial-sap-netweaver-features"></a>

Información de aplicaciones de CloudWatch para SAP NetWeaver 7.0x-7.5x (incluida la plataforma ABAP) ofrece las siguientes características:
+ Detección automática de cargas de trabajo de SAP NetWeaver 
+ Creación automática de alarmas de SAP NetWeaver basada en umbrales estáticos
+ Reconocimiento automático de patrones de registro de SAP NetWeaver 
+ Panel de estado de SAP NetWeaver
+ Panel de problemas de SAP NetWeaver

## Requisitos previos
<a name="appinsights-tutorial-sap-netweaver-prerequisites"></a>

Debe completar los siguientes requisitos previos para configurar una base de datos SAP NetWeaver con Información de aplicaciones de CloudWatch:
+ **Habilitación de Systems Manager de AWS**: instale SSM Agent en sus instancias de Amazon EC2 y habilite las instancias para SSM. Para obtener información acerca de la instalación de SSM Agent, consulte [Configurar AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html) en la *Guía de usuario de AWSSystems Manager*.
+ **Roles de instancias de Amazon EC2**: debe adjuntar los siguientes roles de instancia de Amazon EC2 para configurar la supervisión de SAP NetWeaver.
  + Debe adjuntar el rol de `AmazonSSMManagedInstanceCore` para habilitar Systems Manager. Para obtener más información, consulte [Ejemplos de políticas basadas en identidades de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Debe adjuntar la política `CloudWatchAgentServerPolicy` para permitir que las métricas y registros de instancias se emitan a través de CloudWatch. Consulte [Creación de roles de IAM y usuarios para utilizarlos con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html) para obtener más información.
+ **Grupos de recursos de AWS:** para incorporar las aplicaciones a Información de aplicaciones de CloudWatch, cree un grupo de recursos que incluya todos los recursos de AWS asociados que se utilicen en la pila de aplicaciones. Esto incluye instancias de Amazon EC2 y volúmenes de Amazon EFS y de Amazon EBS en los que se ejecuten los servidores de aplicación de SAP NetWeaver. Si hay varios sistemas de SAP NetWeaver por cuenta, le recomendamos que cree un grupo de recursos que incluya los recursos de AWS para cada sistema de SAP NetWeaver. Para obtener más información acerca de la creación de grupos de recursos, consulte la *[Guía del usuario de grupos de recursos y etiquetas de AWS](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html)*.
+ **Permisos de IAM**: en el caso de los usuarios que no sean administradores, debe crear una política de AWS Identity and Access Management (IAM) a fin de que Información de aplicaciones cree un rol vinculado al servicio y este se asocie a la identidad del usuario. Para obtener información acerca de la creación de una política, consulte [Política de IAM)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-iam.html).
+ **Rol vinculado al servicio:** Información de aplicaciones utiliza roles vinculados al servicio de AWS Identity and Access Management (IAM). Al crear su primera aplicación de Información de aplicaciones en la consola, Información de aplicaciones le crea el rol vinculado a un servicio. Para obtener más información, consulte [Uso de roles vinculados a un servicio para CloudWatch Application Insights](CHAP_using-service-linked-roles-appinsights.md).
+ **Agente de Amazon CloudWatch**: Información de aplicaciones instala y configura el agente de CloudWatch. Si tiene instalado el agente de CloudWatch, Información de aplicaciones conserva su configuración. Para evitar un conflicto de fusión, elimine la configuración de los recursos que desee utilizar en Información de aplicaciones del archivo de configuración del agente de CloudWatch existente. Para obtener más información, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).

## Configuración de los servidores de aplicaciones de SAP NetWeaver para la supervisión
<a name="appinsights-tutorial-sap-netweaver-set-up"></a>

Siga los siguientes pasos para configurar la supervisión de los servidores de aplicaciones de SAP NetWeaver.

**Configuración de la supervisión**

1. Abra la [consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. En el panel de navegación izquierdo, en **Insights** (Información), seleccione **Application Insights** (Información de aplicaciones).

1. En la página de **Información de aplicaciones** observará la lista de aplicaciones que se supervisen con Información de aplicaciones y el estado de supervisión de cada aplicación. En la esquina superior derecha, seleccione **Add an application** (Agregar una aplicación).

1. En la página **Specify application details** (Especificar detalles de la aplicación), en la lista desplegable que se encuentra debajo de **Resource Groups** (Grupos de recursos), seleccione el grupo de recursos de AWS que creó y que contiene los recursos de SAP NetWeaver. Si no ha creado un grupo de recursos para la aplicación, puede crear uno si selecciona **Create new resource group** (Crear nuevo grupo de recursos) en el menú desplegable de **Resource Groups**. 

1. En **Automatic monitoring of new resources** (Monitoreo automático de nuevos recursos), active la casilla de verificación para permitir que Información de la aplicación supervise automáticamente los recursos que se agregan al grupo de recursos de la aplicación tras realizar la incorporación. 

1. En **Monitor EventBridge Events** (Monitor de EventBridge Events), seleccione el casillero para integrar la supervisión de Información de aplicaciones con CloudWatch Events y obtener información de Amazon EBS, Amazon EC2, AWS CodeDeploy, Amazon ECS, API y notificaciones de AWS Health, Amazon RDS, Amazon S3 y AWS Step Functions.

1. En **Integrate with AWS Systems Manager OpsCenter** (Integrar con el OpsCenter de SYSlong), seleccione la casilla de verificación junto a **Generate AWS Systems Manager OpsCenter OpsItems for remedial actions** (Generar OpsItems de OpsCenter de SYSlong para obtener acciones correctivas) a fin de ver y recibir notificaciones cuando se detecten problemas en las aplicaciones seleccionadas. Para realizar un seguimiento de las operaciones que se lleven a cabo para resolver elementos de trabajo operativos, denominados [OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started-sns.html), relacionados con sus recursos de AWS, proporcione el ARN del tema de SNS. 

1. Puede optar por ingresar etiquetas como ayuda para identificar y organizar sus recursos. Información de aplicaciones de CloudWatch es compatible con los grupos de recursos basados en etiquetas y en CloudFormation, excepto los grupos de Application Auto Scaling. Para obtener más información, consulte [Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) (Editor de etiquetas) en la *Guía del usuario de etiquetas y Grupos de recursos de AWS*. 

1. **Para revisar los componentes detectados, seleccione Siguiente**.

1. En la página **Revisar componentes detectados** se enumeran los componentes supervisados y sus cargas de trabajo detectadas automáticamente por Información de aplicaciones de CloudWatch. 

   1. Para editar el tipo y el nombre de la carga de trabajo, elija **Editar componente**.
**nota**  
Los componentes que contienen una carga de trabajo NetWeaver Distributed o NetWeaver High Availability detectada admiten solo una carga de trabajo en un componente.  
![\[La sección de revisión de los componentes detectados de la consola de Información de aplicaciones de CloudWatch: lista de componentes que se pueden editar.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-netweaver.png)

1. Elija **Siguiente**.

1. En la página **Specify component details** (Especificación de los detalles del componente), elija **Next** (Siguiente).

1. Revise la configuración de supervisión de aplicaciones y elija **Enviar**.

1. Se abrirá la página de detalles de la aplicación, donde podrá ver el **Resumen de la aplicación**, el **Panel**, los **Componentes** y las **Cargas de trabajo**. También podrá ver el **Configuration history** (Historial de configuración), los **Log patterns** (Patrones de registro) y cualquiera de las **Tags** (Etiquetas) que haya creado. Una vez que envíe la solicitud, Información de aplicaciones de CloudWatch implementa todas las métricas y alarmas de su sistema SAP NetWeaver, lo que puede tardar hasta una hora.

## Administración de la supervisión de los servidores de aplicaciones de SAP NetWeaver
<a name="appinsights-tutorial-sap-netweaver-manage"></a>

Siga los siguientes pasos para administrar la supervisión de los servidores de aplicaciones de SAP NetWeaver.

**Administración de la supervisión**

1. Abra la [consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. En el panel de navegación izquierdo, en **Insights** (Información), seleccione **Application Insights** (Información de aplicaciones).

1. Seleccione la pestaña **List view** (Vista de lista).

1. En la página de **Información de aplicaciones** observará la lista de aplicaciones que se supervisen con Información de aplicaciones y el estado de supervisión de cada aplicación.

1. Seleccione la aplicación.

1. Elija la pestaña **Components** (Componentes).

1. Debajo de **Monitored components** (Componentes supervisados), seleccione el botón de radio situado junto al nombre del componente. A continuación, seleccione **Manage monitoring** (Administrar el monitoreo).

1. En **Instance logs** (Registros de instancias), puede actualizar la ruta de registro existente, el conjunto de patrones de registro y el nombre del grupo de registro. Además, puede agregar hasta tres **Application logs** (Registros de aplicaciones) adicionales.

1. En **Metrics** (Métricas), puede elegir las métricas de SAP NetWeaver según sus requisitos. Los nombres de métricas de SAP NetWeaver llevan el prefijo `sap`. Puede agregar hasta 40 métricas por componente.

1. Debajo de **Custom alarms** (Alarmas personalizadas), puede agregar alarmas adicionales para que Información de aplicaciones de CloudWatch las monitoree.

1. Revise la configuración de supervisión de aplicaciones y elija **Save** (Guardar). Una vez que envíe la configuración, su cuenta actualizará todas las métricas y alarmas de sus sistemas SAP NetWeaver.

## Visualización y solución de los problemas de SAP NetWeaver que detecte Información de aplicaciones de CloudWatch
<a name="appinsights-tutorial-sap-netweaver-troubleshooting"></a>

En las siguientes secciones se detallan los pasos que se tienen que seguir para resolver escenarios comunes de solución de problemas que se llevan a cabo al configurar la supervisión de SAP NetWeaver en Información de aplicaciones.

**Topics**
+ [Problemas de conectividad de bases de datos de SAP NetWeaver](#appinsights-tutorial-sap-netweaver-troubleshooting-database)
+ [Problemas de disponibilidad de las aplicaciones de SAP NetWeaver](#appinsights-tutorial-sap-netweaver-troubleshooting-availability)

### Problemas de conectividad de bases de datos de SAP NetWeaver
<a name="appinsights-tutorial-sap-netweaver-troubleshooting-database"></a>

**Descripción**  
Su aplicación SAP NetWeaver tiene problemas de conectividad con la base de datos.

**Causa**  
Para identificar el problema de conectividad, vaya a la consola de Información de aplicaciones de CloudWatch y consulte el panel de problemas de Información de aplicaciones de SAP NetWeaver. Seleccione el enlace en **Problem summary** (Resumen del problema) para ver el problema específico.

![\[Panel de problemas detectados de Información de aplicaciones de CloudWatch con más información en la sección Detected problems (Problemas detectados) de la columna Problem summary (Resumen del problema).\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-1.png)


En el siguiente ejemplo, en **Problem summary** (Resumen del problema), el problema es SAP: Disponibilidad.

![\[Página de resumen del problema de Información de aplicaciones de CloudWatch en la sección Problem summary.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-2.png)


Inmediatamente después de la opción **Problem summary**, la sección **Insight** (Información) proporciona más contexto sobre el error y donde puede obtener más información sobre las causas del problema.

![\[Información sobre el problema para Información de aplicaciones de CloudWatch con información adicional sobre la causa del error.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-3.png)


En el mismo panel de problemas, puede ver las métricas y los registros relacionados que la opción de detección de problemas agrupó para que pueda aislar la causa del error. La métrica `sap_alerts_Availability` hace un seguimiento de la disponibilidad del sistema SAP NetWeaver a lo largo del tiempo. Puede utilizar el seguimiento histórico para correlacionar el momento en que la métrica inició un estado de error o superó el umbral de alarma. En el siguiente ejemplo, hay un problema de disponibilidad con el sistema SAP NetWeaver. El ejemplo muestra dos alarmas porque hay dos instancias del servidor de aplicaciones SAP y, debido a ello, se creó una alarma para cada instancia.

![\[La métrica de disponibilidad de SAP para Información de aplicaciones de CloudWatch tiene información adicional sobre el historial que indica cuándo se produjo el error.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-4.png)


Para obtener más información acerca de cada alarma, pase el ratón sobre el nombre de la métrica `sap_alerts_Availability`.

![\[Métrica de disponibilidad de SAP para Información de aplicaciones de CloudWatch con detalles adicionales sobre el error.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-5.png)


En el siguiente ejemplo, la métrica `sap_alerts_Database` muestra que la capa de base de datos tiene un problema o un error. Esta alarma indica que SAP NetWeaver ha tenido problemas para conectarse a su base de datos o para comunicarse con ella. 

![\[La métrica de base de datos de SAP para Información de aplicaciones de CloudWatch cuenta con un historial adicional que indica cuándo se produjo el error.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-6.png)


Dado que la base de datos es un recurso clave para SAP NetWeaver, es posible que reciba varias alarmas relacionadas cuando la base de datos tenga un problema o un error. En el siguiente ejemplo, las métricas `sap_alerts_FrontendResponseTime` y `sap_alerts_LongRunners` se inician porque la base de datos no está disponible.

![\[Las métricas adicionales de la base de datos SAP para Información de aplicaciones de CloudWatch se crearon debido a un error en la base de datos.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-7.png)


**Resolución**  
Información de aplicaciones supervisa el problema detectado cada hora. Si no hay nuevas entradas de registro relacionadas en sus archivos de registro de SAP NetWeaver, las entradas de registro más antiguas se considerarán resueltas. Debe corregir cualquier condición de error relacionada con las alarmas de CloudWatch. Una vez corregidas las condiciones de error, la alarma se resuelve cuando se recuperan las alarmas y los registros. Cuando se resuelvan todos los errores de registro y las alarmas de CloudWatch, Información de aplicaciones deja de detectar errores y el problema se resuelve automáticamente en una hora. Le recomendamos que resuelva todas las condiciones de error y las alarmas del registro para ver los problemas más recientes en el panel de problemas.

En el siguiente ejemplo, el problema de disponibilidad de SAP se resolvió.

![\[El panel de problemas de Información de aplicaciones de CloudWatch tiene el problema de disponibilidad de SAP resuelto.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-resolved.png)


### Problemas de disponibilidad de las aplicaciones de SAP NetWeaver
<a name="appinsights-tutorial-sap-netweaver-troubleshooting-availability"></a>

**Descripción**  
Su replicación en cola de alta disponibilidad de SAP NetWeaver dejó de funcionar.

**Causa**  
Para identificar el problema de conectividad, vaya a la consola de Información de aplicaciones de CloudWatch y consulte el panel de problemas de Información de aplicaciones de SAP NetWeaver. Seleccione el enlace en **Problem summary** (Resumen del problema) para ver el problema específico.

![\[El panel de problemas en Información de aplicaciones de CloudWatch cuenta con más información en la opción Problem summary (Resumen del problema).\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-problem-dashboard.png)


En el siguiente ejemplo, en **Problem summary**, el problema es la replicación en cola de alta disponibilidad.

![\[Resumen del problema en Información de aplicaciones de CloudWatch con el error de disponibilidad de SAP: error de replicación en cola incluido.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-1.png)


Inmediatamente después de la opción **Problem summary**, la sección **Insight** (Información) proporciona más contexto sobre el error y donde puede obtener más información sobre las causas del problema.

![\[Información sobre el problema para Información de aplicaciones de CloudWatch con información adicional sobre la causa del error.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-2.png)


En el siguiente ejemplo se muestra el panel de problemas, donde puede ver los registros y las métricas que se hayan agrupado para que pueda aislar las causas del error. La métrica `sap_enqueue_server_replication_state` realiza un seguimiento del valor a lo largo del tiempo. Puede utilizar el seguimiento histórico para correlacionar el momento en que la métrica inició un estado de error o superó el umbral de alarma.

![\[Coloque en cola la métrica de estado de la replicación del servidor en el panel de problemas con información adicional sobre cuándo se produjo el error.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-3.png)


En el siguiente ejemplo, la métrica `ha_cluster_pacemaker_fail_count` muestra que el clúster de Pacemaker de alta disponibilidad sufrió un error en los recursos. Los recursos específicos de Pacemaker que tuvieron un recuento de errores superior o igual a uno se identifican en el panel de componentes.

![\[La métrica de disponibilidad de aplicaciones para Información de aplicaciones de CloudWatch del recurso de Pacemaker tiene un recuento de errores superior o igual a uno.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-4.png)


En el siguiente ejemplo se muestra la métrica `sap_alerts_Shortdumps`, que indica que el rendimiento de la aplicación SAP se redujo cuando se detectó el problema.

![\[Métrica de tipo Shortdumps de alerta de disponibilidad de la aplicación para Información de aplicaciones de CloudWatch.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-5.png)


#### Registros
<a name="ai-sap-netweaver-logs"></a>

Las entradas de registro son útiles para comprender mejor los problemas que se produjeron en la capa de SAP NetWeaver cuando se detectó el problema. En el widget del grupo de registros en el panel de problemas, puede ver la hora específica del problema.

![\[Las entradas de registro de Información de aplicaciones de CloudWatch muestran la hora exacta en que se produjeron los problemas.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-7.png)


Para ver información detallada sobre los registros, seleccione los tres puntos verticales de la esquina superior derecha y seleccione **View in CloudWatch Logs Insights** (Ver en Información de registros de Amazon).

![\[Detalles de Información de registros de Amazon CloudWatch con la opción View in CloudWatch Logs Insights (Ver en Información de registros de Amazon CloudWatch).\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-8.png)


Siga los siguientes pasos para obtener más información sobre las métricas y las alarmas que se muestran en el panel de problemas.

**Obtención de más información sobre las métricas y alarmas**

1. Abra la [consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. En el panel de navegación izquierdo, en **Insights** (Información), seleccione **Application Insights** (Información de aplicaciones). A continuación, elija la pestaña **List view** (Vista de lista) y seleccione su aplicación.

1. Seleccione la pestaña **Components** (Componentes). A continuación, seleccione el componente de SAP NetWeaver del que quiera obtener más información.

   En el siguiente ejemplo se muestra la sección **HA Metrics** (Métricas de alta disponibilidad) con la métrica `ha_cluster_pacemaker_fail_count` que se mostró en el panel de problemas.  
![\[Las métricas de alta disponibilidad de Información de aplicaciones de CloudWatch muestran el recuento de errores de los recursos de Pacemaker.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-9.png)

**Resolución**  
Información de aplicaciones supervisa el problema detectado cada hora. Si no hay nuevas entradas de registro relacionadas en sus archivos de registro de SAP NetWeaver, las entradas de registro más antiguas se considerarán resueltas. Debe corregir cualquier condición de error relacionada con este problema.

En el caso de la alarma `sap_alerts_Shortdumps`, debe resolver la alerta en el sistema SAP NetWeaver mediante el código de transacción `RZ20 → R3Abap → Shortdumps` para acceder a la alerta del CCMS. Para más información acerca de las alertas CCMS, consulte el [sitio web de SAP](https://help.sap.com/docs/SAP_NETWEAVER_701/6f45651d6c4b1014a50f9ef0fc8df39d/408dc4a7c415437a9b91d2ef6caa9d7d.html). Resuelva todas las alertas de CCMS en el árbol de Shortdumps. Una vez resueltas todas las alertas en el sistema SAP NetWeaver, CloudWatch ya no indica que la métrica está en estado de alarma.

Cuando se resuelvan todos los errores de registro y las alarmas de CloudWatch, Información de aplicaciones deja de detectar errores y el problema se resuelve automáticamente en una hora. Le recomendamos que resuelva todas las condiciones de error y las alarmas del registro para ver los problemas más recientes en el panel de problemas. En el siguiente ejemplo, se resuelve el problema de la replicación en cola de alta disponibilidad de SAP NetWeaver.

![\[El panel de problemas de Información de aplicaciones de CloudWatch muestra el problema de disponibilidad de SAP: replicación en cola, con un estado de resuelto.\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-problem-resolved.png)


## Solución de problemas de Información de aplicaciones para SAP NetWeaver
<a name="appinsights-tutorial-sap-netweaver-troubleshooting-health-dashboard"></a>

En esta sección se detallan los pasos a seguir para resolver los errores comunes que se presentan en el panel de Información de aplicaciones.

### No se han podido agregar más de 60 métricas de monitoreo
<a name="ai-unable-add-monitor-metrics"></a>

**Error devuelto**: `Component cannot have more than 60 monitored metrics.`

**Causa raíz**: `The current metric limit is 60 monitor metrics per component.`

**Resolución**: elimine las métricas que no sean necesarias para cumplir con el límite.

### Las métricas de SAP no aparecen en el panel después del proceso de incorporación
<a name="sap-metrics-not-on-dashboard"></a>

**Causa principal**: el panel de componentes utiliza un período métrico de cinco minutos para agregar los puntos de datos.

**Resolución**: todas las métricas deberían aparecer en el panel transcurridos cinco minutos.

### Las métricas y alarmas de SAP no aparecen en el panel
<a name="sap-metrics-and-alarms-not-on-dashboard"></a>

Siga los siguientes pasos para saber por qué las métricas y alarmas de SAP no aparecen en el panel después del proceso de incorporación. 

**Identificación del problema con métricas y alarmas**

1. Abra la [consola de CloudWatch](https://console.aws.amazon.com/cloudwatch).

1. En el panel de navegación izquierdo, en **Insights** (Información), seleccione **Application Insights** (Información de aplicaciones). A continuación, elija la pestaña **List view** (Vista de lista) y seleccione su aplicación.

1. Elija la pestaña **Configuration history** (Historial de configuración).

1. Si ve que faltan puntos de datos de métricas, compruebe si hay errores relacionados con `prometheus-sap_host_exporter`.

1. Si no encuentra ningún error en el paso anterior, [conéctese a su instancia de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html). En el caso de implementaciones de alta disponibilidad, conéctese a la instancia de Amazon EC2 del clúster principal.

1. En la instancia, compruebe que el exportador se esté ejecutando mediante el siguiente comando. El puerto predeterminado es `9680`. Si usa un puerto diferente, sustituya `9680` por el puerto que esté utilizando.

   ```
   curl localhost:9680/metrics
   ```

   Si no se devuelve ningún dato, quiere decir que el exportador no pudo iniciarse.

1. Para encontrar la convención de nomenclatura correcta de `WORKLOAD_SHORT_NAME` para utilizarla en los dos pasos siguientes, ejecute el siguiente comando.
**nota**  
Información de aplicaciones agrega el sufijo `WORKLOAD_SHORT_NAME` al nombre del servicio en función de la carga de trabajo que se esté ejecutando. Los nombres abreviados de las implementaciones distribuidas, estándar y de alta disponibilidad de NetWeaver son `SAP_NWD`, `SAP_NWS` y `SAP_NWH`.

   ```
   sudo systemctl | grep exporter
   ```

1. Ejecute el siguiente comando para verificar si hay errores en los registros de los servicios del exportador:

   ```
   sudo journalctl -e --unit=prometheus-sap_host_exporter_WORKLOAD_SHORT_NAME.service
   ```

1. Ejecute el siguiente comando para verificar si hay errores en los registros de los servicios del administrador:

   ```
   sudo journalctl -e --unit=prometheus-sap_host_exporter_manager_WORKLOAD_SHORT_NAME.service
   ```
**nota**  
Este servicio debe estar activo y en funcionamiento en todo momento.

   Si este comando no devuelve ningún error, vaya al siguiente paso.

1. Ejecute el siguiente comando para iniciar el exportador de forma manual. A continuación, compruebe la salida del exportador.

   ```
   sudo /opt/aws/sap_host_exporter/sap_host_exporter
   ```

   Puede salir del proceso de exportación después de comprobar si hay errores.

**Causa raíz**: existen varias causas posibles para este problema. Una causa común es que el exportador no puede conectarse a una de las instancias del servidor de aplicaciones.

**Resolución**

Siga los pasos siguientes para conectar el exportador a las instancias del servidor de aplicaciones. Podrá comprobar que la instancia de la aplicación SAP esté en ejecución y tendrá que usar SAPControl para conectarse a esta.

**Conexión del exportador a las instancias del servidor de aplicaciones**

1. En la instancia de Amazon EC2, ejecute el siguiente comando para comprobar que la aplicación SAP se ejecute. 

   ```
   sapcontrol -nr <App_InstNo> -function GetProcessList
   ```

1. Debe establecer una conexión SAPControl que funcione. Si la conexión de SAPControl no funciona, busque la causa raíz del problema en la instancia de la aplicación SAP correspondiente.

1. Para iniciar manualmente el exportador después de solucionar el problema de conexión a SAP Control, ejecute el siguiente comando:

   ```
   sudo systemctl start prometheus-sap_host_exporter.service
   ```

1. Si no puede resolver el problema con la conexión de SAPControl, use el procedimiento siguiente como solución temporal. 

   1. Abra la [consola de AWS Systems Manager](https://console.aws.amazon.com/systems-manager).

   1. En el panel de navegación izquierdo, elija **State Manager** (Administrador de estado).

   1. En **Associations** (Asociaciones), busque la asociación del sistema SAP NetWeaver.

      ```
      Association Name: Equal: AWS-ApplicationInsights-SSMSAPHostExporterAssociationForCUSTOMSAPNW<SID>-1
      ```

   1. Seleccione el **Association id** (ID de asociación).

   1. Elija la pestaña **Parameters** (Parámetros) y elimine el número del servidor de la aplicación del elemento **AdditionalArguments**.

   1. Seleccione **Apply Association Now** (Aplicar asociación ahora).
**nota**  
Recuerde que se trata de una solución temporal. Si se realizan actualizaciones en las configuraciones de supervisión del componente, la instancia se volverá a agregar.

# Visualización y solución de los problemas que Información de aplicaciones de Amazon CloudWatch haya detectado
<a name="appinsights-troubleshooting"></a>

En los temas de esta sección se observa información detallada sobre los problemas detectados y las observaciones que se muestran en Información de aplicaciones. También encontrará soluciones sugeridas para problemas detectados con su cuenta o su configuración.

**Topics**
+ [Información general de la consola de CloudWatch](#appinsights-troubleshooting-overview)
+ [Página de resumen de problemas de Información de aplicaciones](#appinsights-troubleshooting-problem-summary)
+ [Fallos en los conflictos de fusión de agentes de CloudWatch](#cwagent-merge-conflicts)
+ [Uso elevado de la CPU debido al procesamiento de registros de agentes de CloudWatch](#cwagent-high-cpu-usage)
+ [Las alarmas no se crean](#alarms-not-created)
+ [Comentarios](#appinsights-troubleshooting-feedback)
+ [Errores de configuración](#appinsights-configuration-errors)

## Información general de la consola de CloudWatch
<a name="appinsights-troubleshooting-overview"></a>

En el panel de Información de aplicaciones de CloudWatch que se encuentre en la página de información general de la [consola de Información de aplicaciones de CloudWatch](https://console.aws.amazon.com/cloudwatch), encontrará información general sobre los problemas que afecten a las aplicaciones monitoreadas.

En el panel de información general de Información de aplicaciones de CloudWatch observará lo siguiente:
+ la gravedad de los problemas detectados: alta/media/baja
+ Un breve resumen del problema
+ el origen del problema
+ La hora a la que comenzó el problema
+ El estado de resolución del problema
+ el grupo de recursos afectado.

Para ver los detalles de un problema específico, seleccione la descripción del problema en **Problem Summary** (Resumen del problema). Un panel detallado muestra información acerca del problema, las anomalías de las métricas relacionadas y fragmentos de los errores de registro. Puede brindar comentarios sobre la relevancia de la información si indica si le resulta útil.

En caso de que se detecte un nuevo recurso sin configurar, la descripción del resumen del problema lo llevará al asistente **Edit configuration** (Editar configuración) para que configure el nuevo recurso. Puede ver o editar la configuración de su grupo de recursos si selecciona **View/edit configuration** (Ver/editar configuración) en la esquina superior derecha del panel detallado.

Para volver a la información general, elija **Back to overview** (Volver a la información general), situada junto a la cabecera del panel detallado de Información de aplicaciones de CloudWatch.

## Página de resumen de problemas de Información de aplicaciones
<a name="appinsights-troubleshooting-problem-summary"></a>

**Página de resumen de problemas de Información de aplicaciones**  
En la página de resumen de problemas de Información de aplicaciones de CloudWatch, encontrará la siguiente información sobre los problemas detectados:
+ Un breve resumen del problema
+ La hora de inicio y la fecha del problema
+ La gravedad del problema: alta/media/baja
+ El estado del problema detectado: en curso/resuelto
+ Información: información generada automáticamente sobre el problema detectado y su posible causa raíz
+ Comentarios sobre la información: comentarios que haya proporcionado sobre la utilidad de la información que Información de aplicaciones de CloudWatch genera.
+ Observaciones relacionadas: una vista detallada de las anomalías de las métricas y fragmentos de errores de los registros pertinentes relacionados con el problema en los distintos componentes de la aplicación

## Fallos en los conflictos de fusión de agentes de CloudWatch
<a name="cwagent-merge-conflicts"></a>

Información de aplicaciones de CloudWatch instala y configura el agente CloudWatch en las instancias del cliente. Esto incluye la creación de un archivo de configuración del agente de CloudWatch con configuraciones para métricas o registros. Se puede producir un conflicto de fusión si la instancia de un cliente ya tiene un archivo de configuración del agente de CloudWatch con diferentes configuraciones definidas para las mismas métricas o registros. Para resolver el conflicto de fusión, siga estos pasos:

1. Identifique los archivos de configuración del agente de CloudWatch en su sistema. Para obtener más información acerca de las ubicaciones de los archivos, consulte [Archivos y ubicaciones del agente de CloudWatch](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-files-and-locations).

1. Elimine la configuración de los recursos que desee utilizar en Información de aplicaciones del archivo de configuración del agente de CloudWatch existente. Si solo desea utilizar las configuraciones de Información de aplicaciones, elimine los archivos de configuración del agente CloudWatch existentes.

## Uso elevado de la CPU debido al procesamiento de registros de agentes de CloudWatch
<a name="cwagent-high-cpu-usage"></a>

Información de aplicaciones de CloudWatch instala y configura el agente CloudWatch en las instancias del cliente. Si una instancia de Amazon EC2 está configurada con rutas de registro que contienen cantidades elevadas de datos de registro, es posible que la instancia experimente un aumento del uso de la CPU mientras el agente de CloudWatch procesa los registros. Para reducir el uso de la CPU, debe eliminar la ruta de registro en la configuración del [componente de la instancia de Amazon EC2](component-configuration-examples-ec2.md).

## Las alarmas no se crean
<a name="alarms-not-created"></a>

Para algunas métricas, Información de aplicaciones predice el umbral de alarma en función de los puntos de datos anteriores de la métrica. Para habilitar esta predicción, se deben cumplir los siguientes criterios.
+ **Puntos de datos recientes**: debe haber un mínimo de 100 puntos de datos de las últimas 24 horas. Los puntos de datos no necesitan ser continuos y pueden estar dispersos a lo largo de un período de 24 horas. 
+ **Datos históricos**: debe haber un mínimo de 100 puntos de datos que abarquen el período comprendido entre 15 días antes de la fecha actual y 1 día antes de la fecha actual. Los puntos de datos no necesitan ser continuos y pueden estar dispersos a lo largo de un período de 15 días. 

**nota**  
En el caso de algunas métricas, Información de aplicaciones retrasa la creación de alarmas hasta que se cumplan las condiciones anteriores. En este caso, aparece un evento en el historial de configuración en el que la métrica carece de puntos de datos suficientes para establecer el umbral de alarma.

## Comentarios
<a name="appinsights-troubleshooting-feedback"></a>

**Comentarios**

Puede proporcionar comentarios sobre la información generada automáticamente sobre los problemas detectados indicando si es útil o no es útil. Sus comentarios sobre la información, junto con los diagnósticos de la aplicación (anomalías de métricas y excepciones de registro), se utilizan para mejorar la detección de problemas similares en el futuro.

## Errores de configuración
<a name="appinsights-configuration-errors"></a>

Información de aplicaciones de CloudWatch utiliza su configuración para crear telemetrías de supervisión para los componentes. Cuando Información de aplicaciones detecta un problema con su cuenta o con la configuración, podrá encontrar información en el campo **Observaciones** sobre cómo resolver el problema de configuración de su aplicación. 

En la siguiente tabla se muestran las soluciones recomendadas para observaciones específicas.


| Observaciones | Resolución que se sugiere | Notas adicionales  | 
| --- | --- | --- | 
|  La cuota de CloudFormation ya se ha alcanzado.  |  Información de aplicaciones crea una pila de CloudFormation para cada aplicación para administrar la instalación y configuración de CloudWatch para todos los componentes de la aplicación. De forma predeterminada, cada cuenta de AWS puede tener 2000 pilas. Consulte [Límites de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html). Para solucionar este problema, aumente el límite de pilas de CloudFormation.  | n/a | 
|  No hay ningún rol de instancia de SSM en las siguientes instancias.  |  Para que Información de aplicaciones pueda instalar y configurar el agente de CloudWatch en las instancias de la aplicación, las políticas de AmazonSSMManagedInstanceCore y CloudWatchAgentServerPolicy deben estar adjuntadas al rol de la instancia.   |  Información de aplicaciones llama a la [API DescribeInstanceInformation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeInstanceInformation.html) de SSM para obtener la lista de instancias con permiso de SSM. Una vez asociado el rol a la instancia, SSM tarda algún tiempo en incluir la instancia en el resultado de DescribeInstanceInformation. Hasta que SSM incluye la instancia en el resultado, aparece el error NO\$1SSM\$1INSTANCE\$1ROLE para la aplicación.  | 
|  Los nuevos componentes pueden necesitar configuración.  |  Información de aplicaciones detecta que hay nuevos componentes en el grupo de recursos de la aplicación. Para solucionar esto, configure los nuevos componentes según corresponda.  | n/a | 

# Registros y métricas que Información de aplicaciones de Amazon CloudWatch admite
<a name="appinsights-logs-and-metrics"></a>

A continuación, se indican los registros y las métricas que se admiten para Información de aplicaciones de Amazon CloudWatch. 

**Información de aplicaciones de CloudWatch admite los siguientes registros:**
+ Registros de Microsoft Internet Information Services (IIS)
+ Registro de errores de SQL Server en EC2
+ Registros de aplicaciones .NET personalizados, como Log4Net
+ Registros de eventos de Windows, incluidos registros de Windows (sistema, aplicación y seguridad) y registro de aplicaciones y servicios
+ Amazon CloudWatch Logs para AWS Lambda
+ Registro de errores y registro lento para RDS de MySQL, MySQL de Aurora y MySQL en EC2
+ Registro de Postgresql para RDS de PostgreSQL y PostgreSQL en EC2
+ Amazon CloudWatch Logs para AWS Step Functions
+ Registros de ejecución y registros de acceso (JSON, CSV y XML, pero no CLF) para etapas de la API REST de API Gateway
+ Registros del JMX Exporter de Prometheus (EMF)
+ Registros de alertas y registros de agente de escucha para Oracle en Amazon RDS y Oracle en Amazon EC2
+ Los contenedores registran el enrutamiento desde los contenedores de Amazon ECS a CloudWatch mediante [`awslogs` log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) (controlador de registro ).
+ Los contenedores registran el enrutamiento desde los contenedores de Amazon ECS a CloudWatch mediante [FireLens container log router](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) (Enrutador de registro de contenedores FireLens).
+ El contenedor registra el enrutamiento desde Amazon EKS o Kubernetes, que se ejecutan en Amazon EC2, a CloudWatch mediante [Procesador de registro Fluentd o Bit Fluentd](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-EKS-logs.html) con Información de contenedores.
+ Registros de seguimiento y errores de SAP HANA
+ Registros de Pacemaker de alta disponibilidad
+ Registros del servidor de SAP ASE
+ Registros del servidor de copia de seguridad de SAP ASE
+ Registros del servidor de replicación de SAP ASE
+ Registros del agente RMA SAP ASE
+ Registros del administrador de errores de SAP ASE
+ Registros de seguimiento de desarrolladores de SAP NetWeaver
+ Métricas de procesos para procesos de Windows mediante [complemento proctstat para el agente CloudWatch](CloudWatch-Agent-procstat-process-metrics.md)
+ Registros de consultas de DNS públicos para la zona alojada
+ Amazon Route 53 ResolverRegistros de consultas de DNS de 

**Información de aplicaciones de CloudWatch admite las siguientes clases de registro:**
+ **Estándar**: Información de aplicaciones de Amazon CloudWatch requiere que los grupos de registros se configuren con la [clase de registro estándar de los Registros de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html) para permitir el monitoreo.

**Contents**
+ [Amazon Elastic Compute Cloud (EC2)](appinsights-metrics-ec2.md)
  + [Métricas integradas de CloudWatch](appinsights-metrics-ec2.md#appinsights-metrics-ec2-built-in)
  + [Métricas del agente de CloudWatch (servidor de Windows)](appinsights-metrics-ec2.md#appinsights-metrics-ec2-windows)
  + [Métricas de procesos del agente de CloudWatch (servidor de Windows)](appinsights-metrics-ec2.md#appinsights-metrics-procstat-ec2-windows)
  + [Métricas del agente de CloudWatch (servidor Linux)](appinsights-metrics-ec2.md#appinsights-metrics-ec2-linux)
+ [Elastic Block Store (EBS)](appinsights-metrics-ebs.md)
+ [Amazon Elastic File System (Amazon EFS)](appinsights-metrics-efs.md)
+ [Elastic Load Balancer (ELB)](appinsights-metrics-elb.md)
+ [Application ELB](appinsights-metrics-app-elb.md)
+ [Grupos de Amazon EC2 Auto Scaling](appinsights-metrics-as.md)
+ [Amazon Simple Queue Server (SQS)](appinsights-metrics-sqs.md)
+ [Amazon Relational Database Service (RDS)](appinsights-metrics-rds.md)
  + [Instancias de base de datos de RDS](appinsights-metrics-rds.md#appinsights-metrics-rds-instances)
  + [Clústeres de base de datos de RDS](appinsights-metrics-rds.md#appinsights-metrics-rds-clusters)
+ [Función de AWS Lambda](appinsights-metrics-lambda.md)
+ [Tabla de Amazon DynamoDB.](appinsights-metrics-dyanamodb.md)
+ [Bucket de Amazon S3](appinsights-metrics-s3.md)
+ [AWS Step Functions](appinsights-metrics-step-functions.md)
  + [Nivel de ejecución](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-execution)
  + [Actividad](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-activity)
  + [Función de Lambda](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-lambda)
  + [Integración con los servicios](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-service-integration)
  + [API de Step Functions](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-api)
+ [Etapas de la API de REST de API Gateway](appinsights-metrics-api-gateway.md)
+ [SAP HANA](appinsights-metrics-sap-hana.md)
+ [SAP ASE](appinsights-metrics-sap-ase.md)
+ [Alta disponibilidad de SAP ASE en Amazon EC2](appinsights-metrics-sap-ase-ha.md)
+ [SAP NetWeaver](appinsights-metrics-sap-netweaver.md)
+ [Clúster de alta disponibilidad](appinsights-metrics-ha-cluster.md)
+ [Java](appinsights-metrics-java.md)
+ [Amazon Elastic Container Service (Amazon ECS)](appinsights-metrics-ecs.md)
  + [Métricas integradas de CloudWatch](appinsights-metrics-ecs.md#appinsights-metrics-ecs-built-in-metrics)
  + [Métricas de Información de contenedores](appinsights-metrics-ecs.md#appinsights-metrics-ecs-container-insights-metrics)
  + [Métricas de Prometheus de Información de contenedores](appinsights-metrics-ecs.md#appinsights-metrics-ecs-container-insights-prometheus)
+ [Kubernetes en AWS](appinsights-metrics-kubernetes.md)
  + [Métricas de Información de contenedores](appinsights-metrics-kubernetes.md#appinsights-metrics-kubernetes-container-insights-metrics)
  + [Métricas de Prometheus de Información de contenedores](appinsights-metrics-kubernetes.md#appinsights-metrics-kubernetes-container-insights-prometheus)
+ [Amazon FSx](appinsights-metrics-fsx.md)
+ [Amazon VPC](appinsights-metrics-vpc.md)
+ [Puerta de enlace NAT de Amazon VPC](appinsights-metrics-nat-gateways.md)
+ [Comprobación de estado de Amazon Route 53](appinsights-metrics-health-check.md)
+ [Zona alojada de Amazon Route 53](appinsights-metrics-hosted-zone.md)
+ [Amazon Route 53 ResolverPunto de conexión de](appinsights-metrics-resolver-endpoint.md)
+ [AWS Network FirewallGrupo de reglas de](appinsights-metrics-firewall-rule-group.md)
+ [Asociación de grupos de reglas AWS Network Firewall](appinsights-metrics-firewall-rule-group-assoc.md)
+ [Métricas con requisitos de puntos de datos](appinsights-metrics-datapoint-requirements.md)
  + [AWS/ApplicationELB](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-app-elb)
  + [AWS/AutoScaling](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-autoscaling)
  + [AWS/EC2](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-ec2)
  + [Elastic Block Store (EBS)](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-ebs)
  + [AWS/ELB](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-elb)
  + [AWS/RDS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-rds)
  + [AWS/Lambda](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-lambda)
  + [AWS/SQS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-sqs)
  + [AWS/CWAgent](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-cwagent)
  + [AWS/DynamoDB](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-dynamo)
  + [AWS/S3](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-s3)
  + [Estados de AWS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-states)
  + [ApiGateway de AWS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-api-gateway)
  + [AWS/SNS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-sns)
+ [Métricas recomendadas](application-insights-recommended-metrics.md)
+ [Métricas de contador de rendimiento](application-insights-performance-counter.md)

# Amazon Elastic Compute Cloud (EC2)
<a name="appinsights-metrics-ec2"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

**Topics**
+ [Métricas integradas de CloudWatch](#appinsights-metrics-ec2-built-in)
+ [Métricas del agente de CloudWatch (servidor de Windows)](#appinsights-metrics-ec2-windows)
+ [Métricas de procesos del agente de CloudWatch (servidor de Windows)](#appinsights-metrics-procstat-ec2-windows)
+ [Métricas del agente de CloudWatch (servidor Linux)](#appinsights-metrics-ec2-linux)

## Métricas integradas de CloudWatch
<a name="appinsights-metrics-ec2-built-in"></a>

CPUCreditBalance

CPUCreditUsage

CPUSurplusCreditBalance

CPUSurplusCreditsCharged

CPUUtilization

DiskReadBytes

DiskReadOps

DiskWriteBytes

DiskWriteOps

EBSByteBalance%

EBSIOBalance%

EBSReadBytes

EBSReadOps

EBSWriteBytes

EBSWriteOps

NetworkIn

NetworkOut

NetworkPacketsIn

NetworkPacketsOut

StatusCheckFailed

StatusCheckFailed\$1Instance

StatusCheckFailed\$1System

## Métricas del agente de CloudWatch (servidor de Windows)
<a name="appinsights-metrics-ec2-windows"></a>

N.º de excepciones de CLR de.NET lanzadas

.NET CLR Exceptions: n.º de excepciones generadas/segundo

.NET CLR Exceptions: n.º de filtros/segundo

.NET CLR Exceptions: n.º de instrucciones finally/segundo

.NET CLR Exceptions: generación para capturar profundidad/segundo

.NET CLR Interop: n.º de CCWs

.NET CLR Interop: n.º de stubs

.NET CLR Interop: n.º de exportaciones TLB/segundo

.NET CLR Interop: n.º de importaciones TLB/segundo

.NET CLR Interop: n.º de serialización

.NET CLR Jit: % de tiempo en Jit

.NET CLR Jit: errores de Jit estándar

.NET CLR Loading: % de tiempo de carga

.NET CLR Loading: errores de velocidad de carga

.NET CLR LocksAndThreads: tasa de contención/segundo

.NET CLR LocksAndThreads: longitud de cola/segundo

.NET CLR Memory: n.º de bytes confirmados totales

Tiempo de % de memoria de CLR de .NET en GC

.NET CLR Networking 4.0.0.0: tiempo medio de cola de HttpWebRequest

.NET CLR Networking 4.0.0.0: solicitudes HttpWebRequest anuladas/segundo

.NET CLR Networking 4.0.0.0: solicitudes HttpWebRequest con errores/segundo

.NET CLR Networking 4.0.0.0: solicitudes HttpWebRequest en cola/segundo

APP\$1POOL\$1WAS Errores totales de ping en el proceso de trabajo

Reinicios de aplicaciones ASP.NET

Porcentaje de tiempo del procesador administrado (estimado) de las aplicaciones ASP.NET

Errores de aplicaciones ASP.NET totales/sec

Errores de aplicaciones ASP.NET no controlados durante la ejecución/s

Solicitudes de aplicaciones ASP.NET en la cola de aplicaciones

Solicitudes de aplicaciones ASP.NET/s

Tiempo de espera de solicitudes ASP.NET

Solicitudes ASP.NET en cola

Colas de solicitudes de servicio HTTP CurrentQueueSize

Porcentaje de espacio libre en disco lógico

Porcentaje de bytes confirmados en uso en memoria

Mbytes disponibles de memoria

Páginas de memoria/segundo

Total de bytes de interfaz de red/segundo

Porcentaje de uso de archivo de paginación

Porcentaje de tiempo de disco en disco físico

Promedio de disco físico Longitud de la cola de disco

Promedio de disco físico Lectura de disco/segundo

Promedio de disco físico Escritura en disco/segundo

Bytes leídos/segundo en disco físico

Lecturas/segundo en disco físico

Bytes de escritura/segundo en disco físico

Escrituras/segundo en disco físico

Porcentaje de tiempo de inactividad del procesador

Porcentaje de horas de interrupción del procesador

Porcentaje de tiempo de procesador del procesador

Porcentaje de tiempo de usuario del procesador

SQLServer: métodos de acceso: registros reenviados/segundo

SQLServer: métodos de acceso: exploraciones completas/segundo

SQLServer: métodos de acceso: divisiones de página/segundo

SQLServer: administrador del búfer: porcentaje de aciertos de caché del búfer

SQLServer: administrador del búfer: duración prevista de página

SQLServer: estadísticas generales: procesos bloqueados

SQLServer: estadísticas generales: conexiones de usuario

SQLServer: bloqueos temporales: tiempo medio de espera de bloqueo temporal (ms)

SQLServer: bloqueos: tiempo medio de espera de bloqueo (ms)

SQLServer: bloqueos: tiempos de espera de bloqueo agotados/segundo

SQLServer: bloqueos: esperas de bloqueo/segundo

SQLServer: bloqueos: número de interbloqueos/segundo

SQLServer: administrador de memoria: concesiones de memoria pendientes

SQLServer: estadísticas de SQL: solicitudes por lotes/segundo

SQLServer: estadísticas de SQL: compilaciones de SQL/segundo

SQLServer: estadísticas de SQL: recopilaciones de SQL/segundo

Longitud de cola del procesador del sistema

Conexiones TCPv4 establecidas

Conexiones TCPv6 establecidas

W3SVC\$1W3WP: descargas de caché de archivos

W3SVC\$1W3WP: errores de caché de archivos

W3SVC\$1W3WP: solicitudes/segundo

W3SVC\$1W3WP: descargas de caché de URI

W3SVC\$1W3WP: errores de caché de URI

Bytes de servicios web recibidos/s

Bytes de servicios web enviados/s

Intentos de conexión de servicio web/segundo

Conexiones actuales de servicios web

Solicitudes de recepción de servicio web/segundo

Solicitudes de publicación de servicio web/segundo

Bytes recibidos por segundo

Longitud de cola de mensajes normales por segundo

Longitud de cola de mensajes urgentes por segundo

Recuento de reconexiones

Longitud de cola de mensajes no reconocidos por segundo

Mensajes pendientes

Mensajes enviados por segundo

Mensajes de actualización de base de datos por segundo

Mensajes de actualización por segundo

Vaciados por segundo

Puntos de control criptográfico guardados por segundo

Puntos de control criptográfico restaurados por segundo

Puntos de control del registro restaurados por segundo

Puntos de control del registro guardados por segundo

Llamadas a la API de clústeres por segundo

Llamadas a la API de recursos por segundo

Controladores de clústeres por segundo

Controladores de recursos por segundo

## Métricas de procesos del agente de CloudWatch (servidor de Windows)
<a name="appinsights-metrics-procstat-ec2-windows"></a>

Las métricas de procesos se recopilan mediante el [complemento procstat del agente de CloudWatch](CloudWatch-Agent-procstat-process-metrics.md). Solo las instancias de Amazon EC2 que ejecutan cargas de trabajo Windows admiten métricas de procesos.

procstat cpu\$1time\$1system

procstat cpu\$1time\$1user

procstat cpu\$1usage

procstat memory\$1rss

procstat memory\$1vms

procstat read\$1bytes

procstat write\$1bytes

.procstat read\$1count

procstat write\$1count

## Métricas del agente de CloudWatch (servidor Linux)
<a name="appinsights-metrics-ec2-linux"></a>

cpu\$1time\$1active

cpu\$1time\$1guest

cpu\$1time\$1guest\$1nice

cpu\$1time\$1idle

cpu\$1time\$1iowait

cpu\$1time\$1irq

cpu\$1time\$1nice

cpu\$1time\$1softirq

cpu\$1time\$1steal

cpu\$1time\$1system

cpu\$1time\$1user

cpu\$1usage\$1active

cpu\$1usage\$1guest

cpu\$1usage\$1guest\$1nice

cpu\$1usage\$1idle

cpu\$1usage\$1iowait

cpu\$1usage\$1irq

cpu\$1usage\$1nice

cpu\$1usage\$1softirq

cpu\$1usage\$1steal

cpu\$1usage\$1system

cpu\$1usage\$1user

disk\$1free

disk\$1inodes\$1free

disk\$1inodes\$1used

disk\$1used

disk\$1used\$1percent

diskio\$1io\$1time

diskio\$1iops\$1in\$1progress

diskio\$1read\$1bytes

diskio\$1read\$1time

diskio\$1reads

diskio\$1write\$1bytes

diskio\$1write\$1time

diskio\$1writes

mem\$1active

mem\$1available

mem\$1available\$1percent

mem\$1buffered

mem\$1cached

mem\$1free

mem\$1inactive

mem\$1used

mem\$1used\$1percent

net\$1bytes\$1recv

net\$1bytes\$1sent

net\$1drop\$1in

net\$1drop\$1out

net\$1err\$1in

net\$1err\$1out

net\$1packets\$1recv

net\$1packets\$1sent

netstat\$1tcp\$1close

netstat\$1tcp\$1close\$1wait

netstat\$1tcp\$1closing

netstat\$1tcp\$1established

netstat\$1tcp\$1fin\$1wait1

netstat\$1tcp\$1fin\$1wait2

netstat\$1tcp\$1last\$1ack

netstat\$1tcp\$1listen

netstat\$1tcp\$1none

netstat\$1tcp\$1syn\$1recv

netstat\$1tcp\$1syn\$1sent

netstat\$1tcp\$1time\$1wait

netstat\$1udp\$1socket

processes\$1blocked

processes\$1dead

processes\$1idle

processes\$1paging

processes\$1running

processes\$1sleeping

processes\$1stopped

processes\$1total

processes\$1total\$1threads

processes\$1wait

processes\$1zombies

swap\$1free

swap\$1used

swap\$1used\$1percent

# Elastic Block Store (EBS)
<a name="appinsights-metrics-ebs"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

VolumeReadBytes

VolumeWriteBytes

VolumeReadOps

VolumeWriteOps

VolumeTotalReadTime 

VolumeTotalWriteTime 

VolumeIdleTime

VolumeQueuelength

VolumeThroughputPercentage

VolumenConsumedReadWriteOps

BurstBalance

# Amazon Elastic File System (Amazon EFS)
<a name="appinsights-metrics-efs"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

BurstCreditBalance

PercentIOLimit

PermittedThroughput

MeteredIOBytes

TotalIOBytes

DataWriteIOBytes

DataReadIOBytes

MetadataIOBytes

ClientConnections

TimeSinceLastSync

StorageBytes

Rendimiento

PercentageOfPermittedThroughputUtilization

ThroughputIOPS

 PercentThroughputDataReadIOByte

PercentThroughputDataWriteIOBytes

PercentageOfIOPSDataReadIOBytes

PercentageOfIOPSDataWriteIOBytes

AverageDataReadIOBytesSize

AverageDataWriteIOBytesSize

# Elastic Load Balancer (ELB)
<a name="appinsights-metrics-elb"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

EstimatedALBActiveConnectionCount

EstimatedALBConsumedLCUs

EstimatedALBNewConnectionCount

EstimatedProcessedBytes

HTTPCode\$1Backend\$14XX

HTTPCode\$1Backend\$15XX

HealthyHostCount

RequestCount

UnHealthyHostCount

# Application ELB
<a name="appinsights-metrics-app-elb"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

EstimatedALBActiveConnectionCount

EstimatedALBConsumedLCUs

EstimatedALBNewConnectionCount

EstimatedProcessedBytes

HTTPCode\$1Backend\$14XX

HTTPCode\$1Backend\$15XX

HealthyHostCount

Latencia

RequestCount

SurgeQueueLength

UnHealthyHostCount

# Grupos de Amazon EC2 Auto Scaling
<a name="appinsights-metrics-as"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

CPUCreditBalance

CPUCreditUsage

CPUSurplusCreditBalance

CPUSurplusCreditsCharged

CPUUtilization

DiskReadBytes

DiskReadOps

DiskWriteBytes

DiskWriteOps

EBSByteBalance%

EBSIOBalance%

EBSReadBytes

EBSReadOps

EBSWriteBytes

EBSWriteOps

NetworkIn

NetworkOut

NetworkPacketsIn

NetworkPacketsOut

StatusCheckFailed

StatusCheckFailed\$1Instance

StatusCheckFailed\$1System

# Amazon Simple Queue Server (SQS)
<a name="appinsights-metrics-sqs"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

ApproximateAgeOfOldestMessage

ApproximateNumberOfMessagesDelayed

ApproximateNumberOfMessagesNotVisible

ApproximateNumberOfMessagesVisible

NumberOfEmptyReceives

NumberOfMessagesDeleted

NumberOfMessagesReceived

NumberOfMessagesSent

# Amazon Relational Database Service (RDS)
<a name="appinsights-metrics-rds"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

**Topics**
+ [Instancias de base de datos de RDS](#appinsights-metrics-rds-instances)
+ [Clústeres de base de datos de RDS](#appinsights-metrics-rds-clusters)

## Instancias de base de datos de RDS
<a name="appinsights-metrics-rds-instances"></a>

BurstBalance

CPUCreditBalance

CPUUtilization

DatabaseConnections

DiskQueueDepth

FailedSQLServerAgentJobsCount

FreeStorageSpace

FreeableMemory

NetworkReceiveThroughput

NetworkTransmitThroughput

ReadIOPS

ReadLatency

ReadThroughput

WriteIOPS

WriteLatency

WriteThroughput

## Clústeres de base de datos de RDS
<a name="appinsights-metrics-rds-clusters"></a>

ActiveTransactions

AuroraBinlogReplicaLag

AuroraReplicaLag

BackupRetentionPeriodStorageUsed

BinLogDiskUsage

BlockedTransactions

BufferCacheHitRatio

CPUUtilization

CommitLatency

CommitThroughput

DDLLatency

DDLThroughput

DMLLatency

DMLThroughput

DatabaseConnections

Interbloqueos

DeleteLatency

DeleteThroughput

EngineUptime

FreeLocalStorage

FreeableMemory

InsertLatency

InsertThroughput

LoginFailures

NetworkReceiveThroughput

NetworkThroughput

NetworkTransmitThroughput

Consultas

ResultSetCacheHitRatio

SelectLatency

SelectThroughput

SnapshotStorageUsed

TotalBackupStorageBilled

UpdateLatency

UpdateThroughput

VolumeBytesUsed

VolumeReadIOPs

VolumeWriteIOPs

# Función de AWS Lambda
<a name="appinsights-metrics-lambda"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

Errores

DeadLetterErrors

Duración

Limitaciones

IteratorAge

ProvisionedConcurrencySpilloverInvocations

# Tabla de Amazon DynamoDB.
<a name="appinsights-metrics-dyanamodb"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

SystemErrors

UserErrors

ConsumedReadCapacityUnits

ConsumedWriteCapacityUnits

ReadThrottleEvents

WriteThrottleEvents

TimeToLiveDeletedItemCount

CondicionalCheckFailedRequests

TransactionConflict

ReturnedRecordsCount

PendingReplicationCount

ReplicationLatency

# Bucket de Amazon S3
<a name="appinsights-metrics-s3"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

ReplicationLatency

BytesPendingReplication

OperationsPendingReplication

4xxErrors

5xxErrors

AllRequests

GetRequests

PutRequests

DeleteRequests

HeadRequests

PostRequests

SelectRequests

ListRequests

SelectScannedBytes

SelectReturnedBytes

FirstByteLatency

TotalRequestLatency

BytesDownloaded

BytesUploaded

# AWS Step Functions
<a name="appinsights-metrics-step-functions"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

**Topics**
+ [Nivel de ejecución](#appinsights-metrics-step-functions-execution)
+ [Actividad](#appinsights-metrics-step-functions-activity)
+ [Función de Lambda](#appinsights-metrics-step-functions-lambda)
+ [Integración con los servicios](#appinsights-metrics-step-functions-service-integration)
+ [API de Step Functions](#appinsights-metrics-step-functions-api)

## Nivel de ejecución
<a name="appinsights-metrics-step-functions-execution"></a>

ExecutionTime

ExecutionThrottled

ExecutionsFailed

ExecutionsTimedOut

ExecutionsAborted

ExecutionsSucceeded

ExecutionsStarted

## Actividad
<a name="appinsights-metrics-step-functions-activity"></a>

ActivityRunTime

ActivityScheduleTime

ActivityTime

ActivitiesFailed

ActivitiesHeartbeatTimedOut

ActivitiesTimedOut

ActivitiesScheduled

ActivitiesSucceeded

ActivitiesStarted

## Función de Lambda
<a name="appinsights-metrics-step-functions-lambda"></a>

LambdaFunctionRuntime

LambdaFunctionScheduleTime

LambdaFunctionTime

LambdaFunctionsFailed

LambdaFunctionsTimedOut

LambdaFunctionsScheduled

LambdaFunctionsSucceeded

LambdaFunctionsStarted

## Integración con los servicios
<a name="appinsights-metrics-step-functions-service-integration"></a>

ServiceIntegrationRuntime

ServiceIntegrationScheduleTime

ServiceIntegrationTime

ServiceIntegrationsFailed

ServiceIntegrationsTimedOut

ServiceIntegrationsScheduled

ServiceIntegrationsSucceeded

ServiceIntegrationsStarted

## API de Step Functions
<a name="appinsights-metrics-step-functions-api"></a>

ThrottledEvents

ProvisionedBucketSize

ProvisionedRefillRate

ConsumedCapacity

# Etapas de la API de REST de API Gateway
<a name="appinsights-metrics-api-gateway"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

4XXError

5XXError

IntegrationLatency

Latencia

CacheHitCount

CacheMissCount

# SAP HANA
<a name="appinsights-metrics-sap-hana"></a>

**nota**  
Información de aplicaciones de CloudWatch solo admite entornos SID HANA únicos. Si se adjuntan varios SID HANA, el monitoreo se configurará solo para el primer SID detectado.

CloudWatch Application Insights es compatible con las siguientes métricas:

hanadb\$1every\$1service\$1started\$1status

hanadb\$1daemon\$1service\$1started\$1status

hanadb\$1preprocessor\$1service\$1started\$1status

hanadb\$1webdispatcher\$1service\$1started\$1status

hanadb\$1compileserver\$1service\$1started\$1status

hanadb\$1nameserver\$1service\$1started\$1status

hanadb\$1server\$1startup\$1time\$1variations\$1seconds

hanadb\$1level\$15\$1alerts\$1count

hanadb\$1level\$14\$1alerts\$1count

hanadb\$1out\$1of\$1memory\$1events\$1count

hanadb\$1max\$1trigger\$1read\$1ratio\$1percent

hanadb\$1max\$1trigger\$1write\$1ratio\$1percent

hanadb\$1log\$1switch\$1wait\$1ratio\$1percent

hanadb\$1log\$1switch\$1race\$1ratio\$1percent

hanadb\$1time\$1since\$1last\$1savepoint\$1seconds

hanadb\$1disk\$1usage\$1highlevel\$1percent

hanadb\$1max\$1converter\$1page\$1number\$1count

hanadb\$1long\$1running\$1savepoints\$1count

hanadb\$1failed\$1io\$1reads\$1count

hanadb\$1failed\$1io\$1writes\$1count

hanadb\$1disk\$1data\$1unused\$1percent

hanadb\$1current\$1allocation\$1limit\$1used\$1percent

hanadb\$1table\$1allocation\$1limit\$1used\$1percent

hanadb\$1host\$1total\$1physical\$1memory\$1mb

hanadb\$1host\$1physical\$1memory\$1used\$1mb

hanadb\$1host\$1physical\$1memory\$1free\$1mb

hanadb\$1swap\$1memory\$1free\$1mb

hanadb\$1swap\$1memory\$1used\$1mb

hanadb\$1host\$1allocation\$1limit\$1mb

hanadb\$1host\$1total\$1memory\$1used\$1mb

 hanadb\$1host\$1total\$1peak\$1memory\$1used\$1mb

hanadb\$1host\$1total\$1allocation\$1limit\$1mb

hanadb\$1host\$1code\$1size\$1mb

hanadb\$1host\$1shared\$1memory\$1allocation\$1mb

hanadb\$1cpu\$1usage\$1percent

hanadb\$1cpu\$1user\$1percent

hanadb\$1cpu\$1system\$1percent

hanadb\$1cpu\$1waitio\$1percent

hanadb\$1cpu\$1busy\$1percent

hanadb\$1cpu\$1idle\$1percent

hanadb\$1long\$1delta\$1merge\$1count

hanadb\$1unsuccesful\$1delta\$1merge\$1count

hanadb\$1succesful\$1delta\$1merge\$1count

hanadb\$1row\$1store\$1allocated\$1size\$1mb

hanadb\$1row\$1store\$1free\$1size\$1mb

hanadb\$1row\$1store\$1used\$1size\$1mb

hanadb\$1temporary\$1tables\$1count

hanadb\$1large\$1non\$1compressed\$1tables\$1count

hanadb\$1total\$1non\$1compressed\$1tables\$1count

hanadb\$1longest\$1running\$1job\$1seconds

hanadb\$1average\$1commit\$1time\$1milliseconds

hanadb\$1suspended\$1sql\$1statements\$1count

hanadb\$1plan\$1cache\$1hit\$1ratio\$1percent

hanadb\$1plan\$1cache\$1lookup\$1count

hanadb\$1plan\$1cache\$1hit\$1count

hanadb\$1plan\$1cache\$1total\$1execution\$1microseconds

hanadb\$1plan\$1cache\$1cursor\$1duration\$1microseconds

hanadb\$1plan\$1cache\$1preparation\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1count

hanadb\$1plan\$1cache\$1evicted\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1preparation\$1count

hanadb\$1plan\$1cache\$1evicted\$1execution\$1count

hanadb\$1plan\$1cache\$1evicted\$1preparation\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1cursor\$1duration\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1total\$1execution\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1plan\$1size\$1mb

hanadb\$1plan\$1cache\$1count

hanadb\$1plan\$1cache\$1preparation\$1count

hanadb\$1plan\$1cache\$1execution\$1count

hanadb\$1network\$1collision\$1rate

hanadb\$1network\$1receive\$1rate

hanadb\$1network\$1transmit\$1rate

hanadb\$1network\$1packet\$1receive\$1rate

hanadb\$1network\$1packet\$1transmit\$1rate

hanadb\$1network\$1transmit\$1error\$1rate

hanadb\$1network\$1receive\$1error\$1rate

hanadb\$1time\$1until\$1license\$1expires\$1days

hanadb\$1is\$1license\$1valid\$1status

hanadb\$1local\$1running\$1connections\$1count

hanadb\$1local\$1idle\$1connections\$1count

hanadb\$1remote\$1running\$1connections\$1count

hanadb\$1remote\$1idle\$1connections\$1count

hanadb\$1last\$1full\$1data\$1backup\$1age\$1days

hanadb\$1last\$1data\$1backup\$1age\$1days

hanadb\$1last\$1log\$1backup\$1age\$1hours

hanadb\$1failed\$1data\$1backup\$1past\$17\$1days\$1count

hanadb\$1failed\$1log\$1backup\$1past\$17\$1days\$1count

hanadb\$1oldest\$1backup\$1in\$1catalog\$1age\$1days

hanadb\$1backup\$1catalog\$1size\$1mb

hanadb\$1hsr\$1replication\$1status

hanadb\$1hsr\$1log\$1shipping\$1delay\$1seconds

hanadb\$1hsr\$1secondary\$1failover\$1count

hanadb\$1hsr\$1secondary\$1reconnect\$1count

hanadb\$1hsr\$1async\$1buffer\$1used\$1mb

hanadb\$1hsr\$1secondary\$1active\$1status

hanadb\$1handle\$1count

hanadb\$1ping\$1time\$1milliseconds

hanadb\$1connection\$1count

hanadb\$1internal\$1connection\$1count

hanadb\$1external\$1connection\$1count

hanadb\$1idle\$1connection\$1count

hanadb\$1transaction\$1count

hanadb\$1internal\$1transaction\$1count

hanadb\$1external\$1transaction\$1count

hanadb\$1user\$1transaction\$1count

hanadb\$1blocked\$1transaction\$1count

hanadb\$1statement\$1count

hanadb\$1active\$1commit\$1id\$1range\$1count

hanadb\$1mvcc\$1version\$1count

hanadb\$1pending\$1session\$1count

hanadb\$1record\$1lock\$1count

hanadb\$1read\$1count

hanadb\$1write\$1count

hanadb\$1merge\$1count

hanadb\$1unload\$1count

hanadb\$1active\$1thread\$1count

hanadb\$1waiting\$1thread\$1count

hanadb\$1total\$1thread\$1count

hanadb\$1active\$1sql\$1executor\$1count

hanadb\$1waiting\$1sql\$1executor\$1count

hanadb\$1total\$1sql\$1executor\$1count

hanadb\$1data\$1write\$1size\$1mb

hanadb\$1data\$1write\$1time\$1milliseconds

hanadb\$1log\$1write\$1size\$1mb

hanadb\$1log\$1write\$1time\$1milliseconds

hanadb\$1data\$1read\$1size\$1mb

hanadb\$1data\$1read\$1time\$1milliseconds

hanadb\$1log\$1read\$1size\$1mb

hanadb\$1log\$1read\$1time\$1milliseconds

hanadb\$1data\$1backup\$1write\$1size\$1mb

hanadb\$1data\$1backup\$1write\$1time\$1milliseconds

hanadb\$1log\$1backup\$1write\$1size\$1mb

hanadb\$1log\$1backup\$1write\$1time\$1milliseconds

hanadb\$1mutex\$1collision\$1count

hanadb\$1read\$1write\$1lock\$1collision\$1count

hanadb\$1admission\$1control\$1admit\$1count

hanadb\$1admission\$1control\$1reject\$1count

hanadb\$1admission\$1control\$1queue\$1size\$1mb

hanadb\$1admission\$1control\$1wait\$1time\$1milliseconds

# SAP ASE
<a name="appinsights-metrics-sap-ase"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

asedb\$1database\$1availability

asedb\$1trunc\$1log\$1on\$1chkpt\$1enabled

asedb\$1last\$1db\$1backup\$1age\$1in\$1days

asedb\$1last\$1transaction\$1log\$1backup\$1age\$1in\$1hours

asedb\$1suspected\$1database

asedb\$1db\$1space\$1usage\$1percent

asedb\$1db\$1log\$1space\$1usage\$1percent

asedb\$1locked\$1login

asedb\$1has\$1mixed\$1log\$1and\$1data

asedb\$1runtime\$1for\$1open\$1transactions

asedb\$1data\$1cache\$1hit\$1ratio

asedb\$1data\$1cache\$1usage

asedb\$1sql\$1cache\$1hit\$1ratio

asedb\$1cache\$1usage

asedb\$1run\$1queue\$1length

asedb\$1number\$1of\$1rollbacks

asedb\$1number\$1of\$1commits

asedb\$1number\$1of\$1transactions

asedb\$1outstanding\$1disk\$1io

asedb\$1percent\$1io\$1busy

asedb\$1percent\$1system\$1busy

asedb\$1percent\$1locks\$1active

asedb\$1scheduled\$1jobs\$1failed\$1percent

asedb\$1user\$1connections\$1percent

asedb\$1query\$1logical\$1reads

asedb\$1query\$1physical\$1reads

asedb\$1query\$1cpu\$1time

asedb\$1query\$1memory\$1usage

# Alta disponibilidad de SAP ASE en Amazon EC2
<a name="appinsights-metrics-sap-ase-ha"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

asedb\$1ha\$1replication\$1state

asedb\$1ha\$1replication\$1mode

asedb\$1ha\$1replication\$1latency\$1in\$1minutes

# SAP NetWeaver
<a name="appinsights-metrics-sap-netweaver"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:


| Métrica | Descripción | 
| --- | --- | 
| sap\$1alerts\$1ResponseTime |  La alerta de tiempo de respuesta de SAP de CCMS (RZ20)>R3Services>Dialog>ResponseTime.  | 
|  sap\$1alerts\$1ResponseTimeDialog  | La alerta del diálogo de tiempo de respuesta de SAP de CCMS (RZ20)>R3Services>Dialog> ResponseTimeDialog. | 
| sap\$1alerts\$1ResponseTimeDialogRFC | La alerta de tiempo de respuesta de SAP de CCMS (RZ20)>R3Services> Dialog>ResponseTimeDialogRFC. | 
| sap\$1alerts\$1DBRequestTime | La alerta de tiempo de respuesta de SAP de CCMS (RZ20)>R3Services>Dialog>DBRequestTime. | 
| sap\$1alerts\$1FrontendResponseTime | La alerta de tiempo de respuesta de SAP de CCMS (RZ20)>R3Services > Dialog>FrontEndResponseTime. | 
| sap\$1alerts\$1Database  | El sistema SAP ha registrado errores relacionados con la base de datos. Alerta desde SM21 o CCMS (RZ20)>R3Syslog>Database. | 
| sap\$1alerts\$1QueueTime  | La alerta de tiempo de espera de cola de SAP desde CCMS (RZ20)>R3Services>Dialog>QueueTime. | 
| sap\$1alerts\$1AbortedJobs | Trabajos en segundo plano erróneos en el sistema SAP. Alerta desde (RZ20)>R3Services > Background>AbortedJobs. | 
| sap\$1alerts\$1BasisSystem | El sistema SAP registró errores del sistema. Alerta desde SM21 o CCMS (RZ20)>R3Syslog>BasisSystem. | 
| sap\$1alerts\$1Security  | El sistema SAP registró mensajes relacionados con la seguridad. Alerta desde SM21 o CCMS (RZ20)>R3Syslog>Security. | 
| sap\$1alerts\$1System  | El sistema SAP registró mensajes relacionados con la seguridad o la auditoría. Alerta desde SM21 o CCMS (RZ20)>Security>System. | 
| sap\$1alerts\$1LongRunners  | Hay programas de larga ejecución en su sistema SAP. Alerta de CCMS (RZ20)>R3Services > Dialog>LongRunners. | 
| sap\$1alerts\$1SqlError  | Hay registros de errores de la capa de cliente de la base de datos SAP. Alerta de CCMS(RZ20)>DatabaseClient>AbapSql>SqlError. | 
| sap\$1alerts\$1State  | Alerta de estado de CCMS (RZ20)>OS Collector>State. | 
| sap\$1alerts\$1Shortdumps  | Alerta de Shortdumps de ST22 y CCMS (RZ20)>R3Abap>Shortdumps. | 
| sap\$1alerts\$1Availability  | Alerta de disponibilidad para una instancia de servidor de aplicaciones SAP de SM21, SM50, SM51, SM66 y CCMS (RZ20)>InstanceAsTask>Availability. | 
| sap\$1dispatcher\$1queue\$1high | La función GetQueueStatistic del servicio web de SAPControl proporciona un recuento alto de colas del distribuidor.  | 
| sap\$1dispatcher\$1queue\$1max | La función GetQueueStatistic del servicio web de SAPControl proporciona el recuento máximo de colas del distribuidor.  | 
| sap\$1dispatcher\$1queue\$1now | La función GetQueueStatistic del servicio web de SAPControl proporciona el recuento actualizado de colas del distribuidor. | 
| sap\$1dispatcher\$1queue\$1reads | La función GetQueueStatistic del servicio web de SAPControl proporciona el recuento de lecturas de cola del distribuidor.  | 
| sap\$1dispatcher\$1queue\$1writes | La función GetQueueStatistic del servicio web de SAPControl proporciona el recuento de escrituras de cola del distribuidor.  | 
| sap\$1enqueue\$1server\$1arguments\$1high  | La función EnqGetStatistic del servicio web de SAPControl proporciona el valor más alto de los argumentos en cola. | 
| sap\$1enqueue\$1server\$1arguments\$1max  | La función EnqGetStatistic del servicio web de SAPControl proporciona el valor máximo de los argumentos en cola. | 
| sap\$1enqueue\$1server\$1arguments\$1now | La función EnqGetStatistic del servicio web de SAPControl proporciona los argumentos que haya actualmente en cola. | 
| sap\$1enqueue\$1server\$1arguments\$1state | La función EnqGetStatistic del servicio web de SAPControl proporciona el estado de los argumentos en cola. | 
| sap\$1enqueue\$1server\$1backup\$1requests | La función EnqGetStatistic del servicio web de SAPControl proporciona las solicitudes de copia de seguridad en cola. | 
| sap\$1enqueue\$1server\$1cleanup\$1requests | La función EnqGetStatistic del servicio web de SAPControl proporciona las solicitudes de limpieza en cola.  | 
| sap\$1enqueue\$1server\$1dequeue\$1all\$1requests | La función EnqGetStatistic del servicio web de SAPControl proporciona todas las solicitudes que se han quitado de la cola. | 
| sap\$1enqueue\$1server\$1dequeue\$1errors | La función EnqGetStatistic del servicio web de SAPControl proporciona todos los errores que se hayan quitado de la cola.  | 
| sap\$1enqueue\$1server\$1dequeue\$1requests  | La función EnqGetStatistic del servicio web de SAPControl proporciona las solicitudes que se hayan quitado de la cola. | 
| sap\$1enqueue\$1server\$1enqueue\$1errors | La función EnqGetStatistic del servicio web de SAPControl proporciona los errores en cola. | 
| sap\$1enqueue\$1server\$1enqueue\$1rejects  | La función EnqGetStatistic del servicio web de SAPControl proporciona los elementos rechazados en cola. | 
| sap\$1enqueue\$1server\$1enqueue\$1requests | La función EnqGetStatistic del servicio web de SAPControl proporciona las solicitudes en cola. | 
| sap\$1enqueue\$1server\$1lock\$1time | La función EnqGetStatistic del servicio web de SAPControl proporciona el tiempo de bloqueo en cola. | 
| sap\$1enqueue\$1server\$1lock\$1wait\$1time | La función EnqGetStatistic del servicio web de SAPControl proporciona el tiempo de espera de bloqueo en cola. | 
| sap\$1enqueue\$1server\$1locks\$1high | La función EnqGetStatistic del servicio web de SAPControl proporciona el valor más alto de los bloqueos en cola. | 
| sap\$1enqueue\$1server\$1locks\$1max | La función EnqGetStatistic del servicio web de SAPControl proporciona el máximo de bloqueos en cola. | 
| sap\$1enqueue\$1server\$1locks\$1now | La función EnqGetStatistic del servicio web de SAPControl proporciona los bloqueos actuales en cola. | 
| sap\$1enqueue\$1server\$1locks\$1state | La función EnqGetStatistic del servicio web de SAPControl proporciona el estado de los bloqueos en cola. | 
| sap\$1enqueue\$1server\$1owner\$1high | La función EnqGetStatistic del servicio web de SAPControl proporciona el valor más alto de propietarios en cola. | 
| sap\$1enqueue\$1server\$1owner\$1max | La función EnqGetStatistic del servicio web de SAPControl proporciona el máximo de propietarios en cola. | 
| sap\$1enqueue\$1server\$1owner\$1now | La función EnqGetStatistic del servicio web de SAPControl proporciona los propietarios actuales en cola. | 
| sap\$1enqueue\$1server\$1owner\$1state | La función EnqGetStatistic del servicio web de SAPControl proporciona estado de los propietarios en cola. | 
| sap\$1enqueue\$1server\$1replication\$1state  | La función EnqGetStatistic del servicio web de SAPControl proporciona estado de replicación en cola. | 
| sap\$1enqueue\$1server\$1reporting\$1requests | La función EnqGetStatistic del servicio web de SAPControl proporciona el estado de las solicitudes de informes. | 
| sap\$1enqueue\$1server\$1server\$1time | La función EnqGetStatistic del servicio web de SAPControl proporciona el tiempo del servidor en cola. | 
| sap\$1HA\$1check\$1failover\$1config\$1state | La función HACheckFailoverConfig del servicio web de SAPControl proporciona el estado de alta disponibilidad de SAP. | 
| sap\$1HA\$1get\$1failover\$1config\$1HAActive | La función HAGetFailoverConfig del servicio web de SAPControl proporciona el estado y configuración del clúster de alta disponibilidad de SAP. | 
| sap\$1start\$1service\$1processes  | La función GetProcessList del servicio web de SAPControl proporciona el estado de los procesos de disp\$1work, IGS, gwrd, icman, servidor de mensajes y servidor en cola. | 

# Clúster de alta disponibilidad
<a name="appinsights-metrics-ha-cluster"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

ha\$1cluster\$1pacemaker\$1stonith\$1enabled 

ha\$1cluster\$1corosync\$1quorate

hanadb\$1webdispatcher\$1service\$1started\$1status

ha\$1cluster\$1pacemaker\$1nodes 

ha\$1cluster\$1corosync\$1ring\$1errors

ha\$1cluster\$1pacemaker\$1fail\$1count 

# Java
<a name="appinsights-metrics-java"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

java\$1lang\$1memory\$1heapmemoryusage\$1used

java\$1lang\$1memory\$1heapmemoryusage\$1committed

java\$1lang\$1operatingsystem\$1openfiledescriptorcount

java\$1lang\$1operatingsystem\$1maxfiledescriptorcount

java\$1lang\$1operatingsystem\$1freephysicalmemorysize

java\$1lang\$1operatingsystem\$1freeswapspacesize

java\$1lang\$1threading\$1threadcount

java\$1lang\$1threading\$1daemonthreadcount

java\$1lang\$1classloading\$1loadedclasscount

java\$1lang\$1garbagecollector\$1collectiontime\$1copy

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1scavenge

java\$1lang\$1garbagecollector\$1collectiontime\$1parnew

java\$1lang\$1garbagecollector\$1collectiontime\$1marksweepcompact

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1marksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1concurrentmarksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1young\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1old\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1mixed\$1generation

java\$1lang\$1operatingsystem\$1committedvirtualmemorysize

# Amazon Elastic Container Service (Amazon ECS)
<a name="appinsights-metrics-ecs"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

**Topics**
+ [Métricas integradas de CloudWatch](#appinsights-metrics-ecs-built-in-metrics)
+ [Métricas de Información de contenedores](#appinsights-metrics-ecs-container-insights-metrics)
+ [Métricas de Prometheus de Información de contenedores](#appinsights-metrics-ecs-container-insights-prometheus)

## Métricas integradas de CloudWatch
<a name="appinsights-metrics-ecs-built-in-metrics"></a>

CPUReservation

CPUUtilization

MemoryReservation

MemoryUtilization

GPUReservation

## Métricas de Información de contenedores
<a name="appinsights-metrics-ecs-container-insights-metrics"></a>

ContainerInstanceCount

CpuUtilized

CpuReserved

DeploymentCount

DesiredTaskCount

MemoryUtilized

MemoryReserved

NetworkRxBytes

NetworkTxBytes

PendingTaskCount

RunningTaskCount

ServiceCount

StorageReadBytes

StorageWriteBytes

TaskCount

TaskSetCount

instance\$1cpu\$1limit

instance\$1cpu\$1reserved\$1capacity

instance\$1cpu\$1usage\$1total

instance\$1cpu\$1utilization

instance\$1filesystem\$1utilization

instance\$1memory\$1limit

instance\$1memory\$1reserved\$1capacity

instance\$1memory\$1utilization

instance\$1memory\$1working\$1set

instance\$1network\$1total\$1bytes

instance\$1number\$1of\$1running\$1tasks

## Métricas de Prometheus de Información de contenedores
<a name="appinsights-metrics-ecs-container-insights-prometheus"></a>

**Métricas de Java JMX**

java\$1lang\$1memory\$1heapmemoryusage\$1used

java\$1lang\$1memory\$1heapmemoryusage\$1committed

java\$1lang\$1operatingsystem\$1openfiledescriptorcount

java\$1lang\$1operatingsystem\$1maxfiledescriptorcount

java\$1lang\$1operatingsystem\$1freephysicalmemorysize

java\$1lang\$1operatingsystem\$1freeswapspacesize

java\$1lang\$1threading\$1threadcount

java\$1lang\$1classloading\$1loadedclasscount

java\$1lang\$1threading\$1daemonthreadcount

java\$1lang\$1garbagecollector\$1collectiontime\$1copy

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1scavenge

java\$1lang\$1garbagecollector\$1collectiontime\$1parnew

java\$1lang\$1garbagecollector\$1collectiontime\$1marksweepcompact

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1marksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1concurrentmarksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1young\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1old\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1mixed\$1generation

java\$1lang\$1operatingsystem\$1committedvirtualmemorysize

# Kubernetes en AWS
<a name="appinsights-metrics-kubernetes"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

**Topics**
+ [Métricas de Información de contenedores](#appinsights-metrics-kubernetes-container-insights-metrics)
+ [Métricas de Prometheus de Información de contenedores](#appinsights-metrics-kubernetes-container-insights-prometheus)

## Métricas de Información de contenedores
<a name="appinsights-metrics-kubernetes-container-insights-metrics"></a>

cluster\$1failed\$1node\$1count

cluster\$1node\$1count

namespace\$1number\$1of\$1running\$1pods

node\$1cpu\$1limit

node\$1cpu\$1reserved\$1capacity

node\$1cpu\$1usage\$1total

node\$1cpu\$1utilization

node\$1filesystem\$1utilization

node\$1memory\$1limit

node\$1memory\$1reserved\$1capacity

node\$1memory\$1utilization

node\$1memory\$1working\$1set

node\$1network\$1total\$1bytes

node\$1number\$1of\$1running\$1containers

node\$1number\$1of\$1running\$1pods

pod\$1cpu\$1reserved\$1capacity

pod\$1cpu\$1utilization

pod\$1cpu\$1utilization\$1over\$1pod\$1limit

pod\$1memory\$1reserved\$1capacity

pod\$1memory\$1utilization

pod\$1memory\$1utilization\$1over\$1pod\$1limit

pod\$1network\$1rx\$1bytes

pod\$1network\$1tx\$1bytes

service\$1number\$1of\$1running\$1pods

## Métricas de Prometheus de Información de contenedores
<a name="appinsights-metrics-kubernetes-container-insights-prometheus"></a>

**Métricas de Java JMX**

java\$1lang\$1memory\$1heapmemoryusage\$1used

java\$1lang\$1memory\$1heapmemoryusage\$1committed

java\$1lang\$1operatingsystem\$1openfiledescriptorcount

java\$1lang\$1operatingsystem\$1maxfiledescriptorcount

java\$1lang\$1operatingsystem\$1freephysicalmemorysize

java\$1lang\$1operatingsystem\$1freeswapspacesize

java\$1lang\$1threading\$1threadcount

java\$1lang\$1classloading\$1loadedclasscount

java\$1lang\$1threading\$1daemonthreadcount

java\$1lang\$1garbagecollector\$1collectiontime\$1copy

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1scavenge

java\$1lang\$1garbagecollector\$1collectiontime\$1parnew

java\$1lang\$1garbagecollector\$1collectiontime\$1marksweepcompact

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1marksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1concurrentmarksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1young\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1old\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1mixed\$1generation

java\$1lang\$1operatingsystem\$1committedvirtualmemorysize

# Amazon FSx
<a name="appinsights-metrics-fsx"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

DataReadBytes

DataWriteBytes

DataReadOperations

DataWriteOperations

MetadataOperations

FreeStorageCapacity

FreeDataStorageCapacity

LogicalDiskUsage

PhysicalDiskUsage

# Amazon VPC
<a name="appinsights-metrics-vpc"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

NetworkAddressUsage

NetworkAddressUsagePeered

VPCFirewallQueryVolume

# Puerta de enlace NAT de Amazon VPC
<a name="appinsights-metrics-nat-gateways"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

ErrorPortAllocation

IdleTimeoutCount

# Comprobación de estado de Amazon Route 53
<a name="appinsights-metrics-health-check"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

ChildHealthCheckHealthyCount

ConnectionTime

HealthCheckPercentageHealthy

HealthCheckStatus

SSLHandshakeTime 

TimeToFirstByte

# Zona alojada de Amazon Route 53
<a name="appinsights-metrics-hosted-zone"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

DNSQueries

DNSSECInternalFailure

DNSSECKeySigningKeysNeedingAction

DNSSECKeySigningKeyMaxNeedingActionAge

DNSSECKeySigningKeyAge

# Amazon Route 53 ResolverPunto de conexión de
<a name="appinsights-metrics-resolver-endpoint"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

EndpointHealthyENICount

EndpointUnHealthyENICount

InboundQueryVolume

OutboundQueryVolume

OutboundQueryAggregateVolume

# AWS Network FirewallGrupo de reglas de
<a name="appinsights-metrics-firewall-rule-group"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

FirewallRuleGroupQueryVolume

# Asociación de grupos de reglas AWS Network Firewall
<a name="appinsights-metrics-firewall-rule-group-assoc"></a>

Información de aplicaciones de CloudWatch es compatible con las siguientes métricas:

FirewallRuleGroupVpcQueryVolume

# Métricas con requisitos de puntos de datos
<a name="appinsights-metrics-datapoint-requirements"></a>

Para las métricas sin un umbral predeterminado evidente al partir del cual activar una alarma, Información de aplicaciones espera hasta que la métrica tiene puntos de datos suficientes para predecir un umbral razonable para activar una alarma. Los requisitos de los puntos de datos de la métrica que Información de aplicaciones de CloudWatch verifica antes de crear una alarma son los siguientes: 
+ La métrica tiene al menos 100 puntos de datos desde los últimos 15 a los últimos 2 días.
+ La métrica tiene al menos 100 puntos de datos del último día.

Las métricas siguientes cumplen estos requisitos de puntos de datos. Tenga en cuenta que las métricas del agente de CloudWatch requieren hasta una hora para crear alarmas. 

**Topics**
+ [AWS/ApplicationELB](#appinsights-metrics-datapoint-requirements-app-elb)
+ [AWS/AutoScaling](#appinsights-metrics-datapoint-requirements-autoscaling)
+ [AWS/EC2](#appinsights-metrics-datapoint-requirements-ec2)
+ [Elastic Block Store (EBS)](#appinsights-metrics-datapoint-requirements-ebs)
+ [AWS/ELB](#appinsights-metrics-datapoint-requirements-elb)
+ [AWS/RDS](#appinsights-metrics-datapoint-requirements-rds)
+ [AWS/Lambda](#appinsights-metrics-datapoint-requirements-lambda)
+ [AWS/SQS](#appinsights-metrics-datapoint-requirements-sqs)
+ [AWS/CWAgent](#appinsights-metrics-datapoint-requirements-cwagent)
+ [AWS/DynamoDB](#appinsights-metrics-datapoint-requirements-dynamo)
+ [AWS/S3](#appinsights-metrics-datapoint-requirements-s3)
+ [Estados de AWS](#appinsights-metrics-datapoint-requirements-states)
+ [ApiGateway de AWS](#appinsights-metrics-datapoint-requirements-api-gateway)
+ [AWS/SNS](#appinsights-metrics-datapoint-requirements-sns)

## AWS/ApplicationELB
<a name="appinsights-metrics-datapoint-requirements-app-elb"></a>

ActiveConnectionCount

ConsumedLCUs

HTTPCode\$1ELB\$14XX\$1Count

HTTPCode\$1Target\$12XX\$1Count

HTTPCode\$1Target\$13XX\$1Count

HTTPCode\$1Target\$14XX\$1Count

HTTPCode\$1Target\$15XX\$1Count

NewConnectionCount

ProcessedBytes

TargetResponseTime

UnHealthyHostCount

## AWS/AutoScaling
<a name="appinsights-metrics-datapoint-requirements-autoscaling"></a>

GroupDesiredCapacity

GroupInServiceInstances

GroupMaxSize

GroupMinSize

GroupPendingInstances

GroupStandbyInstances

GroupTerminatingInstances

GroupTotalInstances

## AWS/EC2
<a name="appinsights-metrics-datapoint-requirements-ec2"></a>

CPUCreditBalance

CPUCreditUsage

CPUSurplusCreditBalance

CPUSurplusCreditsCharged

CPUUtilization

DiskReadBytes

DiskReadOps

DiskWriteBytes

DiskWriteOps

EBSByteBalance%

EBSIOBalance%

EBSReadBytes

EBSReadOps

EBSWriteBytes

EBSWriteOps

NetworkIn

NetworkOut

NetworkPacketsIn

NetworkPacketsOut

## Elastic Block Store (EBS)
<a name="appinsights-metrics-datapoint-requirements-ebs"></a>

VolumeReadBytes 

VolumeWriteBytes 

VolumeReadOps

VolumeWriteOps

VolumeTotalReadTime 

VolumeTotalWriteTime 

VolumeIdleTime

VolumeQueuelength

VolumeThroughputPercentage

VolumenConsumedReadWriteOps

BurstBalance

## AWS/ELB
<a name="appinsights-metrics-datapoint-requirements-elb"></a>

EstimatedALBActiveConnectionCount

EstimatedALBConsumedLCUs

EstimatedALBNewConnectionCount

EstimatedProcessedBytes

HTTPCode\$1Backend\$14XX

HTTPCode\$1Backend\$15XX

HealthyHostCount

Latencia

RequestCount

SurgeQueueLength

UnHealthyHostCount

## AWS/RDS
<a name="appinsights-metrics-datapoint-requirements-rds"></a>

ActiveTransactions

AuroraBinlogReplicaLag

AuroraReplicaLag

BackupRetentionPeriodStorageUsed

BinLogDiskUsage

BlockedTransactions

CPUCreditBalance

CommitLatency

CommitThroughput

DDLLatency

DDLThroughput

DMLLatency

DMLThroughput

DatabaseConnections

Interbloqueos

DeleteLatency

DeleteThroughput

DiskQueueDepth

EngineUptime

FreeLocalStorage

FreeStorageSpace

FreeableMemory

InsertLatency

InsertThroughput

LoginFailures

NetworkReceiveThroughput

NetworkThroughput

NetworkTransmitThroughput

Consultas

ReadIOPS

ReadThroughput

SelectLatency

SelectThroughput

SnapshotStorageUsed

TotalBackupStorageBilled

UpdateLatency

UpdateThroughput

VolumeBytesUsed

VolumeReadIOPs

VolumeWriteIOPs

WriteIOPS

WriteThroughput

## AWS/Lambda
<a name="appinsights-metrics-datapoint-requirements-lambda"></a>

Errores

DeadLetterErrors

Duración

Limitaciones

IteratorAge

ProvisionedConcurrencySpilloverInvocations

## AWS/SQS
<a name="appinsights-metrics-datapoint-requirements-sqs"></a>

ApproximateAgeOfOldestMessage

ApproximateNumberOfMessagesDelayed

ApproximateNumberOfMessagesNotVisible

ApproximateNumberOfMessagesVisible

NumberOfEmptyReceives

NumberOfMessagesDeleted

NumberOfMessagesReceived

NumberOfMessagesSent

## AWS/CWAgent
<a name="appinsights-metrics-datapoint-requirements-cwagent"></a>

Porcentaje de espacio libre en disco lógico

Porcentaje de bytes confirmados en uso en memoria

Mbytes disponibles de memoria

Total de bytes de interfaz de red/segundo

Porcentaje de uso de archivo de paginación

Porcentaje de tiempo de disco en disco físico

Promedio de disco físico Lectura de disco/segundo

Promedio de disco físico Escritura en disco/segundo

Bytes leídos/segundo en disco físico

Lecturas/segundo en disco físico

Bytes de escritura/segundo en disco físico

Escrituras/segundo en disco físico

Porcentaje de tiempo de inactividad del procesador

Porcentaje de horas de interrupción del procesador

Porcentaje de tiempo de procesador del procesador

Porcentaje de tiempo de usuario del procesador

SQLServer: métodos de acceso: registros reenviados/segundo

SQLServer: métodos de acceso: divisiones de página/segundo

SQLServer: administrador del búfer: porcentaje de aciertos de caché del búfer

SQLServer: administrador del búfer: duración prevista de página

SQLServer: bytes recibidos por segundo del archivo de réplica de base de datos

SQLServer: bytes recibidos por segundo del registro de réplica de base de datos

SQLServer: restante para deshacer del registro de réplica de base de datos

SQLServer: cola de envío de registros de réplica de base de datos

SQLServer: transacción por segundo de escritura reflejada de réplica de base de datos

SQLServer: cola de recuperación de réplica de base de datos

SQLServer: resto de bytes de rehacer de réplica de base de datos

SQLServer: bytes por segundo rehechos de réplica de base de datos

SQLServer: registro total de réplica de base de datos que requiere deshacer

SQLServer: retraso de transacción de réplica de base de datos

SQLServer: estadísticas generales: procesos bloqueados

SQLServer: estadísticas de SQL: solicitudes por lotes/segundo

SQLServer: estadísticas de SQL: compilaciones de SQL/segundo

SQLServer: estadísticas de SQL: recopilaciones de SQL/segundo

Longitud de cola del procesador del sistema

Conexiones TCPv4 establecidas

Conexiones TCPv6 establecidas

## AWS/DynamoDB
<a name="appinsights-metrics-datapoint-requirements-dynamo"></a>

ConsumedReadCapacityUnits

ConsumedWriteCapacityUnits

ReadThrottleEvents

WriteThrottleEvents

TimeToLiveDeletedItemCount

CondicionalCheckFailedRequests

TransactionConflict

ReturnedRecordsCount

PendingReplicationCount

ReplicationLatency

## AWS/S3
<a name="appinsights-metrics-datapoint-requirements-s3"></a>

ReplicationLatency

BytesPendingReplication

OperationsPendingReplication

4xxErrors

5xxErrors

AllRequests

GetRequests

PutRequests

DeleteRequests

HeadRequests

PostRequests

SelectRequests

ListRequests

SelectScannedBytes

SelectReturnedBytes

FirstByteLatency

TotalRequestLatency

BytesDownloaded

BytesUploaded

## Estados de AWS
<a name="appinsights-metrics-datapoint-requirements-states"></a>

ActivitiesScheduled

ActivitiesStarted

ActivitiesSucceeded

ActivityScheduleTime

ActivityRuntime

ActivityTime

LambdaFunctionsScheduled

LambdaFunctionsStarted

LambdaFunctionsSucceeded

LambdaFunctionScheduleTime

LambdaFunctionRuntime

LambdaFunctionTime

ServiceIntegrationsScheduled

ServiceIntegrationsStarted

ServiceIntegrationsSucceeded

ServiceIntegrationScheduleTime

ServiceIntegrationRuntime

ServiceIntegrationTime

ProvisionedRefillRate

ProvisionedBucketSize

ConsumedCapacity

ThrottledEvents

## ApiGateway de AWS
<a name="appinsights-metrics-datapoint-requirements-api-gateway"></a>

4XXError 

IntegrationLatency

Latencia

Datos procesados

CacheHitCount

CacheMissCount

## AWS/SNS
<a name="appinsights-metrics-datapoint-requirements-sns"></a>

NumberOfNotificationsDelivered

NumberOfMessagesPublished

NumberOfNotificationsFailed

NumberOfNotificationsFilteredOut

NumberOfNotificationsFilteredOut-InvalidAttributes

NumberOfNotificationsFilteredOut-NoMessageAttributes

NumberOfNotificationsRedrivenToDlq

NumberOfNotificationsFailedToRedriveToDlq

SMSSuccessRate

# Métricas recomendadas
<a name="application-insights-recommended-metrics"></a>

En la siguiente tabla se indican las métricas recomendadas para cada tipo de componente.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/application-insights-recommended-metrics.html)

En la siguiente tabla se enumeran los procesos recomendados y las métricas del proceso para cada tipo de componente. Información de aplicaciones de CloudWatch no recomienda la monitorización de procesos para aquellos que no se ejecutan en una instancia.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/application-insights-recommended-metrics.html)

# Métricas de contador de rendimiento
<a name="application-insights-performance-counter"></a>

Las métricas de contador de rendimiento solo se recomiendan para las instancias cuando los conjuntos de contadores de rendimiento correspondientes están instalados en las instancias de Windows.


| Nombre de métrica del contador de rendimiento | Nombre del conjunto de contadores de rendimiento | 
| --- | --- | 
| N.º de excepciones de CLR de.NET lanzadas | Excepciones de CLR de.NET | 
| .NET CLR Exceptions: n.º de excepciones generadas/segundo  | Excepciones de CLR de.NET | 
| .NET CLR Exceptions: n.º de filtros/segundo  | Excepciones de CLR de.NET | 
| .NET CLR Exceptions: n.º de instrucciones finally/segundo  | Excepciones de CLR de.NET | 
| .NET CLR Exceptions: generación para capturar profundidad/segundo  | Excepciones de CLR de.NET | 
| .NET CLR Interop: n.º de CCWs  | .NET CLR Interop  | 
| .NET CLR Interop: n.º de stubs  | .NET CLR Interop  | 
| .NET CLR Interop: n.º de exportaciones TLB/segundo  | .NET CLR Interop  | 
| .NET CLR Interop: n.º de importaciones TLB/segundo  | .NET CLR Interop  | 
| .NET CLR Interop: n.º de serialización  | .NET CLR Interop  | 
| .NET CLR Jit: % de tiempo en Jit  | .NET CLR Jit  | 
| .NET CLR Jit: errores de Jit estándar  | .NET CLR Jit  | 
| .NET CLR Loading: % de tiempo de carga  | .NET CLR Loading  | 
| .NET CLR Loading: errores de velocidad de carga  | .NET CLR Loading  | 
| .NET CLR LocksAndThreads: tasa de contención/segundo  | .NET CLR LocksAndThreads  | 
| .NET CLR LocksAndThreads: longitud de cola/segundo  | .NET CLR LocksAndThreads  | 
| .NET CLR Memory: n.º de bytes confirmados totales  | Memoria CLR de.NET | 
| Tiempo de % de memoria de CLR de .NET en GC | Memoria CLR de.NET | 
| .NET CLR Networking 4.0.0.0: tiempo medio de cola de HttpWebRequest  | .NET CLR Networking 4.0.0.0  | 
| .NET CLR Networking 4.0.0.0: solicitudes HttpWebRequest anuladas/segundo  | .NET CLR Networking 4.0.0.0  | 
| .NET CLR Networking 4.0.0.0: solicitudes HttpWebRequest con errores/segundo  | .NET CLR Networking 4.0.0.0  | 
| .NET CLR Networking 4.0.0.0: solicitudes HttpWebRequest en cola/segundo  | .NET CLR Networking 4.0.0.0  | 
| APP\$1POOL\$1WAS Errores totales de ping en el proceso de trabajo | APP\$1POOL\$1WAS | 
| Reinicios de aplicaciones ASP.NET  | ASP.NET  | 
| Solicitudes ASP.NET rechazadas | ASP.NET | 
| Reinicios del proceso de trabajo ASP.NET | ASP.NET | 
| Trims de API de la caché de aplicaciones ASP.NET | Aplicaciones ASP.NET | 
| Porcentaje de tiempo del procesador administrado (estimado) de las aplicaciones ASP.NET | Aplicaciones ASP.NET | 
| Errores de aplicaciones ASP.NET totales/sec | Aplicaciones ASP.NET | 
|  Errores de aplicaciones ASP.NET no controlados durante la ejecución/s  |  Aplicaciones ASP.NET  | 
|  Solicitudes de aplicaciones ASP.NET en la cola de aplicaciones  |  Aplicaciones ASP.NET  | 
|  Solicitudes de aplicaciones ASP.NET/s  |  Aplicaciones ASP.NET  | 
| Tiempo de espera de solicitudes ASP.NET  | ASP.NET  | 
| Solicitudes ASP.NET en cola  | ASP.NET  | 
| Base de datos ==> Porcentaje de aciertos de la caché de la base de datos de instancias | Base de datos ==> Instancias | 
| Base de datos ==> Latencia media de lecturas de la base de datos de E/S de instancias | Base de datos ==> Instancias | 
| Base de datos ==> Lecturas de la base de datos de E/S de instancias por segundo | Base de datos ==> Instancias | 
| Base de datos ==> Latencia media de escrituras de registros de E/S de instancias | Base de datos ==> Instancias | 
| Operaciones de replicación pendientes de DRA de DirectoryServices | DirectoryServices | 
| Sincronizaciones de replicación pendientes de DRA de DirectoryServices | DirectoryServices | 
| Tiempo de enlace LDAP de DirectoryServices | DirectoryServices | 
| Consultas recursivas de DNS por segundo | DNS | 
| Error de consulta recursiva de DNS por segundo | DNS | 
| Consultas de TCP de DNS recibidas por segundo | DNS | 
| Consultas totales de DNS recibidas por segundo | DNS | 
| Respuestas totales de DNS enviadas por segundo | DNS | 
| Consultas de UDP de DNS recibidas por segundo | DNS | 
| Colas de solicitudes de servicio HTTP CurrentQueueSize  | Colas de solicitudes de servicio HTTP  | 
|  Porcentaje de espacio libre en disco lógico  |  LogicalDisk  | 
| Promedio LogicalDisk Escritura en disco/segundo | LogicalDisk | 
| Promedio LogicalDisk Lectura de disco/segundo | LogicalDisk | 
| Promedio LogicalDisk Longitud de la cola de disco | LogicalDisk | 
|  Porcentaje de bytes confirmados en uso en memoria  | Memoria | 
|  Mbytes disponibles de memoria  |  Memoria  | 
| Páginas de memoria/segundo  |  Memoria  | 
| Duración media de la memoria caché en espera a largo plazo | Memoria | 
|  Total de bytes de interfaz de red/segundo  | Interfaz de red | 
| Bytes de interfaz de red recibidos por segundo | Interfaz de red | 
| Bytes de interfaz de red enviados por segundo | Interfaz de red | 
| Ancho de banda de interfaz de red actual | Interfaz de red | 
|  Porcentaje de uso de archivo de paginación  |  Archivo de paginación  | 
| Porcentaje de tiempo de disco en disco físico | PhysicalDisk | 
| Promedio de disco físico Longitud de la cola de disco | PhysicalDisk | 
| Promedio de disco físico Lectura de disco/segundo | PhysicalDisk | 
| Promedio de disco físico Escritura en disco/segundo | PhysicalDisk | 
| Bytes leídos/segundo en disco físico | PhysicalDisk | 
| Lecturas/segundo en disco físico | PhysicalDisk | 
| Bytes de escritura/segundo en disco físico | PhysicalDisk | 
| Escrituras/segundo en disco físico | PhysicalDisk | 
|  Porcentaje de tiempo de inactividad del procesador  | Procesador | 
| Porcentaje de horas de interrupción del procesador |  Procesador  | 
| Porcentaje de tiempo de procesador del procesador |  Procesador  | 
| Porcentaje de tiempo de usuario del procesador |  Procesador  | 
| Relación de llenado de caché de blob de la caché basada en disco de SharePoint  | Caché basada en disco de SharePoint  | 
| Vaciados de caché de blob de la caché basada en disco de SharePoint por segundo  | Caché basada en disco de SharePoint  | 
| Relación de aciertos de caché de blob de la caché basada en disco de SharePoint  | Caché basada en disco de SharePoint  | 
| Número total de compactaciones de la caché basada en disco de SharePoint | Caché basada en disco de SharePoint  | 
| Solicitud de página/tiempo de ejecución de SharePoint Foundation | SharePoint Foundation | 
| Vaciados de caché de publicación de la caché de publicación de SharePoint por segundo | Caché de publicación de SharePoint | 
| Autenticaciones Kerberos de estadísticas de seguridad en todo el sistema | Estadísticas de seguridad para todo el sistema | 
| Autenticaciones NTLM de estadísticas de seguridad en todo el sistema | Estadísticas de seguridad para todo el sistema | 
| SQLServer: métodos de acceso: registros reenviados/segundo |  SQLServer: métodos de acceso  | 
| SQLServer: métodos de acceso: exploraciones completas/segundo |  SQLServer: métodos de acceso  | 
| SQLServer: métodos de acceso: divisiones de página/segundo |  SQLServer: métodos de acceso  | 
| SQLServer: administrador del búfer: porcentaje de aciertos de caché del búfer |  SQLServer: Buffer Manager  | 
| SQLServer: administrador del búfer: duración prevista de página |  SQLServer: Buffer Manager  | 
| SQLServer: bytes recibidos por segundo del archivo de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: bytes recibidos por segundo del registro de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: restante para deshacer del registro de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: cola de envío de registros de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: transacción por segundo de escritura reflejada de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: cola de recuperación de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: resto de bytes de rehacer de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: bytes por segundo rehechos de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: registro total de réplica de base de datos que requiere deshacer | SQLServer: réplica de base de datos | 
| SQLServer: retraso de transacción de réplica de base de datos | SQLServer: réplica de base de datos | 
| SQLServer: estadísticas generales: procesos bloqueados |  SQLServer: estadísticas generales  | 
| SQLServer: estadísticas generales: conexiones de usuario | SQLServer: estadísticas generales | 
| SQLServer: bloqueos temporales: tiempo medio de espera de bloqueo temporal (ms)  | SQLServer: bloqueos temporales  | 
| SQLServer: bloqueos: tiempo medio de espera de bloqueo (ms)  | SQLServer: bloqueos  | 
| SQLServer: bloqueos: tiempos de espera de bloqueo agotados/segundo  | SQLServer: bloqueos  | 
| SQLServer: bloqueos: esperas de bloqueo/segundo  | SQLServer: bloqueos  | 
| SQLServer: bloqueos: número de interbloqueos/segundo  | SQLServer: bloqueos  | 
| SQLServer: administrador de memoria: concesiones de memoria pendientes  | SQLServer: administrador de memoria  | 
| SQLServer: estadísticas de SQL: solicitudes por lotes/segundo | SQLServer: SQL Statistics | 
| SQLServer: estadísticas de SQL: compilaciones de SQL/segundo | SQLServer: SQL Statistics | 
| SQLServer: estadísticas de SQL: recopilaciones de SQL/segundo |  SQLServer: SQL Statistics  | 
| Longitud de cola del procesador del sistema |  Sistema  | 
| Conexiones TCPv4 establecidas | TCPv4 | 
| Conexiones TCPv6 establecidas | TCPv6 | 
| W3SVC\$1W3WP: descargas de caché de archivos  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP: errores de caché de archivos  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP: solicitudes/segundo  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP: descargas de caché de URI  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP: errores de caché de URI  | W3SVC\$1W3WP  | 
| Bytes de servicios web recibidos/s |  Servicios Web  | 
| Bytes de servicios web enviados/s |  Servicios Web  | 
|  Intentos de conexión de servicio web/segundo   |  Servicios Web  | 
| Conexiones actuales de servicios web  |  Servicios Web  | 
| Solicitudes de recepción de servicio web/segundo  |  Servicios Web  | 
| Solicitudes de publicación de servicio web/segundo  |  Servicios Web  | 

# Uso de la vista del estado de recursos en la consola de CloudWatch
<a name="servicelens_resource_health"></a>

Puede utilizar la vista de estado de recursos para descubrir, administrar y visualizar automáticamente el estado y el rendimiento de los anfitriones en las aplicaciones en una sola vista. Puede visualizar el estado de sus anfitriones por una dimensión de rendimiento, como CPU o memoria, y cortar cientos de anfitriones en una sola vista mediante el uso de filtros. Puede filtrar por etiquetas o por casos de uso, como anfitriones del mismo grupo de Auto Scaling o anfitriones que utilizan el mismo balanceador de carga, 

## Requisitos previos
<a name="servicelens_resource_health-prerequisites"></a>

Para asegurarse de obtener el máximo beneficio de la vista de estado de recursos, verifique que cumple los siguientes prerequisitos.
+ Para ver la utilización de la memoria de sus anfitriones y utilizarla como filtro, debe instalar el agente de CloudWatch en sus anfitriones y configurarlo para enviar una métrica de memoria a CloudWatch en el espacio de nombres del `CWAgent` predeterminado. En las instancias de Linux y macOS, el agente de CloudWatch debe enviar la métrica de `mem_used_percent`. En las instancias de Windows, el agente debe enviar la métrica de `Memory % Committed Bytes In Use`. Estas métricas se incluyen si utiliza el asistente para crear el archivo de configuración del agente de CloudWatch y selecciona cualquiera de los conjuntos de métricas predefinidos. Las métricas recopiladas por el agente de CloudWatch se facturan como métricas personalizadas. Para obtener más información, consulte [Instalación del agente de CloudWatch](install-CloudWatch-Agent-on-EC2-Instance.md). 

  Cuando utilice el agente de CloudWatch para recopilar estas métricas de memoria para utilizarlas con la vista de estado de recursos, debe incluir la siguiente sección en el archivo de configuración del agente de CloudWatch. Esta sección contiene la configuración de dimensiones predeterminada y se crea de forma predeterminada, así que no cambie ninguna parte de esta sección por algo diferente de lo que se muestra en el siguiente ejemplo.

  ```
  "append_dimensions": {
    "ImageId": "${aws:ImageId}",
    "InstanceId": "${aws:InstanceId}",
    "InstanceType": "${aws:InstanceType}",
    "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
  },
  ```
+  Para ver toda la información disponible en la vista de estado de recursos, debe haber iniciado sesión en una cuenta que tenga los siguientes permisos. Si ha iniciado sesión con menos permisos, puede seguir utilizando la vista de estado de recursos, pero algunos datos de rendimiento no estarán visibles.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": [
                  "autoscaling:Describe*",
                  "cloudwatch:Describe*",
                  "cloudwatch:Describe*",
                  "cloudwatch:Get*",
                  "cloudwatch:List*",
                  "logs:Get*",
                  "logs:Describe*",
                  "sns:Get*",
                  "sns:List*",
                  "ec2:DescribeInstances",
                  "ec2:DescribeInstanceStatus",
                  "ec2:DescribeRegions"
              ],
              "Effect": "Allow",
              "Resource": "*"
          }
      ]
  }
  ```

------

**Para ver el estado de recursos en su cuenta**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, seleccione **Insights**, **Estados de recursos de EC2**.

   Aparecerá la página de estado de recursos que muestra un cuadrado para cada host de su cuenta. Cada cuadrado se colorea en función del estado actual de ese host, según la configuración de **Color by** (Colorear por). Los cuadrados del host con un símbolo de alarma tienen una o más alarmas actualmente en estado de ALARM (ALARMA).

   Puede ver hasta 500 anfitriones en una sola vista. Si tiene más anfitriones en la cuenta, utilice la configuración de filtro en el paso 6 de este procedimiento.

1. Para cambiar los criterios que se utilizan para mostrar el estado de cada anfitrión, elija una configuración para **Color by** (Colorear por). Puede elegir **CPU Utilization** (Utilización de la CPU),**Memory Utilization** (Utilización de la memoria) o **Status check** (Verificación de estado). Las métricas de utilización de la memoria sólo están disponibles para los anfitriones que ejecutan el agente de CloudWatch y lo tienen configurado para recopilar métricas de memoria y enviarlas al espacio de nombres del `CWAgent` determinado . Para obtener más información, consulte [Recopile las métricas, registros y seguimientos con el agente de CloudWatch](Install-CloudWatch-Agent.md).

1. Para cambiar los umbrales y los colores que se utilizan para los indicadores de estado en la cuadrícula, elija el icono con el engranaje situado por encima de la cuadrícula.

1. Para alternar si desea mostrar alarmas en la cuadrícula del host, seleccione o desactive **Show alarms across all metrics** (Mostrar alarmas en todas las métricas).

1. Para dividir en grupos los anfitriones del mapa, elija un criterio de agrupación para **Group by** (Agrupar por).

1. Para reducir la vista a menos anfitriones, elija un criterio de filtro para **Filter by** (Filtrar por). Puede filtrar por etiquetas y por agrupaciones de recursos, como grupo de Auto Scaling, tipo de instancias, grupo de seguridad, etc.

1. Para ordenar los anfitriones, elija un criterio de clasificación para **Sort by ** (Ordenar por). Puede ordenar por resultados de verificación de estado, por estado de instancia, utilización de la CPU o la memoria y por el número de alarmas que están en estado de ALARM (ALARMA).

1. Para ver más información sobre un host, elija el cuadrado que representa a ese anfitrión. Aparecerá un panel emergente. Para ver más detalles acerca de ese host, elija **View dashboard** (Ver panel) o**View on list** (Ver en lista).