Surveillez la bibliothèque cliente Kinesis 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.

Surveillez la bibliothèque cliente Kinesis avec Amazon CloudWatch

La bibliothèque client Kinesis (KCL) pour Amazon Kinesis Data Streams publie des CloudWatch métriques Amazon personnalisées en votre nom, en utilisant le nom de votre KCL application comme espace de noms. Vous pouvez consulter ces statistiques en accédant à la CloudWatch console et en choisissant Mesures personnalisées. Pour plus d'informations sur les métriques personnalisées, consultez Publier des métriques personnalisées dans le guide de CloudWatch l'utilisateur Amazon.

Des frais nominaux sont facturés pour les statistiques téléchargées CloudWatch par le KCL ; en particulier, les frais Amazon CloudWatch Custom Metrics et Amazon CloudWatch API Requests s'appliquent. Pour plus d'informations, consultez Amazon CloudWatch Pricing.

Métriques et espace de noms

L'espace de noms utilisé pour télécharger les métriques est le nom de l'application que vous spécifiez lorsque vous lancez leKCL.

Niveaux métriques et dimensions

Il existe deux options pour contrôler les métriques à télécharger CloudWatch :

niveaux de métriques

Chaque métrique se voit attribuer un niveau individuel. Lorsque vous définissez un niveau de rapport de mesures, les mesures dont le niveau individuel est inférieur au niveau de rapport ne sont pas envoyées à CloudWatch. Les niveaux sont : NONE, SUMMARY et DETAILED. Le paramètre par défaut estDETAILED, c'est-à-dire que toutes les métriques sont envoyées à CloudWatch. Un niveau de création de rapport NONE signifie qu'aucune métrique n'est envoyée. Pour plus d'informations sur les niveaux attribués aux métriques, consultez la page Liste des métriques.

dimensions activées

Chaque KCL métrique est associée à des dimensions qui sont également envoyées à CloudWatch. Dans la KCL version 2.x, s'KCLil est configuré pour traiter un seul flux de données, toutes les dimensions des métriques (Operation,ShardId, etWorkerIdentifier) sont activées par défaut. De plus, dans la KCL version 2.x, si elle KCL est configurée pour traiter un seul flux de données, la Operation dimension ne peut pas être désactivée. Dans la KCL version 2.x, si elle KCL est configurée pour traiter plusieurs flux de données, toutes les dimensions des métriques (OperationShardId,StreamId, etWorkerIdentifier) sont activées par défaut. De plus, dans la KCL version 2.x, si elle KCL est configurée pour traiter plusieurs flux de données, les StreamId dimensions Operation et ne peuvent pas être désactivées. StreamIdla dimension n'est disponible que pour les métriques par partition.

Dans la KCL version 1.x, seules les ShardId dimensions Operation et sont activées par défaut, et la WorkerIdentifier dimension est désactivée. Dans la KCL version 1.x, la Operation dimension ne peut pas être désactivée.

Pour plus d'informations sur les dimensions CloudWatch métriques, consultez la section Dimensions de la rubrique Amazon CloudWatch Concepts, dans le guide de CloudWatch l'utilisateur Amazon.

Lorsque la WorkerIdentifier dimension est activée, si une valeur différente est utilisée pour la propriété Worker ID chaque fois qu'un KCL worker spécifique redémarre, de nouveaux ensembles de métriques avec de nouvelles valeurs de WorkerIdentifier dimension sont envoyés à CloudWatch. Si vous souhaitez que la valeur de WorkerIdentifier dimension soit la même lors des redémarrages d'KCLun travailleur spécifique, vous devez spécifier explicitement la même valeur d'identifiant de travailleur lors de l'initialisation pour chaque travailleur. Notez que la valeur de l'identifiant de chaque KCL travailleur actif doit être unique pour tous les KCL travailleurs.

Configuration métrique

