

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Surveillance d'Amazon Kinesis Video Streams
<a name="monitoring"></a>

La surveillance joue un rôle important dans le maintien de la fiabilité, de la disponibilité et des performances d'Amazon Kinesis Video Streams et de AWS vos solutions. Nous vous recommandons de collecter des données de surveillance provenant de toutes les parties de votre AWS solution afin de vous aider à corriger une défaillance multipoint, le cas échéant. Avant de commencer à surveiller Amazon Kinesis Video Streams, nous vous recommandons de créer un plan de surveillance incluant les réponses aux questions suivantes :
+ Quels sont les objectifs de la surveillance ?
+ Quelles sont les ressources à surveiller ?
+ À quelle fréquence les ressources doivent-elles être surveillées ?
+ Quels outils de surveillance utiliser ?
+ Qui exécute les tâches de supervision ?
+ Qui doit être informé en cas de problème ?

Après avoir défini vos objectifs de surveillance et créé votre plan de surveillance, l'étape suivante consiste à établir une base de référence pour les performances normales d'Amazon Kinesis Video Streams dans votre environnement. Vous devez mesurer les performances d'Amazon Kinesis Video Streams à différents moments et dans différentes conditions de charge. Lorsque vous surveillez Amazon Kinesis Video Streams, enregistrez l'historique des données de surveillance que vous avez collectées. Vous pouvez comparer les performances actuelles d'Amazon Kinesis Video Streams à ces données historiques pour vous aider à identifier les modèles de performances normaux et les anomalies de performances, et à concevoir des méthodes pour résoudre les problèmes susceptibles de survenir. 

