3
votes

Comment obtenir des erreurs capturées à partir des journaux Nifi spécifiques à mon application lorsque plusieurs applications Nifi sont en cours d'exécution

Nous avons plusieurs applications nifi d'équipe fonctionnant sur la même machine nifi ... Existe-t-il un moyen de journaliser les journaux spécifiques à mon application? Aussi, par défaut, le fichier nifi-app.log est difficile à suivre les problèmes et le babillard affiche le msg d'erreur pendant seulement 5 minutes ... Comment faire capturer les erreurs et envoyer une alerte e-mail dans Nifi?

Aidez-moi à m'en sortir. Merci d'avance!


1 commentaires

Il semble que vous ayez 2 questions ici. Si vous avez plusieurs questions, veuillez créer un article distinct pour chaque question.


3 Réponses :


3
votes

Il y a plusieurs façons d'aborder cela. La première consiste à acheminer les relations d'échec des processeurs vers un processeur PutEmail qui peut envoyer une alerte en cas d'erreurs. Une autre consiste à utiliser une tâche de création de rapports personnalisée pour alerter un service de surveillance lorsqu'un certain nombre de fichiers de flux se trouvent dans une file d'attente d'erreurs.

Enfin, nous avons entendu dire que dans les environnements multi-locataires, l'analyse des journaux est difficile. Bien que NiFi vise à réduire ou éliminer complètement le besoin d'inspecter visuellement les journaux en fournissant la fonction de provenance des données, dans le cas où vous auriez besoin d'inspecter les journaux, nous vous recommandons de rechercher le journal par ID de processeur pour isoler les messages pertinents. Vous pouvez également utiliser NiFi lui-même pour ingérer ces mêmes journaux et effectuer des activités d'analyse et de filtrage si vous le souhaitez. Les versions futures peuvent améliorer cette expérience.


4 commentaires

Merci Andy pour la réponse. Nous utilisons PutEmail. Il existe plusieurs scénarios de basculement, donc, à chaque endroit, nous utilisons ce processeur de messagerie. Comme si nous 200 processeurs, environ 40 processeurs sont mis Processeur email ...


Existe-t-il une opportunité de les combiner en un seul PutEmail avec des valeurs paramétrées?


Encore une fois, pour paramétrer le putEmail, nous devons utiliser l'attribut 40 update ou tout autre processeur pour paramétrer l'entrée (corps du mail dans putEmail)


Je suppose que si chaque message doit être unique, mais je pense qu'avec Expression Language, il est probablement possible de réduire ce nombre. Vous devrez peut-être engager un fournisseur pour l'engagement de services professionnels.



1
votes

En analysant le journal nifi, vous pouvez séparer les journaux spécifiques aux applications de votre équipe, en utilisant l'ID du groupe de processeurs et en utilisant l'API Nifi Rest. Consultez le lien ci-dessous pour le modèle nifi et les codes python pour résoudre ce problème:

https://link.medium.com/L6IY1wTimV


3 commentaires

Merci Karthi keyan..Je vais importer ce modèle et le vérifier dans ma machine nifi et vous le faire savoir


Cela fonctionne spécifiquement pour l'application de mon équipe ... J'ai donné le groupe de processeurs racine et capable de suivre les journaux liés à tous les processeurs de mon application, mais nous avons également un service de contrôleur, pour cela je pense que nous devons utiliser un autre repos API pour suivre le service du contrôleur également ... Merci beaucoup Karthik


Bon à savoir. Oui, pour suivre les services du contrôleur, vous devez utiliser l'API de repos ci-dessous dans le code python existant dans ce modèle. http: // localhost: 8080 / nifi-api / controller-services / {id}



0
votes

Vous pouvez envoyer toutes les erreurs d'un groupe de processeurs au même processeur, il peut s'agir d'un UpdateAttribute normal ou d'un processeur personnalisé, ce processeur va ajouter le chemin et toutes les informations pertinentes, puis envoyer cela à une erreur générale / logs flux qui va vérifier les informations à l'intérieur du fichier de flux concernant l'erreur, et prendra la décision d'envoyer ou non un e-mail, à qui et ce genre de choses.
En utilisant cette approche, le système reste simple et à l'intérieur de NiFi, de sorte que vous n'ajoutez pas plus de couches de complexité et vous n'aurez qu'un seul processeur pour gérer les erreurs par groupe de processus.

C'est ainsi que nous gérons les erreurs dans mon entreprise.


0 commentaires