Les niveaux métriques et les dimensions activées peuvent être configurés à l'aide de l' KinesisClientLibConfiguration instance, qui est transmise à Worker lors du lancement de l'KCLapplication. MultiLangDaemon Dans ce cas, les metricsEnabledDimensions propriétés metricsLevel et peuvent être spécifiées dans le fichier .properties utilisé pour lancer l' MultiLangDaemon KCLapplication.

Les niveaux métriques peuvent se voir attribuer l'une des trois valeurs suivantes : NONESUMMARY, ouDETAILED. Les valeurs de dimensions activées doivent être des chaînes séparées par des virgules avec la liste des dimensions autorisées pour les CloudWatch métriques. Les dimensions utilisées par l'KCLapplication sont OperationShardId, etWorkerIdentifier.

Liste des métriques

Les tableaux suivants répertorient les KCL métriques, regroupées par étendue et par opération.

Per-KCL-application métriques

Ces métriques sont agrégées pour tous les KCL collaborateurs concernés par l'application, tels que définis par l'espace de CloudWatch noms Amazon.

LeaseAssignmentManager

L'LeaseAssignmentManagerexploitation est chargée d'attribuer des baux aux travailleurs et de rééquilibrer les baux entre les travailleurs afin de parvenir à une utilisation uniforme des ressources humaines. La logique de cette opération inclut la lecture des métadonnées relatives aux baux dans le tableau des baux et des mesures du tableau des indicateurs du personnel, ainsi que l'exécution des assignations de bail.

Métrique Description

LeaseAndWorkerMetricsLoad.Heure

Temps nécessaire pour charger tous les baux et saisir les indicateurs relatifs aux employés dans le gestionnaire d'attribution des baux (LAM), le nouvel algorithme d'attribution des baux et d'équilibrage de charge introduit dans la version KCL 3.x.

Niveau de métrique : Detailed

Unités : millisecondes

TotalLeases

Nombre total de baux pour la présente KCL demande.

Niveau de métrique : Summary

Unités : nombre

NumWorkers

Nombre total de travailleurs dans l'KCLapplication en cours.

Niveau de métrique : Summary

Unités : nombre

AssignExpiredOrUnassignedLeases.Heure

Il est temps d'attribuer en mémoire les baux expirés.

Niveau de métrique : Detailed

Unités : millisecondes

LeaseSpillover

Nombre de baux qui n'ont pas été attribués en raison de l'atteinte de la limite du nombre maximum de baux ou du débit maximal par travailleur.

Niveau de métrique : Summary

Unités : nombre

BalanceWorkerVariance.Heure

Il est temps de procéder à un équilibrage en mémoire des baux entre les travailleurs.

Niveau de métrique : Detailed

Unités : millisecondes

NumOfLeasesReassignment

Nombre total de réassignations de bail effectuées au cours de l'itération de réaffectation en cours.

Niveau de métrique : Summary

Unités : nombre

FailedAssignmentCount

Nombre d'échecs dans les AssignLease appels à la table des baux DynamoDB.

Niveau de métrique : Detailed

Unités : nombre

ParallelyAssignLeases.Heure

Il est temps d'ajouter les nouvelles affectations à la table des baux de DynamoDB.

Niveau de métrique : Detailed

Unités : millisecondes

ParallelyAssignLeases. Succès

Nombre de nouvelles missions réussies.

Niveau de métrique : Detailed

Unités : nombre

TotalStaleWorkerMetricsEntry

Nombre total d'entrées de métriques relatives aux travailleurs qui doivent être nettoyées.

Niveau de métrique : Detailed

Unités : nombre

StaleWorkerMetricsCleanup.Heure

Il est temps de supprimer les entrées des mesures de travail de la table des métriques de travail DynamoDB.

Niveau de métrique : Detailed

Unités : millisecondes

Heure

Durée de l'LeaseAssignmentManageropération.

Niveau de métrique : Summary

Unités : millisecondes

Réussite

Nombre de fois que l'opération LeaseAssignmentManager a été effectuée avec succès.

