Apache NiFi - İzleme

Apache NiFi'de, hatalar, bellek kullanımı, CPU kullanımı, Veri Akışı istatistikleri vb. Gibi sistemin farklı istatistiklerini izlemenin birçok yolu vardır. Bu eğitimde en popüler olanları tartışacağız.

Dahili İzleme

Bu bölümde, Apache NiFi'de yerleşik izleme hakkında daha fazla bilgi edineceğiz.

Bülten Panosu

Bülten panosu, NiFi işlemciler tarafından gerçek zamanlı olarak üretilen en son HATA ve UYARI'yı gösterir. Bülten tahtasına erişmek için, bir kullanıcının sağdaki açılır menüye gitmesi ve Bülten Tahtası seçeneğini seçmesi gerekecektir. Otomatik olarak yenilenir ve bir kullanıcı da devre dışı bırakabilir. Bir kullanıcı ayrıca hatayı çift tıklayarak gerçek işlemciye gidebilir. Bir kullanıcı ayrıca aşağıdakilerle çalışarak bültenleri filtreleyebilir -

  • mesajla
  • isimle
  • id ile
  • grup kimliğine göre

Veri kaynağı kullanıcı arayüzü

Herhangi bir işlemcide veya NiFi genelinde meydana gelen Olayları izlemek için, bir kullanıcı Veri kaynağına bülten panosuyla aynı menüden erişebilir. Bir kullanıcı ayrıca aşağıdaki alanlarla çalışarak veri kaynağı havuzundaki olayları filtreleyebilir:

  • bileşen adına göre
  • bileşen türüne göre
  • türe göre

NiFi Özet Kullanıcı Arayüzü

Apache NiFi özetine, ilan panosuyla aynı menüden de erişilebilir. Bu kullanıcı arayüzü, söz konusu NiFi örneğinin veya kümesinin tüm bileşenleri hakkında bilgi içerir. Ada, türe veya URI'ye göre filtrelenebilirler. Farklı bileşen türleri için farklı sekmeler vardır. Aşağıdakiler, NiFi özet kullanıcı arayüzünde izlenebilen bileşenlerdir -

  • Processors
  • Giriş bağlantı noktaları
  • Çıkış bağlantı noktaları
  • Uzak süreç grupları
  • Connections
  • İşlem grupları

Bu kullanıcı arayüzünde, JVM istatistiklerini kontrol etmek için sağ alt tarafta sistem teşhisi adlı bir bağlantı vardır.

Raporlama Görevleri

Apache NiFi, Ambari, Grafana, vb. Gibi harici izleme sistemlerini desteklemek için birden fazla raporlama görevi sağlar. Bir geliştirici, özel bir raporlama görevi oluşturabilir veya NiFi'nin ölçümlerini harici izleme sistemlerine göndermek için dahili olanları yapılandırabilir. Aşağıdaki tablo, NiFi 1.7.1 tarafından sunulan raporlama görevlerini listelemektedir.

S.No. Raporlama Görevi Adı Açıklama
1 AmbariReportingTask NiFi için Ambari Metrics Service'i kurmak için.
2 ControllerStatusReportingTask Bilgileri NiFi özet kullanıcı arayüzünden son 5 dakika için bildirmek için.
3 MonitorDiskUsage Belirli bir dizinin disk kullanımını bildirmek ve uyarmak için.
4 MonitorMemory JVM'nin Java Bellek havuzunda kullanılan Java Yığını miktarını izlemek için.
5 SiteToSite BültenRaporlamaTask Site to Site protokolünü kullanarak bültenlerdeki hataları ve uyarıları bildirmek.
6 SiteToSiteProvenanceReportingTask Siteden Siteye protokolünü kullanarak NiFi Veri Kaynağı olaylarını bildirmek için.

NiFi API

Özel olarak geliştirilmiş herhangi bir uygulamada NiFI istatistiklerini izlemek için kullanılabilen, API adlı bir sistem teşhisi vardır. Postacıda API'yi kontrol edelim.

İstek

http://localhost:8080/nifi-api/system-diagnostics

Tepki

{
   "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"
         }
      }
   }
}