

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

# Monitorización de EMR sin servidor
<a name="metrics"></a>

En esta sección, se describen las formas en las que puede monitorizar sus aplicaciones y trabajos de Amazon EMR sin servidor.

**Topics**
+ [

# Monitorización de trabajos y aplicaciones de EMR sin servidor
](app-job-metrics.md)
+ [

# Monitorice las métricas de Spark con Amazon Managed Service para Prometheus
](monitor-with-prometheus.md)
+ [

# Métricas de uso de EMR sin servidor
](monitoring-usage.md)

# Monitorización de trabajos y aplicaciones de EMR sin servidor
<a name="app-job-metrics"></a>

Con CloudWatch las métricas de Amazon para EMR Serverless, puede recibir métricas de 1 minuto y acceder a los CloudWatch paneles de control para acceder a CloudWatch las near-real-time operaciones y el rendimiento de sus aplicaciones EMR Serverless.

EMR Serverless envía métricas a CloudWatch cada minuto. EMR Serverless emite estas métricas a nivel de aplicación, así como a nivel de puesto, tipo de trabajador y niveles. capacity-allocation-type

Para empezar, utilice la plantilla de CloudWatch panel EMR Serverless que se proporciona en el repositorio EMR [ GitHub Serverless e impleméntela.](https://github.com/aws-samples/emr-serverless-samples/tree/main/cloudformation/emr-serverless-cloudwatch-dashboard/)

**nota**  
[Las cargas de trabajo interactivas EMR sin servidor](interactive-workloads.md) solo tienen habilitada la monitorización a nivel de aplicación y tienen una nueva dimensión de tipo de trabajador `Spark_Kernel`. Para monitorizar y depurar sus cargas de trabajo interactivas, acceda a los registros y la IU de Apache Spark desde [su espacio de trabajo de EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-debug.html#emr-studio-debug-serverless).

## Supervisión de métricas
<a name="app-job-metrics-versions"></a>

**importante**  
Estamos reestructurando nuestra visualización de métricas para agregar `ApplicationName` y `JobName` como dimensiones. En la versión 7.10 y las versiones posteriores, las métricas antiguas ya no se actualizarán. En las versiones de EMR anteriores a la versión 7.10, las métricas antiguas seguirán disponibles.

**Dimensiones actuales**

La siguiente tabla describe las dimensiones de EMR sin servidor disponibles en el espacio de nombres `AWS/EMR Serverless`.


**Dimensiones de las métricas de EMR sin servidor**  

| Dimensión | Description (Descripción) | 
| --- | --- | 
| ApplicationId | Filtra todas las métricas de una aplicación de EMR sin servidor mediante el ID de la aplicación. | 
| ApplicationName | Filtra todas las métricas de una aplicación de EMR sin servidor mediante el nombre. Si no se proporciona el nombre o si contiene caracteres que no sean ASCII, se publica como **[Sin especificar]**. | 
| JobId | Filtra todas las métricas de una ejecución del trabajo de EMR sin servidor mediante el ID. | 
| JobName | Filtra todas las métricas de una ejecución de trabajo de EMR sin servidor mediante el nombre. Si no se proporciona el nombre o si contiene caracteres que no sean ASCII, se publica como **[Sin especificar]**. | 
| WorkerType | Filtra todas las métricas de un tipo de trabajador determinado. Por ejemplo, puede filtrar por `SPARK_DRIVER` y `SPARK_EXECUTORS` para los trabajos de Spark. | 
| CapacityAllocationType | Filtra todas las métricas de un tipo de asignación de capacidad determinado. Por ejemplo, puede filtrar para `PreInitCapacity` por la capacidad preinicializada y `OnDemandCapacity` por todo lo demás. | 

## Monitorización a nivel de aplicación
<a name="app-level-metrics"></a>

Puede supervisar el uso de la capacidad a nivel de la aplicación EMR Serverless con las métricas de Amazon. CloudWatch También puede configurar una sola pantalla para monitorear el uso de la capacidad de las aplicaciones en un CloudWatch panel de control.


**Métricas de aplicaciones de EMR sin servidor**  

| Métrica | Description (Descripción) | Unidad | Dimensión | 
| --- | --- | --- | --- | 
| MaxCPUAllowed |  El máximo de CPU permitida para la aplicación.  | vCPU | ApplicationId, ApplicationName | 
| MaxMemoryAllowed |  El máximo de memoria permitida en GB para la aplicación.  | Gigabytes (GB) | ApplicationId, ApplicationName | 
| MaxStorageAllowed |  El máximo de almacenamiento permitido en GB para la aplicación.  | Gigabytes (GB) | ApplicationId, ApplicationName | 
| CPUAllocated |  El número total de v CPUs asignado.  | vCPU | ApplicationId, ApplicationName, WorkerType, CapacityAllocationType | 
| IdleWorkerCount |  El número total de trabajadores inactivos.  | Recuento | ApplicationId, ApplicationName, WorkerType, CapacityAllocationType | 
| MemoryAllocated |  La memoria total en GB asignada.  | Gigabytes (GB) | ApplicationId, ApplicationName, WorkerType, CapacityAllocationType | 
| PendingCreationWorkerCount |  El número total de trabajadores pendientes de creación.  | Recuento | ApplicationId, ApplicationName, WorkerType, CapacityAllocationType | 
| RunningWorkerCount |  El número total de trabajadores que utiliza la aplicación.  | Recuento | ApplicationId, ApplicationName, WorkerType, CapacityAllocationType | 
| StorageAllocated |  El almacenamiento total en disco en GB asignado.  | Gigabytes (GB) | ApplicationId, ApplicationName, WorkerType, CapacityAllocationType | 
| TotalWorkerCount |  El número total de trabajadores disponibles.  | Recuento | ApplicationId, ApplicationName, WorkerType, CapacityAllocationType | 

## Monitorización a nivel de trabajo
<a name="job-level-metrics"></a>

Amazon EMR sin servidor envía las siguientes métricas a nivel de trabajo a Amazon CloudWatch cada minuto. Puede acceder a los valores de las métricas de las ejecuciones de trabajos agregados por estado de ejecución de trabajos. La unidad de cada una de las métricas es el *recuento*.


**Métricas a nivel de trabajo de EMR sin servidor**  

| Métrica | Description (Descripción) | Dimensión | 
| --- | --- | --- | 
| SubmittedJobs | El número de trabajos en un estado de Enviado. | ApplicationId, ApplicationName | 
| PendingJobs | El número de trabajos en un estado de Pendiente. | ApplicationId, ApplicationName | 
| ScheduledJobs | El número de trabajos en un estado de Programado. | ApplicationId, ApplicationName | 
| RunningJobs | El número de trabajos en un estado de En ejecución. | ApplicationId, ApplicationName | 
| SuccessJobs | El número de trabajos en un estado de Correcto. | ApplicationId, ApplicationName | 
| FailedJobs | El número de trabajos en un estado de Error. | ApplicationId, ApplicationName | 
| CancellingJobs | El número de trabajos en un estado de Cancelado. | ApplicationId, ApplicationName | 
| CancelledJobs | El número de trabajos en un estado de Cancelado. | ApplicationId, ApplicationName | 

Puede monitorear las métricas específicas del motor para los trabajos EMR Serverless en ejecución y completados con una aplicación específica del motor. UIs Cuando se accede a la IU de un trabajo en ejecución, se muestra la IU de la aplicación en directo con actualizaciones en tiempo real. Cuando se accede a la IU de un trabajo completado, se muestra la IU persistente de la aplicación.

**Trabajos en ejecución**

Para sus trabajos de EMR sin servidor en ejecución, acceda a una interfaz en tiempo real que proporcione métricas específicas del motor. Puede utilizar la IU de Apache Spark o la IU de Hive Tez para monitorizar y depurar sus trabajos. Para acceder a ellos UIs, utilice la consola de EMR Studio o solicite un punto final de URL seguro con. AWS Command Line Interface

**Trabajos completados**

Para sus trabajos de EMR sin servidor completados, utilice el servidor de historial de Spark o la IU persistente de Hive Tez para acceder a los detalles de los trabajos, las etapas, las tareas y las métricas de las ejecuciones de trabajos de Spark o Hive. Para acceder a ellos UIs, utilice la consola de EMR Studio o solicite un punto final de URL seguro con. AWS Command Line Interface

## Monitorización a nivel de trabajador laboral
<a name="job-worker-level-metrics"></a>

Amazon EMR Serverless envía a Amazon las siguientes métricas a nivel de trabajador laboral que están disponibles en el espacio de `AWS/EMRServerless` nombres y el grupo de métricas`Job Worker Metrics`. CloudWatch EMR Serverless recopila puntos de datos de trabajadores individuales durante la ejecución de los trabajos a nivel de trabajo, tipo de trabajador y nivel. capacity-allocation-type Se puede utilizar `ApplicationId` como una dimensión para monitorizar varios trabajos que pertenecen a la misma aplicación.

**nota**  
Para ver el total de CPU y memoria utilizadas por un trabajo sin servidor de EMR al ver las métricas en la CloudWatch consola de Amazon, utilice la estadística como suma y el período como 1 minuto.


**Métricas a nivel de trabajador laboral de EMR sin servidor**  

| Métrica | Description (Descripción) | Unidad | Dimensión | 
| --- | --- | --- | --- | 
| WorkerCpuAllocated | El número total de núcleos de vCPU asignados a los trabajadores en una ejecución de trabajo. | vCPU | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 
| WorkerCpuUsed | El número total de núcleos de vCPU utilizados por los trabajadores en una ejecución de trabajo. | vCPU | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 
| WorkerMemoryAllocated | La memoria total en GB asignada a los trabajadores en una ejecución de trabajo. | Gigabytes (GB) | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 
| WorkerMemoryUsed | La memoria total en GB utilizada por los trabajadores en una ejecución de trabajo. | Gigabytes (GB) | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 
| WorkerEphemeralStorageAllocated | El número de bytes de almacenamiento efímero asignados a los trabajadores en una ejecución de trabajo. | Gigabytes (GB) | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 
| WorkerEphemeralStorageUsed | El número de bytes de almacenamiento efímero utilizados por los trabajadores en una ejecución de trabajo. | Gigabytes (GB) | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 
| WorkerStorageReadBytes | El número de bytes leídos del almacenamiento por los trabajadores en una ejecución de trabajo. | Bytes | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 
| WorkerStorageWriteBytes | El número de bytes escritos en almacenamiento por los trabajadores en una ejecución de trabajo. | Bytes | JobId, JobName, ApplicationId, ApplicationName, WorkerType, y CapacityAllocationType | 

En los siguientes pasos, se describe cómo acceder a los distintos tipos de métricas.

------
#### [ Console ]

**Para acceder a la IU de la aplicación con la consola**

1. Navegue hasta la aplicación EMR sin servidor en EMR Studio siguiendo las instrucciones de [Introducción a la consola](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html#gs-console). 

1. Para acceder a la aplicación específica del motor UIs y a los registros de un trabajo en ejecución: 

   1. Elija un trabajo con un estado `RUNNING`.

   1. Seleccione el trabajo en la página de **Detalles de la aplicación** o vaya a la página de **Detalles del trabajo** correspondiente a su trabajo.

   1. En el menú desplegable **Mostrar IU**, seleccione o la **IU de Spark** o la **IU de Hive Tez** para ir a la aplicación de IU correspondiente a su tipo de trabajo. 

   1. Para acceder a los registros del motor de Spark, vaya a la pestaña **Ejecutores** de la IU de Spark y seleccione el enlace **Registros** del controlador. Para acceder a los registros del motor de Hive, seleccione el enlace **Registros** del DAG correspondiente en la IU de Hive Tez.

1. Para acceder a la aplicación UIs y los registros específicos del motor de un trabajo completado: 

   1. Elija un trabajo con un estado `SUCCESS`.

   1. Seleccione el trabajo en la página **Detalles de la aplicación** de la aplicación o vaya a la página de **Detalles del trabajo** de su trabajo.

   1. En el menú desplegable **Mostrar IU**, seleccione o el **Servidor del historial de Spark** o la **IU persistente de Hive Tez** para ir a la IU de la aplicación correspondiente a su tipo de trabajo. 

   1. Para acceder a los registros del motor de Spark, vaya a la pestaña **Ejecutores** de la IU de Spark y seleccione el enlace **Registros** del controlador. Para acceder a los registros del motor de Hive, seleccione el enlace **Registros** del DAG correspondiente en la IU de Hive Tez.

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

**Para acceder a la interfaz de usuario de la aplicación con el AWS CLI**
+ Para generar una URL que pueda usar para acceder a la IU de su aplicación, tanto para los trabajos en ejecución como para los completados, llame a la API `GetDashboardForJobRun`. 

  ```
  aws emr-serverless get-dashboard-for-job-run /
  --application-id <application-id> /
  --job-run-id <job-id>
  ```

  La URL que genere es válida durante una hora.

------

# Monitorice las métricas de Spark con Amazon Managed Service para Prometheus
<a name="monitor-with-prometheus"></a>

Con las versiones 7.1.0 y posteriores de Amazon EMR, puede integrar EMR sin servidor con Amazon Managed Service para Prometheus para recopilar métricas de Apache Spark para trabajos y aplicaciones de EMR sin servidor. Esta integración está disponible cuando envía un trabajo o crea una aplicación mediante la AWS consola, la API EMR Serverless o la. AWS CLI

## Requisitos previos
<a name="monitoring-with-prometheus-prereqs"></a>

Antes de enviar sus métricas de Spark a Amazon Managed Service para Prometheus, debe cumplir los siguientes requisitos previos.
+ [Crear un espacio de trabajo de Amazon Managed Service para Prometheus.](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html) Este espacio de trabajo sirve como punto de conexión de ingestión. Anote la URL que se muestra para el **punto de conexión: URL de escritura remota**. Deberá especificar la URL al crear la aplicación EMR sin servidor.
+ Para conceder acceso a sus trabajos a Amazon Managed Service para Prometheus con fines de monitorización, añada la siguiente política a su rol de ejecución de trabajos.

  ```
  {
      "Sid": "AccessToPrometheus",
      "Effect": "Allow",
      "Action": ["aps:RemoteWrite"],
      "Resource": "arn:aws:aps:<AWS_REGION>:<AWS_ACCOUNT_ID>:workspace/<WORKSPACE_ID>"
  }
  ```

## Configuración
<a name="monitoring-with-prometheus-setup"></a>

**Para usar la AWS consola para crear una aplicación que esté integrada con Amazon Managed Service for Prometheus**

1. Consulte [Introducción a Amazon EMR sin servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html                             ) para crear una aplicación.

1. Mientras crea una aplicación, elija **Usar ajustes personalizados** y, a continuación, configure la aplicación especificando la información en los campos que desee configurar.

1. En **Registros y métricas de aplicaciones**, seleccione **Entregar las métricas del motor a Amazon Managed Service para Prometheus** y, a continuación, especifique su URL de escritura remota.

1. Especifique cualquier otro ajuste de configuración que desee y, a continuación, seleccione **Crear e iniciar la aplicación**.

**Utilice la API AWS CLI sin servidor o EMR**

También puede utilizar la API EMR Serverless AWS CLI o la API EMR Serverless para integrar su aplicación EMR Serverless con Amazon Managed Service for Prometheus cuando ejecute los comandos o los comandos. `create-application` `start-job-run`

------
#### [ create-application ]

```
aws emr-serverless create-application \
--release-label emr-7.1.0 \
--type "SPARK" \
--monitoring-configuration '{ 
    "prometheusMonitoringConfiguration": {
        "remoteWriteUrl": "https://aps-workspaces.<AWS_REGION>.amazonaws.com/workspaces/<WORKSPACE_ID>/api/v1/remote_write"
    }
}'
```

------
#### [ start-job-run ]

```
aws emr-serverless start-job-run \
--application-id <APPPLICATION_ID> \
--execution-role-arn <JOB_EXECUTION_ROLE> \
--job-driver '{
    "sparkSubmit": {
        "entryPoint": "local:///usr/lib/spark/examples/src/main/python/pi.py",
        "entryPointArguments": ["10000"],
        "sparkSubmitParameters": "--conf spark.dynamicAllocation.maxExecutors=10"
    }
}' \
--configuration-overrides '{
     "monitoringConfiguration": {
        "prometheusMonitoringConfiguration": {
            "remoteWriteUrl": "https://aps-workspaces.<AWS_REGION>.amazonaws.com/workspaces/<WORKSPACE_ID>/api/v1/remote_write"
        }
    }
}'
```

------

Incluir `prometheusMonitoringConfiguration` en su comando indica que EMR sin servidor debe ejecutar el trabajo de Spark con un agente que recopile las métricas de Spark y las escriba en su punto de conexión `remoteWriteUrl` para Amazon Managed Service para Prometheus. A continuación, puede utilizar las métricas de Spark en Amazon Managed Service para Prometheus para la visualización, las alertas y el análisis.

## Propiedades de configuración avanzada
<a name="monitoring-with-prometheus-config-options"></a>

EMR sin servidor utiliza un componente de Spark denominado `PrometheusServlet` para recopilar las métricas de Spark y traduce los datos de rendimiento en datos compatibles con Amazon Managed Service para Prometheus. De forma predeterminada, EMR sin servidor establece los valores predeterminados en Spark y analiza las métricas de los controladores y ejecutores cuando envía un trabajo mediante `PrometheusMonitoringConfiguration`. 

En la siguiente tabla, se describen todas las propiedades que puede configurar cuando envíe un trabajo de Spark que envíe métricas a Amazon Managed Service para Prometheus.


| Propiedad de Spark | Predeterminado | Description (Descripción) | 
| --- | --- | --- | 
| spark.metrics.conf.\$1.sink.prometheusServlet.class | org.apache.spark.metrics.sink. PrometheusServlet | La clase que Spark utiliza para enviar métricas a Amazon Managed Service para Prometheus. Para anular el comportamiento predeterminado, especifique su propia clase personalizada. | 
| spark.metrics.conf.\$1.source.jvm.class | org.apache.spark.metrics.source. JvmSource | La clase que Spark utiliza para recopilar y enviar métricas cruciales desde la máquina virtual Java subyacente. Para dejar de recopilar métricas de JVM, deshabilite esta propiedad configurándola en una cadena vacía, como `""`. Para anular el comportamiento predeterminado, especifique su propia clase personalizada.  | 
| spark.metrics.conf.driver.sink.prometheusServlet.path | /metrics/prometheus | La URL diferente que Amazon Managed Service para Prometheus utiliza para recopilar las métricas del controlador. Para anular el comportamiento predeterminado, especifique su propia ruta. Para dejar de recopilar métricas del controlador, deshabilite esta propiedad configurándola en una cadena vacía, como `""`. | 
| spark.metrics.conf.executor.sink.prometheusServlet.path | /metrics/executor/prometheus | La URL diferente que Amazon Managed Service para Prometheus utiliza para recopilar las métricas del ejecutor. Para anular el comportamiento predeterminado, especifique su propia ruta. Para dejar de recopilar métricas del ejecutor, deshabilite esta propiedad configurándola en una cadena vacía, como `""`. | 

Para obtener más información sobre las métricas de Spark, consulte las [métricas de Apache Spark](https://spark.apache.org/docs/3.5.0/monitoring.html#metrics).

## Consideraciones y limitaciones
<a name="monitoring-with-prometheus-limitations"></a>

Cuando utilice Amazon Managed Service para Prometheus para recopilar métricas de EMR sin servidor, tenga en cuenta las siguientes consideraciones y limitaciones.
+ El soporte técnico para usar Amazon Managed Service para Prometheus con EMR sin servidor solo está disponible en aquellas [Regiones de AWS donde Amazon Managed Service para Prometheus esté disponible de forma general](https://docs.aws.amazon.com/general/latest/gr/prometheus-service.html).
+ Ejecutar el agente para recopilar las métricas de Spark en Amazon Managed Service para Prometheus requiere más recursos por parte de los trabajadores. Si elige un tamaño de trabajador más pequeño, como un trabajador de vCPU, el tiempo de ejecución de su trabajo podría aumentar.
+ La compatibilidad con Amazon Managed Service para Prometheus con EMR sin servidor solo está disponible para las versiones 7.1.0 y posteriores de Amazon EMR.
+ Amazon Managed Service para Prometheus debe implementarse en la misma cuenta en la que ejecuta EMR sin servidor para poder recopilar métricas.

# Métricas de uso de EMR sin servidor
<a name="monitoring-usage"></a>

Puedes usar las métricas CloudWatch de uso de Amazon para proporcionar visibilidad de los recursos que usa tu cuenta. Usa estas métricas para visualizar el uso de tus servicios en CloudWatch gráficos y paneles.

Las métricas de uso de EMR sin servidor se corresponden con las Service Quotas. Puede configurar alarmas que le avisen cuando su uso se acerque a una Service Quota. Para obtener más información, consulta [Service Quotas y CloudWatch alarmas de Amazon](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html) en la *Guía del usuario de Service Quotas*.

Para obtener más información acerca de las Service Quotas de EMR sin servidor, consulte [Cuotas y puntos de conexión para EMR Serverless](endpoints-quotas.md).

## Métricas de uso de Service Quotas para EMR sin servidor
<a name="usage-metrics"></a>

EMR sin servidor publica las siguientes métricas de uso de Service Quotas en el espacio de nombres `AWS/Usage`.


****  

| Métrica | Description (Descripción) | 
| --- | --- | 
| `ResourceCount`  | El número total de los recursos especificados que se ejecutan en su cuenta. Los recursos se definen por las [dimensiones](#usage-metrics-dimensions) que se asocian con la métrica. | 

## Dimensiones para las métricas de uso de Service Quotas de EMR sin servidor
<a name="usage-metrics-dimensions"></a>

Puede utilizar las siguientes dimensiones para ajustar las métricas de uso que publica EMR sin servidor.


****  

| Dimensión | Valor | Description (Descripción) | 
| --- | --- | --- | 
|  `Service`  |  EMR sin servidor  | El nombre del recurso Servicio de AWS que contiene el recurso. | 
|  `Type`  |  Recurso  | El tipo de entidad que EMR sin servidor comunica. | 
|  `Resource`  |  vCPU  | El tipo de recurso que EMR sin servidor sigue. | 
|  `Class`  |  Ninguno  | La clase de recurso que EMR sin servidor sigue. | 