Niveau de métrique : Summary

Unités : nombre

ForceLeaderRelease

Indique que le responsable de la cession des baux a échoué 3 fois de suite et que le principal travailleur est en train de libérer le leadership.

Niveau de métrique : Summary

Unités : nombre

NumWorkersWithInvalidEntry

Nombre d'entrées de métriques relatives aux travailleurs considérées comme non valides.

Niveau de métrique : Summary

Unités : nombre

NumWorkersWithFailingWorkerMetric

Nombre d'entrées de métriques du travailleur dont la valeur -1 (représentant la valeur de la métrique du travailleur n'est pas disponible) comme valeur des métriques du travailleur.

Niveau de métrique : Summary

Unités : nombre

LeaseDeserializationFailureCount

Entrée de bail depuis la table des baux qui n'a pas pu être désérialisée.

Niveau de métrique : Summary

Unités : nombre

InitializeTask

L'InitializeTaskopération est responsable de l'initialisation du processeur d'enregistrement pour l'KCLapplication. La logique de cette opération implique d'extraire un itérateur de partition de Kinesis Data Streams et d'initialiser le processeur d'enregistrements.

Métrique Description
KinesisDataFetcher. getIterator. Succès

Nombre d'GetShardIteratoropérations réussies par KCL application.

Niveau de métrique : Detailed

Unités : nombre

KinesisDataFetcher. getIterator.Heure

Temps nécessaire à chaque GetShardIterator opération pour l'KCLapplication donnée.

Niveau de métrique : Detailed

Unités : millisecondes

RecordProcessor.Initialiser. Heure

Délai nécessaire pour la méthode d'initialisation du processeur d'enregistrements.

Niveau de métrique : Summary

Unités : millisecondes

Réussite

Nombre d'initialisations de processeur d'enregistrements réussies.

Niveau de métrique : Summary

Unités : nombre

Heure

Temps nécessaire au KCL travailleur pour initialiser le processeur d'enregistrement.

Niveau de métrique : Summary

Unités : millisecondes

ShutdownTask

L'opération ShutdownTask initie la séquence de fermeture pour le traitement des partitions. Elle peut avoir lieu lorsqu'une partition est fractionnée ou fusionnée ou que le bail de la partition est perdu par l'application de travail. Dans les deux cas, la fonction shutdown() du processeur d'enregistrements est appelée. De nouvelles partitions sont également détectées si une partition a été fractionnée ou fusionnée, ce qui entraîne la création d'une ou de deux nouvelles partitions.

Métrique Description
CreateLease. Succès

Nombre de fois où de nouvelles partitions enfants sont ajoutées avec succès dans la table DynamoDB de l'KCLapplication après la fermeture de la partition parent.

Niveau de métrique : Detailed

Unités : nombre

CreateLease.Heure

Temps nécessaire pour ajouter de nouvelles informations de partition enfant dans la table DynamoDB de l'KCLapplication.

Niveau de métrique : Detailed

Unités : millisecondes

UpdateLease. Succès

Nombre de points de contrôle finaux réussis au cours de l'arrêt du processeur d'enregistrements.

Niveau de métrique : Detailed

Unités : nombre

UpdateLease.Heure

Délai nécessaire pour l'opération de point de contrôle au cours de l'arrêt du processeur d'enregistrements.

Niveau de métrique : Detailed

Unités : millisecondes

RecordProcessor.Heure d'arrêt

Délai nécessaire pour la méthode de fermeture du processeur d'enregistrements.

Niveau de métrique : Summary

Unités : millisecondes

Réussite

Nombre de tâches de fermeture réussies.

Niveau de métrique : Summary

Unités : nombre

Heure

Temps consacré par le KCL travailleur à la tâche d'arrêt.

Niveau de métrique : Summary

Unités : millisecondes

ShardSyncTask

