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 application KCL comme espace de noms. Vous pouvez consulter ces mesures en accédant à la CloudWatch console
Les métriques téléchargées CloudWatch par la KCL sont facturées pour une somme modique ; plus précisément, les frais Amazon CloudWatch Custom Metrics et Amazon CloudWatch API Requests s'appliquent. Pour plus d'informations, consultez la page CloudWatch Tarification Amazon
Rubriques
Métriques et espace de noms
L'espace de noms utilisé pour charger les métriques est le nom d'application que vous spécifiez lorsque vous lancez la KCL.
Niveaux et dimensions métriques
Deux options sont disponibles pour contrôler quelles métriques sont chargées dans CloudWatch :
- niveaux de métriques
-
Chaque métrique se voit attribuer un niveau individuel. Lorsque vous définissez un niveau de reporting de métriques, les métriques dont le niveau individuel est inférieur au niveau de reporting ne sont pas envoyées à CloudWatch. Les niveaux sont :
NONE,SUMMARYetDETAILED. 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 rapportNONEsignifie 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 métrique KCL possède des dimensions associées qui sont également envoyées à CloudWatch. Dans la KCL 2.x, si la KCL est configurée 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 2.x, si la KCL est configurée pour traiter un seul flux de données, la dimensionOperationne peut pas être désactivée. Dans KCL 2.x, si KCL est configuré pour traiter plusieurs flux de données, toutes les dimensions des métriques (Operation,ShardIdStreamId, etWorkerIdentifier) sont activées par défaut. De plus, dans KCL 2.x, si KCL est configuré pour traiter plusieurs flux de données, lesStreamIddimensionsOperationet ne peuvent pas être désactivées.StreamIdla dimension n'est disponible que pour les métriques par fragment.Dans la KCL 1.x, seules les dimensions
OperationetShardIdsont activées par défaut ; la dimensionWorkerIdentifierest désactivée. Dans la KCL 1.x, la dimensionOperationne 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 du guide de CloudWatch l'utilisateur Amazon.
Lorsque la
WorkerIdentifierdimension est activée, si une valeur différente est utilisée pour la propriété ID du travailleur chaque fois qu'un travailleur KCL particulier redémarre, de nouveaux ensembles de mesures avec de nouvelles valeurs deWorkerIdentifierdimension sont envoyés à. CloudWatch Si vous avez besoin que la valeur de dimensionWorkerIdentifiersoit égale pour tous les redémarrages d'application de travail KCL spécifiques, vous devez spécifier explicitement la même valeur d'ID d'application de travail lors de l'initialisation de chaque application de travail. Notez que la valeur d'ID d'application de travail de chaque application de travail KCL active doit être unique dans toutes les applications de travail KCL.
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'application KCL. MultiLangDaemon Dans ce cas, les metricsEnabledDimensions propriétés metricsLevel et peuvent être spécifiées dans le fichier .properties utilisé pour lancer l'application MultiLangDaemon KCL.
Les niveaux des métriques peuvent se voir attribuer l'une des trois valeurs suivantes : NONE, SUMMARY ou DETAILED. 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 mesures. Les dimensions utilisées par l'application KCL sont Operation, ShardId et WorkerIdentifier.
Liste des métriques
La liste de tables suivante répertorie les métriques KCL, regroupées par champ d'application et opération.
Per-KCL-application métriques
Ces métriques sont agrégées pour tous les travailleurs KCL dans le cadre de l'application, comme défini par l'espace de CloudWatch noms Amazon.
Rubriques
LeaseAssignmentManager
L'LeaseAssignmentManageropération est chargée d'attribuer des baux aux travailleurs et de rééquilibrer les contrats de location 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 au bail à partir de la table des baux et des mesures du tableau des métriques des travailleurs, et l'exécution des attributions de bail.
| Métrique | Description |
|---|---|
|
LeaseAndWorkerMetricsLoad.Time |
Temps nécessaire pour charger tous les contrats de location et les données relatives aux travailleurs dans le gestionnaire d'attribution des baux (LAM), le nouvel algorithme d'attribution des baux et d'équilibrage de charge introduit dans KCL 3.x. Niveau de métrique : Detailed Unités : millisecondes |
| TotalLeases |
Nombre total de contrats de location pour la demande KCL actuelle. Niveau de métrique : Summary Unités : nombre |
| NumWorkers |
Nombre total de travailleurs dans l'application KCL actuelle. Niveau de métrique : Summary Unités : nombre |
|
AssignExpiredOrUnassignedLeases.Time |
Il est temps de procéder à l'attribution en mémoire des contrats de location expirés. Niveau de métrique : Detailed Unités : millisecondes |
| LeaseSpillover |
Nombre de contrats de location qui n'ont pas été attribués parce que la limite du nombre maximum de contrats de location ou du débit maximal par travailleur a été atteinte. Niveau de métrique : Summary Unités : nombre |
|
BalanceWorkerVariance.Time |
Il est temps de procéder à un équilibrage en mémoire des contrats de location entre les employés. Niveau de métrique : Detailed Unités : millisecondes |
|
NumOfLeasesReassignment |
Nombre total de réaffectations de contrats de location 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 lors des AssignLease appels à la table de location DynamoDB. Niveau de métrique : Detailed Unités : nombre |
|
ParallelyAssignLeases.Time |
Il est temps de transférer les nouvelles attributions dans la table des baux de DynamoDB. Niveau de métrique : Detailed Unités : millisecondes |
|
ParallelyAssignLeases.Success |
Nombre de nouvelles missions réussies. Niveau de métrique : Detailed Unités : nombre |
|
TotalStaleWorkerMetricsEntry |
Nombre total d'entrées des métriques des travailleurs qui doivent être nettoyées. Niveau de métrique : Detailed Unités : nombre |
| StaleWorkerMetricsCleanup.Time |
Il est temps de supprimer l'entrée des métriques de travail du tableau des métriques de travail de DynamoDB. Niveau de métrique : Detailed Unités : millisecondes |
| Heure |
Durée de l' Niveau de métrique : Summary Unités : millisecondes |
| Réussite |
Nombre de fois que l'opération Niveau de métrique : Summary Unités : nombre |
| ForceLeaderRelease |
Indique que le responsable de la cession des contrats de location a échoué 3 fois de suite et que le travailleur responsable libère la direction. 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 de travailleurs dont -1 (représentant la valeur de la métrique de collaborateur non disponible) est l'une des valeurs des métriques de collaborateur. 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'opération InitializeTask est chargée d'initialiser le processeur d'enregistrements pour l'application KCL. 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.Success |
Nombre d'opérations Niveau de métrique : Detailed Unités : nombre |
| KinesisDataFetcher.getIterator.Time |
Délai nécessaire par opération Niveau de métrique : Detailed Unités : millisecondes |
| RecordProcessor.initialize.Time |
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 |
Délai nécessaire pour l'initialisation du processeur d'enregistrements par l'application de travail KCL. 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.Success |
Nombre de fois que les nouvelles partitions enfant sont ajoutées avec succès au tableau DynamoDB de l'application KCL suite à un arrêt de la partition parent. Niveau de métrique : Detailed Unités : nombre |
| CreateLease.Time |
Temps nécessaire pour ajouter de nouvelles informations de partition enfant au tableau DynamoDB de l'application KCL. Niveau de métrique : Detailed Unités : millisecondes |
| UpdateLease.Success |
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.Time |
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.shutdown.Time |
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 |
Délai nécessaire pour la tâche d'arrêt de l'application de travail KCL. Niveau de métrique : Summary Unités : millisecondes |
ShardSyncTask
L'opération ShardSyncTask détecte les modifications apportées aux informations de partition pour le flux de données Kinesis. Ainsi, de nouvelles partitions peuvent être traitées par l'application KCL.
| Métrique | Description |
|---|---|
| CreateLease.Success |
Nombre de tentatives réussies pour ajouter de nouvelles informations de partition au tableau DynamoDB de l'application KCL. Niveau de métrique : Detailed Unités : nombre |
| CreateLease.Time |
Temps nécessaire pour ajouter de nouvelles informations de partition au tableau DynamoDB de l'application KCL. 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'opération BlockOnParentTask garantit que le traitement des enregistrements des nouvelles partitions ne démarre pas tant que le traitement des partitions parent par la KCL n'est pas terminé.
| 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
Le PeriodicShardSyncManager est chargé d'examiner les flux de données traités par l'application client KCL, d'identifier les flux de données faisant l'objet de baux partiels et de les transférer pour synchronisation.
Les mesures suivantes sont disponibles lorsque 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 lorsque KCL est configuré pour traiter plusieurs flux de données.
| Métrique | Description |
|---|---|
| NumStreamsToSync |
Le nombre de flux de données (par AWS compte) traités par l'application client qui contient des contrats de location partiels et qui doivent être transférés pour synchronisation. Niveau de métrique : Summary Unités : nombre |
| NumStreamsWithPartialLeases |
Le nombre de flux de données (par AWS compte) traités par l'application client qui contiennent des contrats de location partiels. Niveau de métrique : Summary Unités : nombre |
| Réussite |
Nombre de fois où Niveau de métrique : Summary Unités : nombre |
| Heure |
Durée (en millisecondes) Niveau de métrique : Summary Unités : millisecondes |
MultistreamTracker
L'interface MultistreamTracker vous permet de créer des applications client KCL capables de traiter plusieurs flux de données en même temps.
| Métrique | Description |
|---|---|
| DeletedStreams.Count |
Nombre de flux de données supprimés au cours de cette période. Niveau de métrique : Summary Unités : nombre |
| ActiveStreams.Count |
Nombre de flux de données actifs en cours de traitement. Niveau de métrique : Summary Unités : nombre |
| StreamsPendingDeletion.Count |
Nombre de flux de données en attente de suppression en fonction de Niveau de métrique : Summary Unités : nombre |
Per-worker métriques
Ces métriques sont regroupées dans tous les processeurs d'enregistrements qui utilisent des données issues d'un flux de données Kinesis, par exemple d'une instance Amazon EC2.
WorkerMetricStatsReporter
L'WorkerMetricStatReporteropération est chargée de publier périodiquement les mesures du travailleur actuel dans le tableau des mesures du travailleur. Ces mesures sont utilisées par l'LeaseAssignmentManageropération pour effectuer des cessions de contrats de location.
| 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 mesures de travail. Niveau de métrique : Summary Unités : nombre |
|
WorkerMetricStatsReporter.Time |
Durée de l' Niveau de métrique : Summary Unités : millisecondes |
|
WorkerMetricStatsReporter.Success |
Nombre de fois que l'opération Niveau de métrique : Summary Unités : nombre |
LeaseDiscovery
L'LeaseDiscoveryexploitation est chargée d'identifier les nouveaux contrats de location attribués au travailleur actuel par l'LeaseAssignmentManagerexploitation. La logique de cette opération consiste à identifier les contrats de location attribués au travailleur actuel en lisant l'indice secondaire global du tableau des baux.
| Métrique | Description |
|---|---|
|
ListLeaseKeysForWorker.Time |
Il est temps d'appeler l'index secondaire global sur la table des baux et d'obtenir les clés de location attribuées au travailleur actuel. Niveau de métrique : Detailed Unités : millisecondes |
|
FetchNewLeases.Time |
Il est temps de récupérer tous les nouveaux contrats de location dans le tableau des baux. Niveau de métrique : Detailed Unités : millisecondes |
|
NewLeasesDiscovered |
Nombre total de nouveaux contrats de location attribués à des travailleurs. Niveau de métrique : Detailed Unités : nombre |
|
Heure |
Durée de l' Niveau de métrique : Summary Unités : millisecondes |
|
Réussite |
Nombre de fois que l'opération Niveau de métrique : Summary Unités : nombre |
|
OwnerMismatch |
Nombre de non-concordances entre les propriétaires et la réponse du GSI et 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.Success |
Nombre de renouvellements de bail réussis par application de travail. Niveau de métrique : Detailed Unités : nombre |
| RenewLease.Time |
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 que 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'opération TakeLeases équilibre la charge du traitement des enregistrements entre toutes les applications de travail KCL. Si l'application de travail KCL actuelle possède moins de baux de partition que nécessaire, elle prend des baux de partition à une autre application de travail qui est surchargée.
| Métrique | Description |
|---|---|
| ListLeases.Success |
Nombre de fois que tous les baux de partition ont été extraits avec succès du tableau DynamoDB de l'application KCL. Niveau de métrique : Detailed Unités : nombre |
| ListLeases.Time |
Délai nécessaire pour l'extraction de tous les baux de partition depuis le tableau DynamoDB de l'application KCL. Niveau de métrique : Detailed Unités : millisecondes |
| TakeLease.Success |
Nombre de fois que l'application de travail a extrait avec succès des baux de partition d'autres applications de travail KCL. Niveau de métrique : Detailed Unités : nombre |
| TakeLease.Time |
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 en cours de traitement par l'application KCL. 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 Niveau de métrique : Summary Unités : nombre |
| Heure |
Délai nécessaire pour l'opération Niveau de métrique : Summary Unités : millisecondes |
Per-shard métriques
Ces métriques sont regroupées sur un processeur d'enregistrements unique.
ProcessTask
L'opération ProcessTask appelle GetRecords avec la position d'itérateur actuelle pour extraire des enregistrements du flux et appeler la fonction processRecords du processeur d'enregistrements.
| Métrique | Description |
|---|---|
| KinesisDataFetcher.getRecords.Success |
Nombre d'opérations Niveau de métrique : Detailed Unités : nombre |
| KinesisDataFetcher.getRecords.Time |
Délai nécessaire par opération Niveau de métrique : Detailed Unités : millisecondes |
| UpdateLease.Success |
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.Time |
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 Niveau de métrique : Summary Unités : octet |
| RecordsProcessed |
Nombre d'enregistrements traités à chaque invocation de Niveau de métrique : Summary Unités : nombre |
| ExpiredIterator |
Numéro ExpiredIteratorException reçu lors de l'appel 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 du dernier enregistrement de réponse. Cette valeur s'applique au dernier lot d'enregistrements, et non à la moyenne de tous les horodatages de chaque enregistrement. Niveau de métrique : Summary Unités : millisecondes |
| RecordProcessor.processRecords.Time |
Délai nécessaire pour la méthode 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 |