Surveillance de la bibliothèque Kinesis Producer avec Amazon CloudWatch - Amazon Kinesis Data Streams

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 de la bibliothèque Kinesis Producer avec Amazon CloudWatch

La .Bibliothèque Producteur Kinesis(KPL) pour Amazon Kinesis Data Streams publie des statistiques Amazon CloudWatch personnalisées en votre nom. Vous pouvez afficher ces métriques en accédant à laConsole CloudWatchet en choisissantMétriques personnalisées. Pour de plus amples informations sur les métriques personnalisées, veuillez consulter.Publication des métriques personnaliséesdans leGuide de l'utilisateur Amazon CloudWatch..

Les métriques chargées dans CloudWatch par la KPL impliquent des frais nominaux, plus précisément les métriques personnalisées Amazon CloudWatch et les demandes d'API Amazon CloudWatch. Pour plus d'informations, consultez Tarification Amazon CloudWatch. La collecte des métriques locales n'entraîne pas de frais CloudWatch.

Métriques, dimensions et espaces de noms

Vous pouvez spécifier un nom d'application lors du lancement de la KPL, lequel est alors utilisé pour l'espace de noms lors du chargement des métriques. C'est facultatif. La KPL fournit une valeur par défaut si aucun nom d'application n'est défini.

Vous pouvez également configurer la KPL pour ajouter des dimensions supplémentaires arbitraires aux métriques. C'est très utile pour obtenir des données détaillées dans vos métriques CloudWatch. Par exemple, vous pouvez ajouter le nom d'hôte comme dimension pour identifier les répartitions de charge inégales dans votre flotte. Tous les paramètres de configuration KPL étant immuables, vous ne pouvez pas modifier ces dimensions supplémentaires après l'initialisation de l'instance KPL.

Niveau de métrique et granularité

Deux options sont disponibles pour contrôler le nombre de métriques chargées dans CloudWatch :

niveau de métrique

Le niveau de métrique sert à mesurer approximativement l'importance d'une métrique. Chaque métrique se voit attribuer un niveau. Lorsque vous définissez un niveau, les métriques dont les niveaux sont inférieurs à ce niveau ne sont pas envoyées à CloudWatch. Les niveaux sont : NONE, SUMMARY et DETAILED. Le paramètre par défaut est DETAILED ; c'est-à-dire, toutes les métriques. NONE signifie qu'il n'y a pas de métriques du tout, donc aucune métrique n'est réellement affectée à ce niveau.

granularité

La granularité contrôle si la même métrique est émise à des niveaux de granularité supplémentaires. Les niveaux sont : GLOBAL, STREAM et SHARD. La valeur par défaut est SHARD, qui contient les mesures les plus granulaires.

Lorsque SHARD est choisi, les métriques sont émises avec le nom du flux et l'ID de partition comme dimensions. En outre, la même métrique est également émise avec uniquement la dimension nom du flux et sans le nom du flux. Cela signifie que, pour une métrique spécifique, deux flux contenant deux partitions chacun produiront sept métriques CloudWatch : une pour chaque partition, une pour chaque flux, et une globale, toutes décrivant les mêmes statistiques mais à différents niveaux de granularité. Ces métriques sont illustrées dans le diagramme ci-dessous.

Les différents niveaux de granularité forment une hiérarchie et toutes les métriques du système forment des arborescences, partant des noms de métrique :

MetricName (GLOBAL): Metric X Metric Y | | ----------------- ------------ | | | | StreamName (STREAM): Stream A Stream B Stream A Stream B | | -------- --------- | | | | ShardID (SHARD): Shard 0 Shard 1 Shard 0 Shard 1

Les métriques ne sont pas toutes disponibles au niveau de la partition. Certaines sont disponibles au niveau du flux ou globales par nature. Elles ne sont pas générées au niveau de la partition même si vous avez activé les métriques au niveau de la partition (Metric Y dans le diagramme précédent).

Lorsque vous spécifiez une autre dimension, vous devez fournir des valeurs pour tuple:<DimensionName, DimensionValue, Granularity>. La granularité sert à déterminer l'emplacement auquel la dimension personnalisée est insérée dans la hiérarchie : GLOBAL signifie que la dimension supplémentaire est ajoutée après le nom de la métrique, STREAM signifie qu'elle est insérée après le nom du flux, et SHARD signifie qu'elle est insérée après l'ID de partition. Si plusieurs dimensions supplémentaires sont indiquées par niveau de granularité, elles sont insérées dans l'ordre donné.

Accès local et chargement Amazon CloudWatch

Les métriques de l'instance KPL actuelle sont disponibles localement en temps réel. Vous pouvez interroger la KPL à tout moment pour les obtenir. La KPL calcule localement la somme, la moyenne, le minimum, le maximum et le nombre pour chaque métrique, comme dans CloudWatch.

Vous pouvez obtenir des statistiques cumulatives du début du programme au moment présent, ou utiliser une fenêtre dynamique sur les dernières secondes N, où N est un nombre entier compris entre 1 et 60.

Toutes les métriques peuvent être chargées dans CloudWatch. Cela est particulièrement utile pour regrouper les données figurant sur plusieurs hôtes, surveiller et produire des alarmes. Cette fonctionnalité n'est pas disponible localement.