L'ShardSyncTaskopération découvre les modifications apportées aux informations relatives aux partitions pour le flux de données Kinesis, afin que les nouvelles partitions puissent être traitées par l'application. KCL

Métrique Description
CreateLease. Succès

Nombre de tentatives réussies pour ajouter de nouvelles informations de partition dans la table DynamoDB de l'KCLapplication.

Niveau de métrique : Detailed

Unités : nombre

CreateLease.Heure

Temps nécessaire pour ajouter de nouvelles informations de partition dans la table DynamoDB de l'KCLapplication.

Niveau de métrique : Detailed

Unités : millisecondes

Réussite

Nombre d'opérations de synchronisation de partitions réussies.

Niveau de métrique : Summary

Unités : nombre

Heure

Délai nécessaire pour l'opération de synchronisation des partitions.

Niveau de métrique : Summary

Unités : millisecondes

BlockOnParentTask

Si la partition est fractionnée ou fusionnée avec d'autres partitions, de nouvelles partitions enfant sont créées. L'BlockOnParentTaskopération garantit que le traitement des enregistrements pour les nouvelles partitions ne démarre pas tant que les partitions parents ne sont pas complètement traitées par le. KCL

Métrique Description
Réussite

Nombre de contrôles réussis pour l'achèvement de la partition parent.

Niveau de métrique : Summary

Unités : nombre

Heure

Temps nécessaire à la réalisation de partitions parent.

Niveau de métrique : Summary

Unité : millisecondes

PeriodicShardSyncManager

PeriodicShardSyncManagerIl est chargé d'examiner les flux de données traités par l'application KCL client, d'identifier les flux de données faisant l'objet de baux partiels et de les transférer pour synchronisation.

Les métriques suivantes sont disponibles lorsqu'il KCL est configuré pour traiter un seul flux de données (alors la valeur de NumStreamsToSync et NumStreamsWithPartialLeases est définie sur 1) et également lorsqu'il KCL est configuré pour traiter plusieurs flux de données.

Métrique Description
NumStreamsToSync

Nombre de flux de données (par AWS compte) traités par l'application client qui contient des baux partiels et qui doivent être transférés pour synchronisation.

Niveau de métrique : Summary

Unités : nombre

NumStreamsWithPartialLeases

Nombre de flux de données (par AWS compte) traités par l'application client contenant des baux partiels.

Niveau de métrique : Summary

Unités : nombre

Réussite

Nombre de fois où PeriodicShardSyncManager a réussi à identifier des baux partiels dans les flux de données traités par l'application client.

Niveau de métrique : Summary

Unités : nombre

Heure

Temps (en millisecondes) PeriodicShardSyncManager nécessaire pour examiner les flux de données traités par l'application client afin de déterminer quels flux de données nécessitent une synchronisation des partitions.

Niveau de métrique : Summary

Unités : millisecondes

MultistreamTracker

L'MultistreamTrackerinterface vous permet de créer KCL des applications grand public capables de traiter plusieurs flux de données en même temps.

Métrique Description
DeletedStreams. Nombre

Nombre de flux de données supprimés au cours de cette période.

Niveau de métrique : Summary

Unités : nombre

ActiveStreams. Nombre

Nombre de flux de données actifs en cours de traitement.

Niveau de métrique : Summary

Unités : nombre

StreamsPendingDeletion. Nombre

Nombre de flux de données en attente de suppression en fonction de FormerStreamsLeasesDeletionStrategy.

Niveau de métrique : Summary

Unités : nombre

Indicateurs par travailleur

Ces mesures sont agrégées entre tous les processeurs d'enregistrements consommant des données issues d'un flux de données Kinesis, tel qu'une instance AmazonEC2.

WorkerMetricStatsReporter

L'WorkerMetricStatReporteropération est chargée de publier périodiquement les métriques du travailleur actuel dans le tableau des métriques du travailleur. Ces mesures sont utilisées par l'LeaseAssignmentManageropération pour effectuer les assignations de bail.

