Apache NiFi - Surveillance
Dans Apache NiFi, il existe plusieurs façons de surveiller les différentes statistiques du système telles que les erreurs, l'utilisation de la mémoire, l'utilisation du processeur, les statistiques de flux de données, etc. Nous discuterons des plus populaires dans ce tutoriel.
Surveillance intégrée
Dans cette section, nous en apprendrons plus sur la surveillance intégrée dans Apache NiFi.
Tableau d'affichage
Le babillard affiche les dernières ERREURS et AVERTISSEMENTS générés par les processeurs NiFi en temps réel. Pour accéder au tableau d'affichage, un utilisateur devra aller dans le menu déroulant de droite et sélectionner l'option Tableau d'affichage. Il s'actualise automatiquement et un utilisateur peut également le désactiver. Un utilisateur peut également accéder au processeur réel en double-cliquant sur l'erreur. Un utilisateur peut également filtrer les bulletins en travaillant avec les éléments suivants:
- par message
- de nom
- par identifiant
- par identifiant de groupe
Interface utilisateur de provenance des données
Pour surveiller les événements survenant sur n'importe quel processeur spécifique ou tout au long de NiFi, un utilisateur peut accéder à la provenance des données à partir du même menu que le tableau d'affichage. Un utilisateur peut également filtrer les événements dans le référentiel de provenance des données en travaillant avec les champs suivants -
- par nom de composant
- par type de composant
- par type
Interface utilisateur récapitulative NiFi
Le résumé Apache NiFi est également accessible à partir du même menu que le tableau d'affichage. Cette interface utilisateur contient des informations sur tous les composants de cette instance ou cluster NiFi particulier. Ils peuvent être filtrés par nom, par type ou par URI. Il existe différents onglets pour différents types de composants. Voici les composants qui peuvent être surveillés dans l'interface utilisateur du résumé NiFi -
- Processors
- Ports d'entrée
- Ports de sortie
- Groupes de processus distants
- Connections
- Groupes de processus
Dans cette interface utilisateur, il y a un lien en bas à droite nommé diagnostics système pour vérifier les statistiques JVM.
Tâches de rapport
Apache NiFi fournit plusieurs tâches de reporting pour prendre en charge les systèmes de surveillance externes comme Ambari, Grafana, etc. Un développeur peut créer une tâche de rapport personnalisée ou peut configurer les tâches intégrées pour envoyer les métriques de NiFi aux systèmes de surveillance externes. Le tableau suivant répertorie les tâches de reporting proposées par NiFi 1.7.1.
S.No. | Nom de la tâche de rapport | La description |
---|---|---|
1 | AmbariReportingTask | Pour configurer le service de métriques Ambari pour NiFi. |
2 | ControllerStatusReportingTask | Pour rapporter les informations de l'interface utilisateur de résumé NiFi pendant les 5 dernières minutes. |
3 | MonitorDiskUsage | Pour signaler et avertir de l'utilisation du disque d'un répertoire spécifique. |
4 | MoniteurMémoire | Pour surveiller la quantité de tas Java utilisée dans un pool de mémoire Java de JVM. |
5 | SiteToSiteBulletinReportingTask | Pour signaler les erreurs et les avertissements dans les bulletins en utilisant le protocole site à site. |
6 | SiteToSiteProvenanceReportingTask | Pour signaler les événements de provenance des données NiFi à l'aide du protocole site à site. |
API NiFi
Il existe une API nommée diagnostics système, qui peut être utilisée pour surveiller les statistiques NiFI dans toute application développée sur mesure. Laissez-nous vérifier l'API dans postman.
Demande
http://localhost:8080/nifi-api/system-diagnostics
Réponse
{
"systemDiagnostics": {
"aggregateSnapshot": {
"totalNonHeap": "183.89 MB",
"totalNonHeapBytes": 192819200,
"usedNonHeap": "173.47 MB",
"usedNonHeapBytes": 181894560,
"freeNonHeap": "10.42 MB",
"freeNonHeapBytes": 10924640,
"maxNonHeap": "-1 bytes",
"maxNonHeapBytes": -1,
"totalHeap": "512 MB",
"totalHeapBytes": 536870912,
"usedHeap": "273.37 MB",
"usedHeapBytes": 286652264,
"freeHeap": "238.63 MB",
"freeHeapBytes": 250218648,
"maxHeap": "512 MB",
"maxHeapBytes": 536870912,
"heapUtilization": "53.0%",
"availableProcessors": 4,
"processorLoadAverage": -1,
"totalThreads": 71,
"daemonThreads": 31,
"uptime": "17:30:35.277",
"flowFileRepositoryStorageUsage": {
"freeSpace": "286.93 GB",
"totalSpace": "464.78 GB",
"usedSpace": "177.85 GB",
"freeSpaceBytes": 308090789888,
"totalSpaceBytes": 499057160192,
"usedSpaceBytes": 190966370304,
"utilization": "38.0%"
},
"contentRepositoryStorageUsage": [
{
"identifier": "default",
"freeSpace": "286.93 GB",
"totalSpace": "464.78 GB",
"usedSpace": "177.85 GB",
"freeSpaceBytes": 308090789888,
"totalSpaceBytes": 499057160192,
"usedSpaceBytes": 190966370304,
"utilization": "38.0%"
}
],
"provenanceRepositoryStorageUsage": [
{
"identifier": "default",
"freeSpace": "286.93 GB",
"totalSpace": "464.78 GB",
"usedSpace": "177.85 GB",
"freeSpaceBytes": 308090789888,
"totalSpaceBytes": 499057160192,
"usedSpaceBytes": 190966370304,
"utilization": "38.0%"
}
],
"garbageCollection": [
{
"name": "G1 Young Generation",
"collectionCount": 344,
"collectionTime": "00:00:06.239",
"collectionMillis": 6239
},
{
"name": "G1 Old Generation",
"collectionCount": 0,
"collectionTime": "00:00:00.000",
"collectionMillis": 0
}
],
"statsLastRefreshed": "09:30:20 SGT",
"versionInfo": {
"niFiVersion": "1.7.1",
"javaVendor": "Oracle Corporation",
"javaVersion": "1.8.0_151",
"osName": "Windows 7",
"osVersion": "6.1",
"osArchitecture": "amd64",
"buildTag": "nifi-1.7.1-RC1",
"buildTimestamp": "07/12/2018 12:54:43 SGT"
}
}
}
}