Apache NiFi - 監控



在 Apache NiFi 中,有多種方法可以監控系統的不同統計資訊,例如錯誤、記憶體使用情況、CPU 使用情況、資料流統計資訊等。在本教程中,我們將討論最流行的方法。

內建監控

在本節中,我們將詳細瞭解 Apache NiFi 中的內建監控。

公告板

公告板即時顯示 NiFi 處理器生成的最新錯誤和警告。要訪問公告板,使用者需要轉到右側的下拉選單並選擇“公告板”選項。它會自動重新整理,使用者也可以停用它。使用者還可以透過雙擊錯誤導航到實際的處理器。使用者還可以透過以下方式過濾公告:

  • 按訊息
  • 按名稱
  • 按 ID
  • 按組 ID

資料溯源 UI

要監控任何特定處理器或整個 NiFi 上發生的事件,使用者可以從與公告板相同的選單訪問資料溯源。使用者還可以透過以下欄位過濾資料溯源儲存庫中的事件:

  • 按元件名稱
  • 按元件型別
  • 按型別

NiFi 摘要 UI

Apache NiFi 摘要也可以從與公告板相同的選單訪問。此 UI 包含有關該特定 NiFi 例項或叢集的所有元件的資訊。它們可以按名稱、型別或 URI 進行過濾。不同的元件型別有不同的選項卡。以下是可以在 NiFi 摘要 UI 中監控的元件:

  • 處理器
  • 輸入埠
  • 輸出埠
  • 遠端處理組
  • 連線
  • 處理組

在此 UI 中,在右下角有一個名為“系統診斷”的連結,用於檢查 JVM 統計資訊。

報告任務

Apache NiFi 提供多個報告任務來支援外部監控系統,例如 Ambari、Grafana 等。開發人員可以建立自定義報告任務,也可以配置內建報告任務以將 NiFi 的指標傳送到外部監控系統。下表列出了 NiFi 1.7.1 提供的報告任務。

序號 報告任務名稱 描述
1 AmbariReportingTask 為 NiFi 設定 Ambari 度量服務。
2 ControllerStatusReportingTask 報告過去 5 分鐘內 NiFi 摘要 UI 中的資訊。
3 MonitorDiskUsage 報告並警告特定目錄的磁碟使用情況。
4 MonitorMemory 監控 JVM 的 Java 記憶體池中使用的 Java 堆大小。
5 SiteToSiteBulletinReportingTask 使用站點到站點協議報告公告中的錯誤和警告。
6 SiteToSiteProvenanceReportingTask 使用站點到站點協議報告 NiFi 資料溯源事件。

NiFi API

有一個名為“系統診斷”的 API,可用於在任何自定義開發的應用程式中監控 NiFi 統計資訊。讓我們在 postman 中檢查 API。

請求

https://:8080/nifi-api/system-diagnostics

響應

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

© . All rights reserved.