Métrique Description

InMemoryMetricStatsReporterFailure

Nombre d'échecs lors de la capture de la valeur de la métrique de travail en mémoire, en raison de l'échec de certaines métriques de travail.

Niveau de métrique : Summary

Unités : nombre

WorkerMetricStatsReporter.Heure

Durée de l'WorkerMetricsStatsopération.

Niveau de métrique : Summary

Unités : millisecondes

WorkerMetricStatsReporter. Succès

Nombre de fois que l'opération WorkerMetricsStats a été effectuée avec succès.

Niveau de métrique : Summary

Unités : nombre

LeaseDiscovery

L'LeaseDiscoveryopération est chargée d'identifier les nouveaux baux attribués au travailleur actuel par l'LeaseAssignmentManageropération. La logique de cette opération consiste à identifier les baux attribués au travailleur actuel en lisant l'index secondaire global de la table des baux.

Métrique Description

ListLeaseKeysForWorker.Heure

Il est temps d'appeler l'index secondaire global sur la table des baux et d'obtenir les clés de bail attribuées au travailleur actuel.

Niveau de métrique : Detailed

Unités : millisecondes

FetchNewLeases.Heure

Il est temps de récupérer tous les nouveaux baux dans le tableau des baux.

Niveau de métrique : Detailed

Unités : millisecondes

NewLeasesDiscovered

Nombre total de nouveaux baux attribués aux travailleurs.

Niveau de métrique : Detailed

Unités : nombre

Heure

Durée de l'LeaseDiscoveryopération.

Niveau de métrique : Summary

Unités : millisecondes

Réussite

Nombre de fois que l'opération LeaseDiscovery a été effectuée avec succès.

Niveau de métrique : Summary

Unités : nombre

OwnerMismatch

Nombre de défauts de correspondance entre propriétaires résultant de la GSI réponse et de la lecture cohérente du tableau des baux.

Niveau de métrique : Detailed

Unités : nombre

RenewAllLeases

L'opération RenewAllLeases renouvelle périodiquement les baux de partition appartenant à une instance d'application de travail spécifique.

Métrique Description
RenewLease. Succès

Nombre de renouvellements de bail réussis par application de travail.

Niveau de métrique : Detailed

Unités : nombre

RenewLease.Heure

Délai nécessaire pour l'opération de renouvellement de bail.

Niveau de métrique : Detailed

Unités : millisecondes

CurrentLeases

Nombre de baux de partition appartenant à l'application de travail après le renouvellement de tous les baux.

Niveau de métrique : Summary

Unités : nombre

LostLeases

Nombre de baux de partition qui ont été perdus suite à une tentative de renouvellement de tous les baux appartenant à l'application de travail.

Niveau de métrique : Summary

Unités : nombre

Réussite

Nombre de fois où l'opération de renouvellement du bail a été couronnée de succès pour le travailleur.

Niveau de métrique : Summary

Unités : nombre

Heure

Délai nécessaire pour le renouvellement de tous les baux d'une application de travail.

Niveau de métrique : Summary

Unités : millisecondes

TakeLeases

L'TakeLeasesopération équilibre le traitement des dossiers entre tous les KCL travailleurs. Si le KCL travailleur actuel dispose d'un nombre de baux de partage inférieur à ce qui est requis, il prend les baux de partage d'un autre travailleur surchargé.

Métrique Description
ListLeases. Succès

Nombre de fois où tous les baux de partitions ont été correctement extraits de la table KCL DynamoDB de l'application.

Niveau de métrique : Detailed

Unités : nombre

ListLeases.Heure

Temps nécessaire pour récupérer tous les baux de partitions depuis la table KCL DynamoDB de l'application.

Niveau de métrique : Detailed

Unités : millisecondes

TakeLease. Succès

Nombre de fois où le travailleur a obtenu avec succès des contrats de location collective avec d'autres KCL travailleurs.

Niveau de métrique : Detailed

