Surveillance de l'opération
Les segments de mémoire NiFi et Elasticsearch, ainsi que l'utilisation de la mémoire native, doivent faire l'objet d'une attention particulière. Si la taille de mémoire est insuffisante pour la charge de travail, elle doit être étendue. Après chaque ajustement de réglage, l'utilisation du segment de mémoire et de la mémoire native doit être surveillée. Cela est crucial lors de l'augmentation des accès concurrents des processeurs ou de la taille de bucket.size/flowfile.
Le graphique de performances Graphana NiFi est le moyen le plus pratique de suivre le développement global de l'index. Vous pouvez examiner le rythme d'exécution total, déterminer la vitesse des principaux groupes de processeurs et voir la quantité de données générées et chargées dans Elasticsearch.
Grafana
Vous pouvez utiliser Grafana pour analyser les performances du pipeline Ingest. Les deux graphiques les plus utiles sont Articles en file d'attente et Lien d'attente.


Les groupes de processus WaitLink sont ajoutés entre les groupes de processus dans les connecteurs Ingest NiFi pour s'assurer que l'étape précédente est terminée avant le début de l'étape suivante. Les données actuellement utilisées dans un processus en cours ne peuvent pas être utilisées dans les étapes suivantes. En outre, cela réduit la probabilité que plusieurs processus fonctionnent simultanément, ce qui peut entraîner des pics significatifs de demandes de ressources d'E/S de l'UC, du réseau, de la mémoire ou du disque.

Le temps passé sur WaitLink peut être utilisé pour estimer le temps total passé sur une étape et identifier les étapes qui consomment le plus de ressources et de temps lors de la génération. Comme WaitLink n'est pas disponible pour tous les groupes de processus, le graphique des éléments en file d'attente offre plus de détails sur le temps de traitement pour chaque groupe de processus.
Les graphiques utiles à examiner dans Articles en file d'attente sont les graphiques Service en masse <- XXXX>. Ces groupes de processus envoient les données traitées (documents d'index) à Elasticsearch depuis NiFi. Service en masse - Le produit est le plus essentiel. Utilisez l'horodatage dans WaitLink pour accéder aux étapes correspondantes, car la courbe s'exécute du début à la fin du pipeline Ingest.
Les deux graphiques suivants, par exemple, montrent que l'étape 1e du produit contient les articles les plus placés en file d'attente. Cette observation indique que le groupe de données de récupération et le groupe de données de traitement peuvent traiter rapidement la tâche et envoyer beaucoup de données au groupe de services en masse pour la transmission.


La durée des éléments mis en file d'attente 100 est courte dans cet exemple, il ne s'agit donc pas d'un problème. Si un groupe de processus prend plus de temps, avec un plus grand nombre d'éléments en file d'attente, il s'agit d'un possible goulot d'étranglement dans le pipeline.
Grafana peut également être utilisé pour suivre d'autres paramètres.
Compteurs NiFi et rapports
Lors de l'exécution du pipeline Ingest, vous pouvez utiliser les compteurs NiFi ou Grafana pour vérifier le rapport de pipeline.
En raison d'une consommation de ressources élevée, l'accès aux compteurs NiFi http://nifi.<your domain>/nifi/counters est désactivé par défaut.
/commerce-helmchart-master/hcl-commerce-helmchart/stable/hcl-commerce/templates/nifi-app.yaml avant d'installer NiFi :- name: "DOMAIN_NAME"
value: "{{ .Release.Namespace }}.svc.cluster.local"
- name: "SPIUSER_NAME"
value: {{ $.Values.common.spiUserName | quote }}
- name: "FEATURE_NIFI_COUNTER"
value: "true"
- name: "VAULT_CA"
value: {{ .Values.vaultCA.enabled | quote }}
Examinez le rapport pendant que le test est en cours ou après l'exécution du processus Ingest si vous l'activez. L'un des inconvénients est que chaque connexion ne peut afficher qu'un seul rapport. En utilisant le même connecteur, un autre pipeline Ingest peut être exécuté en même temps (prévoyez quelques minutes pour que cela se termine). Une fois le pipeline Ingest démarré, le rapport créé pour l'exécution précédente est supprimé.

Une fois qu'un pipeline Ingest est terminé, le rapport Ingest, Métriques Ingest, sera envoyé à l'index exécuté dans Elasticsearch. Grafana peut être configuré pour afficher le rapport dans le format que vous spécifiez. Tous les rapports des différents pipelines et connexions Ingest sont enregistrés. Sélectionnez le connecteur et runID pour afficher le rapport.




Les données de Métriques Ingest au niveau de Grafana sont différentes de Articles mis en file d'attente/Lien d'attente. Elasticsearch reçoit les métriques de NiFi une fois le processus Ingest terminé. Toutefois, Articles mis en file d'attente/Lien d'attente utilise Prometheus pour collecter des données en temps réel.
Il se peut que vous ne vouliez pas terminer un pipeline Ingest avant de l'avoir à nouveau exécuté à des fins d'optimisation ou que le processus échoue à un moment au cours du processus Ingest. Dans ces circonstances, les compteurs NiFi peuvent faciliter la génération de rapports pour certaines étapes d'un pipeline Ingest.
Kibana
Kibana peut être utilisé pour surveiller la consommation de ressources d'Elasticsearch. Pour plus d'informations sur Kibana, reportez-vous à la documentation kibana.

Kibana surveille les activités Elasticsearch dans ce graphique. Pour le processus de génération d'index, les métriques clés sont l'utilisation de l'UC, le segment de mémoire JVM et le taux d'opérations d'E/S. Le taux d'opérations d'E/S est la principale métrique, car il est difficile d'accélérer le débit global si le taux d'E/S est pleinement utilisé. Si la vitesse est inacceptable, la meilleure solution consiste à examiner d'autres options dont le débit est plus élevé.