Comme indiqué précédemment, vous pouvez sélectionner les métriques à charger avec les paramètres niveau de métrique et granularité. Les métriques qui ne sont pas chargées sont disponibles localement.

Le chargement individuel des points de données n'est pas acceptable, car il peut produire des millions de chargements par seconde, si le trafic est élevé. C'est pourquoi la KPL regroupe les métriques localement en compartiments d'une minute et charge un objet de statistiques dans CloudWatch une fois par minute, par métrique activée.

Liste des métriques

Métrique Description
UserRecordsReceived

Nombre d'enregistrements utilisateur logiques reçus par le core KPL pour les opérations put. Non disponible au niveau de la partition.

niveau de métrique : Détaillé :

Unité : Nombre

UserRecordsPending

Echantillon périodique indiquant le nombre d'enregistrements utilisateur actuellement en attente. Un enregistrement est en attente s'il est actuellement en mémoire tampon et attend d'être envoyé, ou envoyé et en cours vers le service principal. Non disponible au niveau de la partition.

La KPL fournit une méthode dédiée pour extraire cette métrique au niveau général pour permettre aux clients de gérer leur vitesse de placements des données.

niveau de métrique : Détaillé :

Unité : Nombre

UserRecordsPut

Nombre d'enregistrements utilisateur logiques placés avec succès.

La KPL ne compte pas les enregistrements ayant échoué pour cette métrique. Ainsi, la moyenne correspond au taux de réussite, le nombre correspond au nombre total de tentatives, et la différence entre le nombre et la somme correspond au nombre d'échecs.

niveau de métrique : Récapitulatif

Unité : Nombre

UserRecordsDataPut

Nombre d'octets des enregistrements utilisateur logique placés avec succès.

niveau de métrique : Détaillé :

Unité : Octets

KinesisRecordsPut

Nombre d'enregistrements placés avec succès (chaque enregistrement Kinesis Data Streams peut contenir plusieurs enregistrements utilisateur).

La KPL produit un zéro pour les enregistrements ayant échoué. Ainsi, la moyenne correspond au taux de réussite, le nombre correspond au nombre total de tentatives, et la différence entre le nombre et la somme correspond au nombre d'échecs.

niveau de métrique : Récapitulatif

Unité : Nombre

KinesisRecordsDataPut

Octets dans les enregistrements Kinesis Data Streams.

niveau de métrique : Détaillé :

Unité : Octets

ErrorsByCode

Nombre de chaque type de code d'erreur. C'est une autre dimension de ErrorCode, en plus des dimensions normales comme StreamName et ShardId. Les erreurs ne peuvent pas toutes être remontées dans une partition. Les erreurs qui ne peuvent pas être remontées ne sont émises qu'au niveau du flux ou au niveau général. Cette métrique capture les informations sur les éléments comme les limites, les modifications de mappage de partition, les défaillances internes, l'indisponibilité de service, les dépassements de délais; etc.

Les erreurs d'API Kinesis Data Streams sont comptées une fois par enregistrement Kinesis Data Streams. Les enregistrements utilisateur multiples dans un enregistrement Kinesis Data Streams ne génèrent pas de nombres multiples.

niveau de métrique : Récapitulatif

Unité : Nombre

AllErrors

Cette métrique est déclenchée par les mêmes erreurs que Errors by Code (Erreurs par code), mais ne fait pas la distinction entre les différents types. Elle est très utile pour la surveillance générale du taux d'erreurs sans nécessiter la somme manuelle des chiffres des différents types d'erreurs.

niveau de métrique : Récapitulatif

Unité : Nombre

RetriesPerRecord

Nombre de tentatives effectuées par enregistrement utilisateur. Zéro est la valeur émise pour les enregistrements qui ont réussi dès la première tentative.

Les données sont émises au moment où un enregistrement utilisateur se termine (lorsqu'il a réussi ou qu'il ne peut plus être réessayé). Si la durée de vie de l'enregistrement est une valeur élevée, cette métrique peut être retardée sensiblement.

niveau de métrique : Détaillé :

Unité : Nombre

BufferingTime

Délai entre l'arrivée d'un enregistrement utilisateur à la KPL et son départ pour le serveur principal. Ces informations sont renvoyées à l'utilisateur pour chaque enregistrement par, mais sont également disponibles sous forme de statistique groupée.

niveau de métrique : Récapitulatif

Unité : Millisecondes

Request Time

Délai nécessaire pour exécuter PutRecordsRequests.

niveau de métrique : Détaillé :

Unité : Millisecondes

User Records per Kinesis Record

Nombre d'enregistrements utilisateur logiques regroupés en un seul enregistrement Kinesis Data Streams.

niveau de métrique : Détaillé :

Unité : Nombre

Amazon Kinesis Records per PutRecordsRequest

Nombre d'enregistrements Kinesis Data Streams regroupés en une seulePutRecordsRequest. Non disponible au niveau de la partition.

niveau de métrique : Détaillé :

Unité : Nombre

User Records per PutRecordsRequest

Nombre total d'enregistrements utilisateur contenus dans une PutRecordsRequest. Il équivaut à peu près au produit des deux métriques précédentes. Non disponible au niveau de la partition.

niveau de métrique : Détaillé :

Unité : Nombre