**Topics**
+ [Surveillez les statistiques d'Amazon Kinesis Video Streams avec CloudWatch](monitoring-cloudwatch.md)
+ [Surveillez l'agent Amazon Kinesis Video Streams Edge avec CloudWatch](monitoring-edge-cloudwatch.md)
+ [Enregistrez les appels d'API Amazon Kinesis Video Streams avec AWS CloudTrail](monitoring-cloudtrail.md)

# Surveillez les statistiques d'Amazon Kinesis Video Streams avec CloudWatch
<a name="monitoring-cloudwatch"></a>

Vous pouvez surveiller un flux vidéo Kinesis à l'aide d'Amazon CloudWatch, qui collecte et traite les données brutes d'Amazon Kinesis Video Streams pour en faire des indicateurs lisibles en temps quasi réel. Ces statistiques sont enregistrées pendant une période de 15 mois afin que vous puissiez accéder aux informations historiques et avoir une meilleure idée des performances de votre application ou service Web. 

Dans la console [Amazon Kinesis Video Streams](https://console.aws.amazon.com//kinesisvideo/home/), vous pouvez CloudWatch consulter les statistiques d'un flux vidéo Amazon Kinesis de deux manières : 
+ Dans la page **Dashboard (Tableau de bord)** choisissez l'onglet **Video streams (Flux vidéo)** dans la section **Account-level metrics for Current Region (Métriques au niveau du compte pour la région actuelle)**.
+ Choisissez l'onglet **Monitoring (Surveillance)** dans la page de détails du flux vidéo.

Amazon Kinesis Video Streams fournit les statistiques suivantes :


| Métrique | Description | 
| --- | --- | 
| ArchivedFragmentsConsumed.Media | Nombre de points de quota de fragments multimédias consommés par tous les APIs. Pour une explication du concept de points de quota, voir[Quotas de métadonnées et de médias fragmentés](limits.md#fragment_based_throttling).Unités : nombre | 
| ArchivedFragmentsConsumed.Metadata | Le nombre de points de quota de métadonnées de fragments qui ont été consommés par tous les APIs. Pour une explication du concept de points de quota, voir[Quotas de métadonnées et de médias fragmentés](limits.md#fragment_based_throttling).Unités : nombre | 
|  `PutMedia.Requests` |  Le nombre de demandes d'`PutMedia`API pour un flux donné. Unités : nombre  | 
|  `PutMedia.IncomingBytes` |  Le nombre d'octets reçus dans le `PutMedia` cadre du flux. Unités : octets  | 
|  `PutMedia.IncomingFragments` |  Le nombre de fragments complets reçus dans le `PutMedia` cadre du flux. Unités : nombre  | 
|  `PutMedia.IncomingFrames` |  Le nombre d'images complètes reçues dans le `PutMedia` cadre du flux. Unités : nombre  | 
|  `PutMedia.ActiveConnections` |  Nombre total de connexions à l'hôte de service. Unités : nombre  | 
|  `PutMedia.ConnectionErrors` |  Les erreurs lors de l'établissement de la `PutMedia` connexion pour le flux. Unités : nombre  | 
|  `PutMedia.FragmentIngestionLatency` |  Décalage horaire entre le moment où le premier et le dernier octet d'un fragment sont reçus par Amazon Kinesis Video Streams. Unités : millisecondes  | 
|  `PutMedia.FragmentPersistLatency` |  Temps écoulé entre la réception et l'archivage de l'intégralité des données du fragment. Unités : nombre  | 
|  `PutMedia.Latency` |  La différence de temps entre la demande et la réponse HTTP InletService pendant l'établissement de la connexion. Unités : nombre  | 
|  `PutMedia.BufferingAckLatency` |  Décalage horaire entre le moment où le premier octet d'un nouveau fragment est reçu par Amazon Kinesis Video Streams et le moment où le Buffering ACK est envoyé pour le fragment. Unités : millisecondes  | 
|  `PutMedia.ReceivedAckLatency` |  Décalage horaire entre le moment où le dernier octet d'un nouveau fragment est reçu par Amazon Kinesis Video Streams et le moment où l'ACK reçu est envoyé pour le fragment. Unités : millisecondes  | 
|  `PutMedia.PersistedAckLatency` |  Décalage horaire entre le moment où le dernier octet d'un nouveau fragment est reçu par Amazon Kinesis Video Streams et le moment où le Persisted ACK est envoyé pour le fragment. Unités : millisecondes  | 
|  `PutMedia.ErrorAckCount` |  Le nombre d'erreurs ACKs envoyées lors de l'`PutMedia`exécution du flux. Unités : nombre  | 
|  `PutMedia.Success` |  1 pour chaque fragment écrit avec succès ; 0 pour chaque fragment ayant échoué. La valeur moyenne de cette métrique indique le nombre de fragments valides complets envoyé. Unités : nombre  | 
|  `GetMedia.Requests` |  Le nombre de demandes d'`GetMedia`API pour un flux donné. Unités : nombre  | 
|  `GetMedia.OutgoingBytes` |  Nombre total d'octets envoyés par le service dans le cadre de l'`GetMedia`API pour un flux donné. Unités : octets  | 
|  `GetMedia.OutgoingFragments` |  Le nombre de fragments envoyés lors de l'`GetMedia`exécution du flux. Unités : nombre  | 
|  `GetMedia.OutgoingFrames` |  Le nombre de trames envoyées pendant `GetMedia` le flux donné. Unités : nombre  | 
|  `GetMedia.MillisBehindNow` |  La différence de temps entre l'horodatage actuel du serveur et l'horodatage du dernier fragment envoyé. Unités : millisecondes  | 
|  `GetMedia.ConnectionErrors` |  Nombre de connexions qui n'ont pas été correctement établies. Unités : nombre  | 
|  `GetMedia.Success` |  1 pour chaque fragment envoyé avec succès ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetMediaForFragmentList.OutgoingBytes` |  Nombre total d'octets envoyés par le service dans le cadre de l'`GetMediaForFragmentList`API pour un flux donné. Unités : octets  | 
|  `GetMediaForFragmentList.OutgoingFragments` |  Nombre total de fragments envoyés par le service dans le cadre de l'`GetMediaForFragmentList`API pour un flux donné. Unités : nombre  | 
|  `GetMediaForFragmentList.OutgoingFrames` |  Le nombre total de trames envoyées par le service dans le cadre de l'`GetMediaForFragmentList`API pour un flux donné. Unités : nombre  | 
|  `GetMediaForFragmentList.Requests` |  Le nombre de demandes d'`GetMediaForFragmentList`API pour un flux donné. Unités : nombre  | 
|  `GetMediaForFragmentList.Success` |  1 pour chaque fragment envoyé avec succès ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `ListFragments.Latency` |  La latence de l'`ListFragments`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `ListFragments.Requests` |  Le nombre de demandes d'`ListFragments`API pour un flux donné. Unités : nombre  | 
|  `ListFragments.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetHLSStreamingSessionURL.Latency` |  La latence de l'`GetHLSStreamingSessionURL`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetHLSStreamingSessionURL.Requests` |  Le nombre de demandes d'`GetHLSStreamingSessionURL`API pour un flux donné. Unités : nombre  | 
|  `GetHLSStreamingSessionURL.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetHLSMasterPlaylist.Latency` |  La latence de l'`GetHLSMasterPlaylist`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetHLSMasterPlaylist.Requests` |  Le nombre de demandes d'`GetHLSMasterPlaylist`API pour un flux donné. Unités : nombre  | 
|  `GetHLSMasterPlaylist.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetHLSMediaPlaylist.Latency` |  La latence de l'`GetHLSMediaPlaylist`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetHLSMediaPlaylist.Requests` |  Le nombre de demandes d'`GetHLSMediaPlaylist`API pour un flux donné. Unités : nombre  | 
|  `GetHLSMediaPlaylist.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetMP4InitFragment.Latency` |  La latence de l'`GetMP4InitFragment`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetMP4InitFragment.Requests` |  Le nombre de demandes d'`GetMP4InitFragment`API pour un flux donné. Unités : nombre  | 
|  `GetMP4InitFragment.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetMP4MediaFragment.Latency` |  La latence de l'`GetMP4MediaFragment`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetMP4MediaFragment.Requests` |  Le nombre de demandes d'`GetMP4MediaFragment`API pour un flux donné. Unités : nombre  | 
|  `GetMP4MediaFragment.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetMP4MediaFragment.OutgoingBytes` |  Nombre total d'octets envoyés par le service dans le cadre de l'`GetMP4MediaFragment`API pour un flux donné. Unités : octets  | 
|  `GetTSFragment.Latency` |  La latence de l'`GetTSFragment`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetTSFragment.Requests` |  Le nombre de demandes d'`GetTSFragment`API pour un flux donné. Unités : nombre  | 
|  `GetTSFragment.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetTSFragment.OutgoingBytes` |  Nombre total d'octets envoyés par le service dans le cadre de l'`GetTSFragment`API pour un flux donné. Unités : octets  | 
|  `GetDASHStreamingSessionURL.Latency` |  La latence de l'`GetDASHStreamingSessionURL`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetDASHStreamingSessionURL.Requests` |  Le nombre de demandes d'`GetDASHStreamingSessionURL`API pour un flux donné. Unités : nombre  | 
|  `GetDASHStreamingSessionURL.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetDASHManifest.Latency` |  La latence de l'`GetDASHManifest`API appelle le nom de flux donné. Unités : millisecondes  | 
|  `GetDASHManifest.Requests` |  Le nombre de demandes d'`GetDASHManifest`API pour un flux donné. Unités : nombre  | 
|  `GetDASHManifest.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.  Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response).  Unités : nombre  | 
|  `GetClip.Latency` |  La latence de l' GetClip API nécessite le nom du flux vidéo donné.  Unités : millisecondes  | 
|  `GetClip.Requests` |  Le nombre de demandes d' GetClip API pour un flux vidéo donné.  Unités : nombre  | 
|  `GetClip.Success` |  1 pour chaque demande ayant abouti ; 0 pour chaque échec. La valeur moyenne indique le taux de réussite.   Les échecs incluent à la fois 400 erreurs (utilisateur) et 500 erreurs (système). Pour plus d'informations sur l'activation d'un résumé des demandes et des réponses, y compris les AWS demandes IDs, consultez la section Enregistrement du résumé des [demandes/réponses](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response). Unités : nombre  | 
|  `GetClip.OutgoingBytes` |  Nombre total d'octets envoyés par le service dans le cadre de l' GetClip API pour un flux vidéo donné.  Unités : octets  | 

## CloudWatch conseils sur les métriques
<a name="monitoring-cloudwatch-guidance"></a>

CloudWatch les métriques peuvent aider à trouver des réponses aux questions suivantes : 

**Topics**
+ [Les données parviennent-elles au service Amazon Kinesis Video Streams ?](#monitoring-cloudwatch-guidance-incoming)
+ [Pourquoi les données ne sont-elles pas correctement ingérées par le service Amazon Kinesis Video Streams ?](#monitoring-cloudwatch-guidance-errors)
+ [Pourquoi les données ne peuvent-elles pas être lues à partir du service Amazon Kinesis Video Streams au même rythme que celles envoyées par le producteur ?](#monitoring-cloudwatch-guidance-rate)
+ [Pourquoi la console ne lit-elle aucune vidéo, ou pourquoi la vidéo est-elle lue avec un retard ?](#monitoring-cloudwatch-guidance-novideo)
+ [Quel est le retard dans la lecture des données en temps réel et pourquoi le client est-il en retard par rapport à la tête du flux ?](#monitoring-cloudwatch-guidance-delay)
+ [Le client lise-t-il les données du flux vidéo Kinesis, et à quel rythme ?](#monitoring-cloudwatch-guidance-isread)
+ [Pourquoi le client ne peut-il pas lire les données du flux vidéo Kinesis ?](#monitoring-cloudwatch-guidance-noread)

### Les données parviennent-elles au service Amazon Kinesis Video Streams ?
<a name="monitoring-cloudwatch-guidance-incoming"></a>

**Métriques pertinentes :** 
+ `PutMedia.IncomingBytes`
+ `PutMedia.IncomingFragments`
+ `PutMedia.IncomingFrames`

**Éléments d'action :**
+ En cas de baisse de ces statistiques, vérifiez si votre application envoie toujours des données au service.
+ Vérifiez la bande passante réseau. Si votre bande passante réseau est insuffisante, cela peut ralentir la vitesse de réception des données par le service.

### Pourquoi les données ne sont-elles pas correctement ingérées par le service Amazon Kinesis Video Streams ?
<a name="monitoring-cloudwatch-guidance-errors"></a>

**Métriques pertinentes :** 
+ `PutMedia.Requests`
+ `PutMedia.ConnectionErrors`
+ `PutMedia.Success`
+ `PutMedia.ErrorAckCount`

**Éléments d'action :**
+ En cas d'augmentation`PutMedia.ConnectionErrors`, examinez la réponse HTTP et les codes d'erreur reçus par le client producteur pour voir quelles erreurs se produisent lors de l'établissement de la connexion.
+ En cas de baisse `PutMedia.Success` ou d'augmentation`PutMedia.ErrorAckCount`, examinez le code d'erreur ack dans les réponses ack envoyées par le service pour voir pourquoi l'ingestion des données échoue. Pour plus d'informations, consultez [AckErrorCode.Values.](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html)

### Pourquoi les données ne peuvent-elles pas être lues à partir du service Amazon Kinesis Video Streams au même rythme que celles envoyées par le producteur ?
<a name="monitoring-cloudwatch-guidance-rate"></a>

**Métriques pertinentes :** 
+ `PutMedia.FragmentIngestionLatency`
+ `PutMedia.IncomingBytes`

**Éléments d'action :**
+ En cas de baisse de ces indicateurs, vérifiez la bande passante réseau de vos connexions. Les connexions à bande passante faible peuvent entraîner des ralentissements de débit dans la transmission des données vers le service. 

### Pourquoi la console ne lit-elle aucune vidéo, ou pourquoi la vidéo est-elle lue avec un retard ?
<a name="monitoring-cloudwatch-guidance-novideo"></a>

**Métriques pertinentes :** 
+ `PutMedia.FragmentIngestionLatency`
+ `PutMedia.FragmentPersistLatency`
+ `PutMedia.Success`
+ `ListFragments.Latency`
+ `PutMedia.IncomingFragments`

**Éléments d'action :**
+ En cas d'augmentation `PutMedia.FragmentIngestionLatency` ou de baisse`PutMedia.IncomingFragments`, vérifiez la bande passante du réseau et vérifiez si les données sont toujours envoyées.
+ En cas de baisse`PutMedia.Success`, vérifiez les codes d'erreur du pack. Pour plus d'informations, consultez [AckErrorCode.Values.](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html)
+ S'il y a une augmentation de `PutMedia.FragmentPersistLatency` ou`ListFragments.Latency`, il est fort probable que vous rencontriez un problème de service. Si le problème persiste pendant une période prolongée, contactez votre service client pour savoir s'il y a un problème avec votre service.

### Quel est le retard dans la lecture des données en temps réel et pourquoi le client est-il en retard par rapport à la tête du flux ?
<a name="monitoring-cloudwatch-guidance-delay"></a>

**Métriques pertinentes :** 
+ `GetMedia.MillisBehindNow`
+ `GetMedia.ConnectionErrors`
+ `GetMedia.Success`

**Éléments d'action :**
+ En cas d'augmentation`GetMedia.ConnectionErrors`, le consommateur risque de prendre du retard dans la lecture du stream, en raison des fréquentes tentatives de reconnexion au stream. Regardez les response/error codes HTTP renvoyés pour la `GetMedia` requête.
+ En cas de baisse`GetMedia.Success`, cela est probablement dû au fait que le service n'est pas en mesure d'envoyer les données au consommateur, ce qui entraînerait une perte de connexion, et des reconnexions avec les clients, ce qui entraînerait un retard par rapport à la tête du stream.
+ En cas d'augmentation`GetMedia.MillisBehindNow`, examinez vos limites de bande passante pour voir si vous recevez les données à un rythme plus lent en raison d'une bande passante plus faible.

### Le client lise-t-il les données du flux vidéo Kinesis, et à quel rythme ?
<a name="monitoring-cloudwatch-guidance-isread"></a>

**Métriques pertinentes :** 
+ `GetMedia.OutgoingBytes`
+ `GetMedia.OutgoingFragments`
+ `GetMedia.OutgoingFrames`
+ `GetMediaForFragmentList.OutgoingBytes`
+ `GetMediaForFragmentList.OutgoingFragments`
+ `GetMediaForFragmentList.OutgoingFrames`

**Éléments d'action :**
+ Ces indicateurs indiquent la vitesse à laquelle les données archivées et en temps réel sont lues.

### Pourquoi le client ne peut-il pas lire les données du flux vidéo Kinesis ?
<a name="monitoring-cloudwatch-guidance-noread"></a>

**Métriques pertinentes :** 
+ `GetMedia.ConnectionErrors`
+ `GetMedia.Success`
+ `GetMediaForFragmentList.Success`
+ `PutMedia.IncomingBytes`

**Éléments d'action :**
+ En cas d'augmentation`GetMedia.ConnectionErrors`, examinez la réponse HTTP et les codes d'erreur renvoyés par la `GetMedia` requête. Pour plus d'informations, consultez [AckErrorCode.Values.](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html)
+ Si vous essayez de lire les données les plus récentes ou en temps réel, vérifiez `PutMedia.IncomingBytes` si des données entrent dans le flux pour que le service les envoie aux clients.
+ S'il y a une baisse `GetMedia.Success``GetMediaForFragmentList.Success`, cela est probablement dû au fait que le service n'est pas en mesure d'envoyer les données au consommateur. Si le problème persiste pendant une période prolongée, contactez votre service client pour savoir s'il y a un problème avec votre service.

# Surveillez l'agent Amazon Kinesis Video Streams Edge avec CloudWatch
<a name="monitoring-edge-cloudwatch"></a>

Vous pouvez surveiller l'agent Amazon Kinesis Video Streams Edge à l'aide d' CloudWatchAmazon, qui collecte et traite les données brutes pour en faire des indicateurs lisibles en temps quasi réel. Ces statistiques sont enregistrées pour une période de 15 mois. Grâce à ces informations historiques, vous pouvez avoir une meilleure idée des performances de votre application Web ou du service Amazon Kinesis Video Streams Edge Agent. 

Pour consulter les statistiques, procédez comme suit :

1. Connectez-vous à la CloudWatch console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le volet de navigation de gauche, sous **Mesures**, sélectionnez **Toutes les mesures**.

1. Choisissez l'onglet **Parcourir**, puis sélectionnez l'espace de noms **EdgeRuntimeAgent**personnalisé.

L'agent Amazon Kinesis Video Streams Edge publie les statistiques suivantes sous l'`EdgeRuntimeAgent`espace de noms :

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

## CloudWatch conseils relatifs aux métriques pour Amazon Kinesis Video Streams Edge Agent
<a name="monitoring-edge-qa"></a>

CloudWatch les métriques peuvent être utiles pour trouver des réponses aux questions suivantes :

**Topics**
+ [L'agent Amazon Kinesis Video Streams Edge dispose-t-il de suffisamment d'espace pour enregistrer ?](#monitoring-edge-space)
+ [L'agent Amazon Kinesis Video Streams Edge est-il actif ?](#monitoring-edge-alive)
+ [Y a-t-il des emplois malsains ?](#monitoring-edge-unhealthy)
+ [Certains emplois nécessitent-ils une intervention extérieure ?](#monitoring-edge-intervention)

### L'agent Amazon Kinesis Video Streams Edge dispose-t-il de suffisamment d'espace pour enregistrer ?
<a name="monitoring-edge-space"></a>

**Indicateurs pertinents :** `PercentageSpaceUsed`

**Action :** Aucune action requise.

### L'agent Amazon Kinesis Video Streams Edge est-il actif ?
<a name="monitoring-edge-alive"></a>

**Indicateurs pertinents :** `Alive`

**Action :** Si, à un moment donné, vous ne recevez plus cette métrique, cela signifie que l'agent Amazon Kinesis Video Streams Edge **a rencontré un ou** plusieurs des problèmes suivants :
+ Un problème d'exécution de l'application : contrainte de mémoire ou autre contrainte de ressources, bogue, etc.
+ L' AWS IoT appareil sur lequel l'agent est en cours d'exécution lors de l'arrêt, s'est écrasé ou s'est arrêté
+ L' AWS IoT appareil n'est pas connecté au réseau

### Y a-t-il des emplois malsains ?
<a name="monitoring-edge-unhealthy"></a>

**Métriques pertinentes :**
+ `RecordJobs.UnhealthyJobCount`
+ `UploadJobs.UnhealthyJobCount`

**Action :** Inspectez les journaux et recherchez la `FatalError` métrique.
+ Si la `FatalError` métrique **est** présente, une erreur fatale s'est produite et vous devez redémarrer le travail manuellement. Inspectez les journaux et corrigez le problème avant `StartEdgeConfigurationUpdate` de recommencer manuellement le travail. 
+ Si la `FatalError` métrique **n'est pas** présente, une erreur passagère (non fatale) s'est produite et l'agent Amazon Kinesis Video Streams Edge tente à nouveau la tâche.

**Note**  
Pour que l'agent tente à nouveau une tâche fatalement erronée, utilisez. [StartEdgeConfigurationUpdate](API_StartEdgeConfigurationUpdate.md)

### Certains emplois nécessitent-ils une intervention extérieure ?
<a name="monitoring-edge-intervention"></a>

**Métriques pertinentes :**
+ `PercentageSpaceUsed`— Si ce chiffre dépasse une certaine valeur, le travail d'enregistrement est suspendu et ne reprend que lorsque l'espace est disponible (lorsque le support n'est plus conservé). Vous pouvez envoyer une configuration mise à jour avec une valeur supérieure `MaxLocalMediaSizeInMB` pour mettre à jour la tâche immédiatement.
+ `RecordJob.FatalError`/`UploadJob.FatalError`— Examinez les journaux de l'agent et renvoyez la configuration pour que le travail reprenne.

**Action :** effectuez un appel d'API avec la configuration pour redémarrer les tâches qui rencontrent ce problème.

# Enregistrez les appels d'API Amazon Kinesis Video Streams avec AWS CloudTrail
<a name="monitoring-cloudtrail"></a>

Amazon Kinesis Video Streams fonctionne AWS CloudTrail avec un service qui fournit un enregistrement des actions effectuées par un utilisateur, un rôle ou Service AWS un utilisateur dans Amazon Kinesis Video Streams. CloudTrail capture tous les appels d'API pour Amazon Kinesis Video Streams sous forme d'événements. Les appels capturés incluent des appels provenant de la console Amazon Kinesis Video Streams et des appels de code vers les opérations de l'API Amazon Kinesis Video Streams. Si vous créez un suivi, vous pouvez activer la diffusion continue d' CloudTrail événements vers un compartiment Amazon S3, y compris des événements pour Amazon Kinesis Video Streams. Si vous ne configurez pas de suivi, vous pouvez toujours consulter les événements les plus récents dans la CloudTrail console dans **Historique des événements**. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande envoyée à Amazon Kinesis Video Streams, l'adresse IP à partir de laquelle la demande a été effectuée, l'auteur de la demande, la date à laquelle elle a été faite, ainsi que des informations supplémentaires. 

Pour en savoir plus CloudTrail, notamment comment le configurer et l'activer, consultez le *[guide de AWS CloudTrail l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)*.

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

CloudTrail est activé sur votre AWS compte lorsque vous le créez. Lorsqu'une activité événementielle prise en charge se produit dans Amazon Kinesis Video Streams, cette activité est enregistrée dans CloudTrail un événement avec AWS d'autres événements de service **dans** l'historique des événements. Vous pouvez consulter, rechercher et télécharger les événements récents dans votre AWS compte. Pour plus d'informations, consultez la section [Affichage des événements avec l'historique des CloudTrail événements](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Pour un enregistrement continu des événements de votre AWS compte, y compris les événements relatifs à Amazon Kinesis Video Streams, créez une trace. Un *suivi* permet CloudTrail de fournir des fichiers journaux à un compartiment Amazon S3. Par défaut, lorsque vous créez un journal d’activité dans la console, il s’applique à toutes les régions Régions AWS. Le journal enregistre les événements de toutes les régions de la AWS partition et transmet les fichiers journaux au compartiment Amazon S3 que vous spécifiez. En outre, vous pouvez en configurer d'autres Services AWS pour analyser plus en détail les données d'événements collectées dans les CloudTrail journaux et agir en conséquence. Pour plus d’informations, consultez les ressources suivantes : 
+ [Vue d’ensemble de la création d’un journal d’activité](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Services et intégrations pris en charge](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuration des notifications Amazon SNS pour CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Réception de fichiers CloudTrail journaux de plusieurs régions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) et [réception de fichiers CloudTrail journaux de plusieurs comptes](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon Kinesis Video Streams prend en charge l'enregistrement des actions suivantes sous forme d'événements CloudTrail dans des fichiers journaux :
+ [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)

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer les éléments suivants : 
+ Si la demande a été effectuée avec les informations d’identification utilisateur racine ou 
+ Si la demande a été effectuée avec des informations d’identification de sécurité temporaires pour un rôle ou un utilisateur fédéré
+ Si la requête a été effectuée par un autre Service AWS.

Pour plus d’informations, consultez la section [Élément userIdentity CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Exemple : entrées du fichier journal Amazon Kinesis Video Streams
<a name="understanding-service-name-entries"></a>

 Un suivi est une configuration qui permet de transmettre des événements sous forme de fichiers journaux à un compartiment Amazon S3 que vous spécifiez. CloudTrail les fichiers journaux contiennent une ou plusieurs entrées de journal. Un événement représente une demande individuelle à partir d'une source quelconque et comprend des informations sur l'action demandée, sur tous les paramètres, les paramètres de la demande, etc. Les fichiers journaux CloudTrail ne sont pas des séries ordonnées retraçant les appels d'API publics. Ils ne suivent aucun ordre précis.

L'exemple suivant montre une entrée de CloudTrail journal illustrant l'[CreateStream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_CreateStream.html)action.

```
{
    "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"
        }
    ]
}
```