

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.

# Supervisión de Amazon Kinesis Video Streams
<a name="monitoring"></a>

La supervisión es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de Amazon Kinesis Video Streams y AWS sus soluciones. Le recomendamos recopilar datos de monitoreo de todas las partes de la AWS solución para ayudarlo a depurar un error multipunto, en caso de que se produzca. Antes de empezar a monitorizar Amazon Kinesis Video Streams, le recomendamos que cree un plan de supervisión que incluya respuestas a las siguientes preguntas:
+ ¿Cuáles son los objetivos de la supervisión?
+ ¿Qué recursos va a supervisar?
+ ¿Con qué frecuencia va a supervisar estos recursos?
+ ¿Qué herramientas de supervisión va a utilizar?
+ ¿Quién se encargará de realizar las tareas de supervisión?
+ ¿Quién debería recibir una notificación cuando surjan problemas?

Una vez que haya definido sus objetivos de monitoreo y creado su plan de monitoreo, el siguiente paso es establecer un punto de referencia para el rendimiento normal de Amazon Kinesis Video Streams en su entorno. Debe medir el rendimiento de Amazon Kinesis Video Streams en distintos momentos y en diferentes condiciones de carga. Cuando supervise Amazon Kinesis Video Streams, almacene un historial de los datos de monitoreo que haya recopilado. Puede comparar el rendimiento actual de Amazon Kinesis Video Streams con estos datos históricos para ayudarle a identificar los patrones de rendimiento normales y las anomalías de rendimiento, y a diseñar métodos para abordar los problemas que puedan surgir. 

**Topics**
+ [Supervise las métricas de Amazon Kinesis Video Streams con CloudWatch](monitoring-cloudwatch.md)
+ [Supervise el agente Edge de Amazon Kinesis Video Streams con CloudWatch](monitoring-edge-cloudwatch.md)
+ [Registre las llamadas a la API de Amazon Kinesis Video Streams con AWS CloudTrail](monitoring-cloudtrail.md)

# Supervise las métricas de Amazon Kinesis Video Streams con CloudWatch
<a name="monitoring-cloudwatch"></a>

Puede monitorizar una transmisión de vídeo de Kinesis mediante Amazon CloudWatch, que recopila y procesa datos sin procesar de Amazon Kinesis Video Streams para convertirlos en métricas legibles y prácticamente en tiempo real. Estas estadísticas se registran durante un período de 15 meses para que pueda acceder a la información histórica y obtener una mejor perspectiva del rendimiento de su aplicación o servicio web. 