Unités : nombre

TakeLease.Heure

Délai nécessaire pour la mise à jour de la table des baux avec les baux extraits par l'application de travail.

Niveau de métrique : Detailed

Unités : millisecondes

NumWorkers

Nombre total d'applications de travail identifiées par une application de travail spécifique.

Niveau de métrique : Summary

Unités : nombre

NeededLeases

Nombre de baux de partition dont l'application de travail actuelle a besoin pour que la charge de traitement des partitions soit équilibrée.

Niveau de métrique : Detailed

Unités : nombre

LeasesToTake

Nombre de baux que l'application de travail va tenter de prendre.

Niveau de métrique : Detailed

Unités : nombre

TakenLeases

Nombre de baux pris avec succès par l'application de travail.

Niveau de métrique : Summary

Unités : nombre

TotalLeases

Nombre total de partitions traitées par l'KCLapplication.

Niveau de métrique : Detailed

Unités : nombre

ExpiredLeases

Nombre total de partitions qui ne sont pas traitées par une application de travail, comme identifié par l'application de travail spécifique.

Niveau de métrique : Summary

Unités : nombre

Réussite

Nombre de fois que l'opération TakeLeases a été effectuée avec succès.

Niveau de métrique : Summary

Unités : nombre

Heure

Délai nécessaire pour l'opération TakeLeases effectuée par une application de travail.

Niveau de métrique : Summary

Unités : millisecondes

Mesures par partition

Ces métriques sont regroupées sur un processeur d'enregistrements unique.

ProcessTask

L'ProcessTaskopération fait appel GetRecordsà la position actuelle de l'itérateur pour récupérer les enregistrements du flux et invoque la fonction du processeur processRecords d'enregistrements.

Métrique Description
KinesisDataFetcher. getRecords. Succès

Nombre d'opérations GetRecords réussies par partition de flux de données Kinesis.

Niveau de métrique : Detailed

Unités : nombre

KinesisDataFetcher. getRecords.Heure

Délai nécessaire par opération GetRecords pour la partition de flux de données Kinesis.

Niveau de métrique : Detailed

Unités : millisecondes

UpdateLease. Succès

Nombre de points de contrôle réussis effectués par le processeur d'enregistrements pour la partition donnée.

Niveau de métrique : Detailed

Unités : nombre

UpdateLease.Heure

Délai nécessaire pour chaque opération de point de contrôle pour la partition donnée.

Niveau de métrique : Detailed

Unités : millisecondes

DataBytesProcessed

Taille totale des enregistrements traités, en octets, à chaque invocation de ProcessTask.

Niveau de métrique : Summary

Unités : octet

RecordsProcessed

Nombre d'enregistrements traités à chaque invocation de ProcessTask.

Niveau de métrique : Summary

Unités : nombre

ExpiredIterator

Numéro ExpiredIteratorException reçu lors de l'appelGetRecords.

Niveau de métrique : Summary

Unités : nombre

MillisBehindLatest Retard pris par l'itérateur actuel depuis le dernier enregistrement (extrémité) de la partition. Cette valeur est inférieure ou égale à la différence de temps entre le dernier enregistrement figurant dans une réponse et l'heure actuelle. Cela reflète plus précisément la distance entre un fragment et la pointe que la comparaison des horodatages dans le dernier enregistrement de réponse. Cette valeur s'applique au dernier lot d'enregistrements, et non à une moyenne de tous les horodatages de chaque enregistrement.

Niveau de métrique : Summary

Unités : millisecondes

RecordProcessor. processRecords.Heure

Délai nécessaire pour la méthode processRecords du processeur d'enregistrements.

Niveau de métrique : Summary

Unités : millisecondes

Réussite

Nombre d'opérations de traitement réussies.

Niveau de métrique : Summary

Unités : nombre

Heure

Délai nécessaire pour l'opération de traitement.

Niveau de métrique : Summary

Unités : millisecondes