Présentation des graphiques Grafana
Vous pouvez utiliser Grafana pour analyser les performances du pipeline Ingest.
Vous pouvez utiliser Grafana pour analyser les performances du pipeline Ingest. Les deux graphiques les plus utiles sont Articles en file d'attente et WaitLink.


Représentation visuelle des activités NiFi
Dans les connecteurs Ingest NiFi, les groupes de processus WaitLink sont ajoutés entre les groupes de processus pour s'assurer que l'étape précédente est terminée avant le début de l'étape suivante. Ainsi, les étapes suivantes n'utiliseront pas les données actuellement en cours d'utilisation dans un processus non terminé. En outre, cela réduit l'occurrence de différents processus s'exécutant en même temps, ce qui peut entraîner des pics extrêmes au niveau des demandes de ressources pour l'UC, le réseau, la mémoire ou les E/S du disque.
NiFi utilise des "fichiers de flux" pour traiter les données par lots. Le nombre de documents inclus dans un fichier de flux est défini par la propriété scroll.bucket.size. Le paramètre (scroll.bucket.size)=300, par exemple, autoriserait 300 catentryIds par fichier de flux s'il est appliqué au segment de traitement Product Update 1i.
Les valeurs WaitLink et Bucket.Size peuvent être suivies dans Grafana. L'observation des activités et des quantités aide à déterminer le comportement du système et à détecter les segments lents.
Interprétation des graphiques et détection d'un goulot d'étranglement
Les graphiques "Lien d'attente" et "Eléments mis en file d'attente" montrant les données pour le processeur de service en masse sont des indicateurs clés pour comprendre l'opération Ingest/de génération d'index. Les valeurs du processeur de service en masse sont importantes, car elles indiquent les packages envoyés au cluster Elasticsearch. En effet, tous les arriérés de fichier de flux se trouvent uniquement à l'intérieur du service en masse et non dans d'autres phases d'extraction et de transformation de chaque étape.
Les deux graphiques ont un certain nombre de métriques qui peuvent être suivis (en cliquant sur la ligne de couleur sur le côté droit du graphique), mais seules les métriques les plus importantes sont affichées par défaut. Placez le pointeur de la souris sur la ligne du graphique et voyez quelle courbe appartient à quel groupe de processus ou lien d'attente. Lorsque vous cliquez sur le nom du groupe de processeurs ou sur le lien d'attente, une petite case en incrustation apparaît :

Le graphique "Lien mis en file d'attente" représente le nombre de fichiers de flux mis en file d'attente pour traitement sur un groupe de processeurs donné. Une forte augmentation de la courbe indique que le processeur précédent (ou le groupe de processeurs) traite plus rapidement les données ou que le groupe de processeurs a du mal à suivre le débit global des groupes de processeurs adjacents. Dans l'image ci-dessous, vous pouvez observer une augmentation rapide du nombre d'éléments mis en file d'attente autour de l'horodatage 21.54, indiquant que le processeur ne suit pas le flux entrant :

De même, la section de décélération du graphique a une courbe raide, indiquant que l'UC a pu terminer le traitement rapidement. Plus la courbe est raide, plus le processeur peut traiter les fichiers de flux rapidement et plus la courbe est faible, plus le processeur peut traiter les données. Un cas de traitement de flux de données lent peut être constaté dans l'image ci-dessous :

Le taux entrant (centré au niveau de l'horodatage 22:22) est considérablement supérieur au taux sortant, le taux entrant étant relativement raide par rapport à l'angle peu profond de la courbe sortante.
Ces observations simples sont faciles à appliquer aux graphiques et identifient les goulots d'étranglement potentiels. Toutefois, les conclusions ne sont pas toujours vraies et les groupes de processeurs sont parfois contraints dans leur traitement des données. Pour conclure, d'autres observations sont nécessaires pour confirmer le goulot d'étranglement.
Sous les éléments mis en file d'attente se trouvent des graphiques WaitLink. Les graphiques WaitLink, contrairement aux éléments mis en file d'attente, indiquent l'étape ou le segment est en cours de traitement à un moment donné. En d'autres termes, alors que l'axe X indique l'heure (correspondant au graphique Eléments en file d'attente), l'axe Y affiche le segment actif, avec des valeurs allant de 0 à 1 :

Si le système prend en charge différentes langues, de nombreux WaitLinks peuvent apparaître en même temps. Par conséquent, les graphiques atteignant l'axe Y jusqu'à la valeur 2 peuvent être affichés pour deux langues, et ainsi de suite.
Les liens d'attente permettent d'évaluer l'étape de traitement la plus longue à effectuer. Les segments les plus lents sont les rectangles les plus longs, qui sont les meilleurs candidats pour l'optimisation du processus d'ingestion.
Dans la rubrique suivante, laissez-nous explorer quelques cas typiques de traitement d'ingestion sous-optimal et vous formulerez une stratégie pour améliorer la vitesse de traitement.