En la consola de [Amazon Kinesis Video Streams](https://console.aws.amazon.com//kinesisvideo/home/), puede CloudWatch ver las métricas de una transmisión de vídeo de Amazon Kinesis de dos maneras: 
+ En la página **Dashboard (Panel)**, elija la pestaña **Video streams (Transmisiones de vídeo)** en la sección **Account-level metrics for Current Region (Métricas de nivel de cuenta de la región actual)**.
+ Selecciona la pestaña **Monitoring (Monitoreo)** en la página de detalles de la transmisión de vídeo.

Amazon Kinesis Video Streams proporciona las siguientes métricas:


| Métrica | Description (Descripción) | 
| --- | --- | 
| ArchivedFragmentsConsumed.Media | El número de puntos de cuota de contenido multimedia fragmentado que consumieron todos los APIs. Para obtener una explicación del concepto de puntos de cuota, consulte[Cuotas de fragmentos de metadatos y fragmentos de medios](limits.md#fragment_based_throttling).Unidades: recuento | 
| ArchivedFragmentsConsumed.Metadata | El número de fragmentos de puntos de cuota de metadatos que consumieron todos los APIs. Para obtener una explicación del concepto de puntos de cuota, consulte[Cuotas de fragmentos de metadatos y fragmentos de medios](limits.md#fragment_based_throttling).Unidades: recuento | 
|  `PutMedia.Requests` |  El número de solicitudes de `PutMedia` API para una transmisión determinada. Unidades: recuento  | 
|  `PutMedia.IncomingBytes` |  El número de bytes recibidos como parte `PutMedia` de la transmisión. Unidades: bytes  | 
|  `PutMedia.IncomingFragments` |  El número de fragmentos completos recibidos como parte `PutMedia` de la transmisión. Unidades: recuento  | 
|  `PutMedia.IncomingFrames` |  El número de fotogramas completos recibidos como parte `PutMedia` de la transmisión. Unidades: recuento  | 
|  `PutMedia.ActiveConnections` |  Número total de conexiones al host de servicio. Unidades: recuento  | 
|  `PutMedia.ConnectionErrors` |  Los errores al establecer la `PutMedia` conexión para la transmisión. Unidades: recuento  | 
|  `PutMedia.FragmentIngestionLatency` |  La diferencia de tiempo entre el momento en que Amazon Kinesis Video Streams recibe el primer y el último byte de un fragmento. Unidades: milisegundos  | 
|  `PutMedia.FragmentPersistLatency` |  El tiempo transcurrido desde que se reciben y archivan los datos completos del fragmento. Unidades: recuento  | 
|  `PutMedia.Latency` |  La diferencia de tiempo entre la solicitud y la respuesta HTTP desde el momento en InletService que se estableció la conexión. Unidades: recuento  | 
|  `PutMedia.BufferingAckLatency` |  La diferencia de tiempo entre el momento en que Amazon Kinesis Video Streams recibe el primer byte de un fragmento nuevo y el momento en que se envía el ACK de almacenamiento en búfer para el fragmento. Unidades: milisegundos  | 
|  `PutMedia.ReceivedAckLatency` |  La diferencia de tiempo entre el momento en que Amazon Kinesis Video Streams recibe el último byte de un fragmento nuevo y el momento en que se envía el ACK recibido para el fragmento. Unidades: milisegundos  | 
|  `PutMedia.PersistedAckLatency` |  La diferencia de tiempo entre el momento en que Amazon Kinesis Video Streams recibe el último byte de un fragmento nuevo y el momento en que se envía el ACK persistente para el fragmento. Unidades: milisegundos  | 
|  `PutMedia.ErrorAckCount` |  El número de errores ACKs enviados `PutMedia` durante la transmisión. Unidades: recuento  | 
|  `PutMedia.Success` |  1 para cada fragmento escrito correctamente; 0 por cada fragmento que no se ha escrito. El valor promedio de esta métrica indica cuántos fragmentos completos y válidos se han enviado. Unidades: recuento  | 
|  `GetMedia.Requests` |  El número de solicitudes de `GetMedia` API para una transmisión determinada. Unidades: recuento  | 
|  `GetMedia.OutgoingBytes` |  El número total de bytes enviados desde el servicio como parte de la `GetMedia` API para una transmisión determinada. Unidades: bytes  | 
|  `GetMedia.OutgoingFragments` |  El número de fragmentos enviados `GetMedia` durante la transmisión. Unidades: recuento  | 
|  `GetMedia.OutgoingFrames` |  El número de fotogramas enviados durante `GetMedia` una transmisión determinada. Unidades: recuento  | 
|  `GetMedia.MillisBehindNow` |  La diferencia de tiempo entre la marca de tiempo actual del servidor y la marca de tiempo del servidor del último fragmento enviado. Unidades: milisegundos  | 
|  `GetMedia.ConnectionErrors` |  Número de conexiones que no se establecieron correctamente. Unidades: recuento  | 
|  `GetMedia.Success` |  1 por cada fragmento enviado correctamente; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). [Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulte el registro resumido de solicitudes y respuestas.](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)  Unidades: recuento  | 
|  `GetMediaForFragmentList.OutgoingBytes` |  El número total de bytes enviados desde el servicio como parte de la `GetMediaForFragmentList` API para una transmisión determinada. Unidades: bytes  | 
|  `GetMediaForFragmentList.OutgoingFragments` |  El número total de fragmentos enviados desde el servicio como parte de la `GetMediaForFragmentList` API para una transmisión determinada. Unidades: recuento  | 
|  `GetMediaForFragmentList.OutgoingFrames` |  El número total de fotogramas enviados desde el servicio como parte de la `GetMediaForFragmentList` API para una transmisión determinada. Unidades: recuento  | 
|  `GetMediaForFragmentList.Requests` |  El número de solicitudes de `GetMediaForFragmentList` API para una transmisión determinada. Unidades: recuento  | 
|  `GetMediaForFragmentList.Success` |  1 por cada fragmento enviado correctamente; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `ListFragments.Latency` |  La latencia de la `ListFragments` API requiere el nombre de la transmisión determinada. Unidades: milisegundos  | 
|  `ListFragments.Requests` |  El número de solicitudes de `ListFragments` API para una transmisión determinada. Unidades: recuento  | 
|  `ListFragments.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetHLSStreamingSessionURL.Latency` |  La latencia de la `GetHLSStreamingSessionURL` API requiere el nombre de la transmisión determinada. Unidades: milisegundos  | 
|  `GetHLSStreamingSessionURL.Requests` |  El número de solicitudes de `GetHLSStreamingSessionURL` API para una transmisión determinada. Unidades: recuento  | 
|  `GetHLSStreamingSessionURL.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetHLSMasterPlaylist.Latency` |  La latencia de la `GetHLSMasterPlaylist` API requiere el nombre de la transmisión determinada. Unidades: milisegundos  | 
|  `GetHLSMasterPlaylist.Requests` |  El número de solicitudes de `GetHLSMasterPlaylist` API para una transmisión determinada. Unidades: recuento  | 
|  `GetHLSMasterPlaylist.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetHLSMediaPlaylist.Latency` |  La latencia de la `GetHLSMediaPlaylist` API requiere el nombre de la transmisión determinada. Unidades: milisegundos  | 
|  `GetHLSMediaPlaylist.Requests` |  El número de solicitudes de `GetHLSMediaPlaylist` API para una transmisión determinada. Unidades: recuento  | 
|  `GetHLSMediaPlaylist.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetMP4InitFragment.Latency` |  La latencia de la `GetMP4InitFragment` API requiere el nombre de la transmisión determinada. Unidades: milisegundos  | 
|  `GetMP4InitFragment.Requests` |  El número de solicitudes de `GetMP4InitFragment` API para una transmisión determinada. Unidades: recuento  | 
|  `GetMP4InitFragment.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetMP4MediaFragment.Latency` |  La latencia de la `GetMP4MediaFragment` API requiere el nombre de la transmisión determinada. Unidades: milisegundos  | 
|  `GetMP4MediaFragment.Requests` |  El número de solicitudes de `GetMP4MediaFragment` API para una transmisión determinada. Unidades: recuento  | 
|  `GetMP4MediaFragment.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetMP4MediaFragment.OutgoingBytes` |  El número total de bytes enviados desde el servicio como parte de la `GetMP4MediaFragment` API para una transmisión determinada. Unidades: bytes  | 
|  `GetTSFragment.Latency` |  La latencia de la `GetTSFragment` API requiere el nombre de la transmisión dada. Unidades: milisegundos  | 
|  `GetTSFragment.Requests` |  El número de solicitudes de `GetTSFragment` API para una transmisión determinada. Unidades: recuento  | 
|  `GetTSFragment.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetTSFragment.OutgoingBytes` |  El número total de bytes enviados desde el servicio como parte de la `GetTSFragment` API para una transmisión determinada. Unidades: bytes  | 
|  `GetDASHStreamingSessionURL.Latency` |  La latencia de la `GetDASHStreamingSessionURL` API requiere el nombre de la transmisión dada. Unidades: milisegundos  | 
|  `GetDASHStreamingSessionURL.Requests` |  El número de solicitudes de `GetDASHStreamingSessionURL` API para una transmisión determinada. Unidades: recuento  | 
|  `GetDASHStreamingSessionURL.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetDASHManifest.Latency` |  La latencia de la `GetDASHManifest` API requiere el nombre de la transmisión determinada. Unidades: milisegundos  | 
|  `GetDASHManifest.Requests` |  El número de solicitudes de `GetDASHManifest` API para una transmisión determinada. Unidades: recuento  | 
|  `GetDASHManifest.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.  Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unidades: recuento  | 
|  `GetClip.Latency` |  La latencia de la GetClip API requiere el nombre de la transmisión de vídeo dada.  Unidades: milisegundos  | 
|  `GetClip.Requests` |  El número de solicitudes de GetClip API para una transmisión de vídeo determinada.  Unidades: recuento  | 
|  `GetClip.Success` |  1 por cada solicitud correcta; 0 por cada error. El valor promedio indica la tasa de éxito.   Los errores incluyen errores 400 (usuario) y errores 500 (sistema). Para obtener más información sobre cómo habilitar un resumen de las solicitudes y respuestas, incluida la AWS solicitud IDs, consulta el registro resumido de [solicitudes y respuestas](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response). Unidades: recuento  | 
|  `GetClip.OutgoingBytes` |  El número total de bytes enviados desde el servicio como parte de la GetClip API para una transmisión de vídeo determinada.  Unidades: bytes  | 

## CloudWatch guía de métricas
<a name="monitoring-cloudwatch-guidance"></a>

CloudWatch las métricas pueden ayudar a encontrar respuestas a las siguientes preguntas: 

**Topics**
+ [¿Llegan los datos al servicio Amazon Kinesis Video Streams?](#monitoring-cloudwatch-guidance-incoming)
+ [¿Por qué el servicio Amazon Kinesis Video Streams no ingiere correctamente los datos?](#monitoring-cloudwatch-guidance-errors)
+ [¿Por qué no se pueden leer los datos del servicio Amazon Kinesis Video Streams a la misma velocidad que los envía el productor?](#monitoring-cloudwatch-guidance-rate)
+ [¿Por qué no se ve vídeo en la consola, o por qué se reproduce el vídeo con retraso?](#monitoring-cloudwatch-guidance-novideo)
+ [¿Cuál es el retraso en la lectura de los datos en tiempo real, y por qué se retrasa el cliente con relación al encabezado de la transmisión?](#monitoring-cloudwatch-guidance-delay)
+ [¿El cliente lee datos de la transmisión de vídeo de Kinesis y a qué velocidad?](#monitoring-cloudwatch-guidance-isread)
+ [¿Por qué el cliente no puede leer los datos de la transmisión de vídeo de Kinesis?](#monitoring-cloudwatch-guidance-noread)

### ¿Llegan los datos al servicio Amazon Kinesis Video Streams?
<a name="monitoring-cloudwatch-guidance-incoming"></a>

**Métricas relevantes:** 
+ `PutMedia.IncomingBytes`
+ `PutMedia.IncomingFragments`
+ `PutMedia.IncomingFrames`

**Elementos de acción:**
+ Si estas métricas disminuyen, compruebe si la aplicación sigue enviando datos al servicio.
+ Compruebe el ancho de banda de la red. Si el ancho de banda de la red es insuficiente, podría estar reduciendo la velocidad a la que el servicio recibe los datos.

### ¿Por qué el servicio Amazon Kinesis Video Streams no ingiere correctamente los datos?
<a name="monitoring-cloudwatch-guidance-errors"></a>

**Métricas relevantes:** 
+ `PutMedia.Requests`
+ `PutMedia.ConnectionErrors`
+ `PutMedia.Success`
+ `PutMedia.ErrorAckCount`

**Elementos de acción:**
+ Si se produce un aumento`PutMedia.ConnectionErrors`, observe la respuesta HTTP y los códigos de error recibidos por el cliente productor para ver qué errores se están produciendo al establecer la conexión.
+ Si se produce una disminución `PutMedia.Success` o un aumento`PutMedia.ErrorAckCount`, consulta el código de error ack que aparece en las respuestas de ack enviadas por el servicio para ver por qué falla la ingesta de datos. Para obtener más información, consulte [AckErrorCode.Values](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html).

### ¿Por qué no se pueden leer los datos del servicio Amazon Kinesis Video Streams a la misma velocidad que los envía el productor?
<a name="monitoring-cloudwatch-guidance-rate"></a>

**Métricas relevantes:** 
+ `PutMedia.FragmentIngestionLatency`
+ `PutMedia.IncomingBytes`

**Elementos de acción:**
+ Si estas métricas disminuyen, compruebe el ancho de banda de red de sus conexiones. Las conexiones con un ancho de banda bajo podrían ser la causa de que los datos lleguen al servicio a una velocidad menor. 

### ¿Por qué no se ve vídeo en la consola, o por qué se reproduce el vídeo con retraso?
<a name="monitoring-cloudwatch-guidance-novideo"></a>

**Métricas relevantes:** 
+ `PutMedia.FragmentIngestionLatency`
+ `PutMedia.FragmentPersistLatency`
+ `PutMedia.Success`
+ `ListFragments.Latency`
+ `PutMedia.IncomingFragments`

**Elementos de acción:**
+ Si se produce un aumento `PutMedia.FragmentIngestionLatency` o una disminución`PutMedia.IncomingFragments`, comprueba el ancho de banda de la red y comprueba si los datos se siguen enviando.
+ Si se produce una caída`PutMedia.Success`, comprueba los códigos de error del paquete. Para obtener más información, consulte [AckErrorCode.Values](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html).
+ Si hay un aumento en `PutMedia.FragmentPersistLatency` o`ListFragments.Latency`, lo más probable es que tengas un problema con el servicio. Si el problema persiste durante un período prolongado, consulta con tu contacto del servicio de atención al cliente para ver si hay algún problema con el servicio.

### ¿Cuál es el retraso en la lectura de los datos en tiempo real, y por qué se retrasa el cliente con relación al encabezado de la transmisión?
<a name="monitoring-cloudwatch-guidance-delay"></a>

**Métricas relevantes:** 
+ `GetMedia.MillisBehindNow`
+ `GetMedia.ConnectionErrors`
+ `GetMedia.Success`

**Elementos de acción:**
+ Si hay un aumento`GetMedia.ConnectionErrors`, es posible que el consumidor se esté retrasando en la lectura de la transmisión debido a los frecuentes intentos de volver a conectarse a la transmisión. Mira los response/error códigos HTTP devueltos para la `GetMedia` solicitud.
+ Si se produce una caída`GetMedia.Success`, es probable que se deba a que el servicio no puede enviar los datos al consumidor, lo que provocaría una interrupción de la conexión y la reconexión de los consumidores, lo que provocaría que el consumidor quedara rezagado con respecto a la transmisión.
+ Si se produce un aumento`GetMedia.MillisBehindNow`, comprueba los límites de ancho de banda para ver si recibes los datos a un ritmo más lento debido a que el ancho de banda es menor.

### ¿El cliente lee datos de la transmisión de vídeo de Kinesis y a qué velocidad?
<a name="monitoring-cloudwatch-guidance-isread"></a>

**Métricas relevantes:** 
+ `GetMedia.OutgoingBytes`
+ `GetMedia.OutgoingFragments`
+ `GetMedia.OutgoingFrames`
+ `GetMediaForFragmentList.OutgoingBytes`
+ `GetMediaForFragmentList.OutgoingFragments`
+ `GetMediaForFragmentList.OutgoingFrames`

**Elementos de acción:**
+ Estas métricas indican la velocidad a la que se leen los datos archivados y en tiempo real.

### ¿Por qué el cliente no puede leer los datos de la transmisión de vídeo de Kinesis?
<a name="monitoring-cloudwatch-guidance-noread"></a>

**Métricas relevantes:** 
+ `GetMedia.ConnectionErrors`
+ `GetMedia.Success`
+ `GetMediaForFragmentList.Success`
+ `PutMedia.IncomingBytes`

**Elementos de acción:**
+ Si hay un aumento`GetMedia.ConnectionErrors`, observe la respuesta HTTP y los códigos de error devueltos por la `GetMedia` solicitud. Para obtener más información, consulta [AckErrorCode.Values](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html).
+ Si estás intentando leer los datos más recientes o en tiempo real, comprueba `PutMedia.IncomingBytes` si están ingresando datos en la transmisión para que el servicio los envíe a los consumidores.
+ Si se produce una caída `GetMedia.Success` o`GetMediaForFragmentList.Success`, probablemente, se deba a que el servicio no ha podido enviar los datos al consumidor. Si el problema persiste durante un período prolongado, consulta con tu contacto del servicio de atención al cliente para ver si hay algún problema con el servicio.

# Supervise el agente Edge de Amazon Kinesis Video Streams con CloudWatch
<a name="monitoring-edge-cloudwatch"></a>

Puede monitorizar el Amazon Kinesis Video Streams Edge Agent con CloudWatch Amazon, que recopila y procesa datos sin procesar para convertirlos en métricas legibles y prácticamente en tiempo real. Estas estadísticas se registran durante un período de 15 meses. Con esta información histórica, puede obtener una mejor perspectiva del rendimiento de su aplicación web o del servicio Amazon Kinesis Video Streams Edge Agent. 

Para ver las métricas, haga lo siguiente:

1. Inicie sesión en Consola de administración de AWS y abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el menú de navegación de la izquierda, en **Métricas**, selecciona **Todas las métricas**.

1. Selecciona la pestaña **Explorar** y, a continuación, selecciona el espacio de nombres **EdgeRuntimeAgent**personalizado.

El agente Edge de Amazon Kinesis Video Streams publica las siguientes métricas en el espacio de nombres: `EdgeRuntimeAgent`

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/kinesisvideostreams/latest/dg/monitoring-edge-cloudwatch.html)

## CloudWatch guía de métricas para Amazon Kinesis Video Streams Edge Agent
<a name="monitoring-edge-qa"></a>

CloudWatch las métricas pueden resultar útiles para encontrar respuestas a las siguientes preguntas:

**Topics**
+ [¿El agente Edge de Amazon Kinesis Video Streams tiene suficiente espacio para grabar?](#monitoring-edge-space)
+ [¿Está activo el agente Edge de Amazon Kinesis Video Streams?](#monitoring-edge-alive)
+ [¿Hay trabajos insalubres?](#monitoring-edge-unhealthy)
+ [¿Hay algún trabajo que necesite intervención externa?](#monitoring-edge-intervention)

### ¿El agente Edge de Amazon Kinesis Video Streams tiene suficiente espacio para grabar?
<a name="monitoring-edge-space"></a>

**Métricas relevantes:** `PercentageSpaceUsed`

**Acción:** no es necesaria ninguna acción.

### ¿Está activo el agente Edge de Amazon Kinesis Video Streams?
<a name="monitoring-edge-alive"></a>

**Métricas relevantes:** `Alive`

**Acción:** Si en algún momento deja de recibir esta métrica, significa que el agente Edge de Amazon Kinesis Video Streams **ha detectado uno o varios** de los siguientes factores:
+ Un problema de tiempo de ejecución de la aplicación: limitación de memoria u otros recursos, error, etc.
+ El AWS IoT dispositivo que el agente está ejecutando se apagó, se bloqueó o se cerró
+ El AWS IoT dispositivo no tiene conectividad de red

### ¿Hay trabajos insalubres?
<a name="monitoring-edge-unhealthy"></a>

**Métricas relevantes:**
+ `RecordJobs.UnhealthyJobCount`
+ `UploadJobs.UnhealthyJobCount`

**Acción:** inspeccione los registros y busque la `FatalError` métrica.
+ Si la `FatalError` métrica **está** presente, se ha producido un error grave y es necesario reiniciar el trabajo manualmente. Inspeccione los registros y solucione el problema antes `StartEdgeConfigurationUpdate` de reiniciarlos manualmente. 
+ Si la `FatalError` métrica **no está** presente, se ha producido un error transitorio (no grave) y Amazon Kinesis Video Streams Edge Agent está reintentando el trabajo.

**nota**  
Para que el agente vuelva a intentar un trabajo en el que se cometió un error grave, utilice. [StartEdgeConfigurationUpdate](API_StartEdgeConfigurationUpdate.md)

### ¿Hay algún trabajo que necesite intervención externa?
<a name="monitoring-edge-intervention"></a>

**Métricas relevantes:**
+ `PercentageSpaceUsed`— Si supera un valor determinado, el trabajo de grabación se detiene y se reanuda solo cuando hay espacio disponible (cuando el material deja de retenerse). Puede enviar una configuración actualizada con un valor superior `MaxLocalMediaSizeInMB` para actualizar el trabajo inmediatamente.
+ `RecordJob.FatalError`/`UploadJob.FatalError`— Investigue los registros del agente y vuelva a enviar la configuración para que se reanude el trabajo.

**Acción:** Realice una llamada a la API con la configuración para reiniciar los trabajos que tengan este problema.

# Registre las llamadas a la API de Amazon Kinesis Video Streams con AWS CloudTrail
<a name="monitoring-cloudtrail"></a>

Amazon Kinesis Video Streams funciona AWS CloudTrail con un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o Servicio de AWS una persona en Amazon Kinesis Video Streams. CloudTrail captura todas las llamadas a la API de Amazon Kinesis Video Streams como eventos. Las llamadas capturadas incluyen llamadas desde la consola de Amazon Kinesis Video Streams y llamadas en código a las operaciones de la API de Amazon Kinesis Video Streams. Si crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos de Amazon Kinesis Video Streams. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el **historial** de eventos. Con la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a Amazon Kinesis Video Streams, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y detalles adicionales. 

Para obtener más información CloudTrail, incluido cómo configurarlo y habilitarlo, consulte la *[Guía del AWS CloudTrail usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)*.

## Amazon Kinesis Video Streams y CloudTrail
<a name="akvs-info-in-cloudtrail"></a>

CloudTrail está activado en su AWS cuenta al crear la cuenta. Cuando se produce una actividad de eventos admitida en Amazon Kinesis Video Streams, esa actividad se registra en CloudTrail un evento junto con AWS otros eventos de servicio **en** el historial de eventos. Puede ver, buscar y descargar los eventos recientes en su AWS cuenta. Para obtener más información, consulte [Visualización de eventos con el historial de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Para obtener un registro continuo de los eventos de su AWS cuenta, incluidos los eventos de Amazon Kinesis Video Streams, cree una ruta. Un *rastro* permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las Regiones de AWS. La ruta registra los eventos de todas las regiones de la AWS partición y envía los archivos de registro al bucket de Amazon S3 que especifique. Además, puede configurar otros Servicios de AWS para que analicen más a fondo los datos de eventos recopilados en los CloudTrail registros y actúen en función de ellos. Para más información, consulte los siguientes temas: 
+ [Introducción a la creación de registros de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Integraciones y servicios compatibles](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuración de las notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Recibir archivos de CloudTrail registro de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [recibir archivos de CloudTrail registro de varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon Kinesis Video Streams admite el registro de las siguientes acciones como eventos CloudTrail en archivos de registro:
+ [CreateStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_CreateStream.html)
+ [DeleteStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DeleteStream.html)
+ [DescribeStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html)
+ [GetDataEndpoint](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_GetDataEndpoint.html)
+ [ListStreams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html)
+ [ListTagsForStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListTagsForStream.html)
+ [TagStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_TagStream.html)
+ [UntagStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_UntagStream.html)
+ [UpdateDataRetention](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_UpdateDataRetention.html)
+ [UpdateStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_UpdateStream.html)

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente: 
+ si la solicitud se realizó con las credenciales del nodo raíz o del usuario
+ si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado
+ Si la solicitud la realizó otro Servicio de AWS.

Para obtener más información, consulte el [Elemento userIdentity de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Ejemplo: entradas del archivo de registro de Amazon Kinesis Video Streams
<a name="understanding-service-name-entries"></a>

 Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que usted especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. Un evento representa una única solicitud de cualquier origen e incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etcétera. Los archivos de registro de CloudTrail no son un rastro de la pila ordenada de las llamadas a la API públicas, por lo que no aparecen en ningún orden específico.

El siguiente ejemplo muestra una entrada de CloudTrail registro que demuestra la [CreateStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_CreateStream.html)acción.

```
{
    "Records": [
        {
            "eventVersion": "1.05",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:user/Alice",
                "accountId": "123456789012",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2018-05-25T00:16:31Z",
            "eventSource": " kinesisvideo.amazonaws.com",
            "eventName": "CreateStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "VideoStream",
                "dataRetentionInHours": 2,	
                "mediaType": "mediaType",
                "kmsKeyId": "arn:aws:kms::us-east-1:123456789012:alias",
		"deviceName": "my-device"
      		},
            "responseElements": {
		"streamARN":arn:aws:kinesisvideo:us-east-1:123456789012:stream/VideoStream/12345"
             },
            "requestID": "db6c59f8-c757-11e3-bc3b-57923b443c1c",
            "eventID": "b7acfcd0-6ca9-4ee1-a3d7-c4e8d420d99b"
        },
        {
            "eventVersion": "1.05",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:user/Alice",
                "accountId": "123456789012",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2018-05-25:17:06Z",
            "eventSource": " kinesisvideo.amazonaws.com",
            "eventName": "DeleteStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamARN": "arn:aws:kinesisvideo:us-east-1:012345678910:stream/VideoStream/12345",
                "currentVersion": "keqrjeqkj9"
             },
            "responseElements": null,
            "requestID": "f0944d86-c757-11e3-b4ae-25654b1d3136",
            "eventID": "0b2f1396-88af-4561-b16f-398f8eaea596"
        },
        {
            "eventVersion": "1.05",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:user/Alice",
                "accountId": "123456789012",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:15:02Z",
            "eventSource": " kinesisvideo.amazonaws.com",
            "eventName": "DescribeStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "VideoStream"
             },
            "responseElements": null,
            "requestID": "a68541ca-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "22a5fb8f-4e61-4bee-a8ad-3b72046b4c4d"
        },
        {
            "eventVersion": "1.05",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:user/Alice",
                "accountId": "123456789012",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:15:03Z",
            "eventSource": "kinesisvideo.amazonaws.com",
            "eventName": "GetDataEndpoint",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "VideoStream",
                "aPIName": "LIST_FRAGMENTS"
"
            },
            "responseElements": null,
            "requestID": "a6e6e9cd-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "dcd2126f-c8d2-4186-b32a-192dd48d7e33"
        },
        {
            "eventVersion": "1.05",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::123456789012:user/Alice",
                "accountId": "123456789012",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2018-05-25T00:16:56Z",
            "eventSource": "kinesisvideo.amazonaws.com",
            "eventName": "ListStreams",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "maxResults": 100, 
                "streamNameCondition": {"comparisonValue":"MyVideoStream" comparisonOperator":"BEGINS_WITH"}}
            }, 
            "responseElements": null,
            "requestID": "e9f9c8eb-c757-11e3-bf1d-6948db3cd570",
            "eventID": "77cf0d06-ce90-42da-9576-71986fec411f"
        }
    ]
}
```