Apache NiFi - Giám sát

Trong Apache NiFi, có nhiều cách để theo dõi các thống kê khác nhau của hệ thống như lỗi, sử dụng bộ nhớ, sử dụng CPU, thống kê Luồng dữ liệu, v.v. Chúng ta sẽ thảo luận về những cách phổ biến nhất trong hướng dẫn này.

Trong Giám sát xây dựng

Trong phần này, chúng ta sẽ tìm hiểu thêm về giám sát tích hợp trong Apache NiFi.

Bảng tin

Bảng thông báo hiển thị LỖI và CẢNH BÁO mới nhất do bộ xử lý NiFi tạo ra trong thời gian thực. Để truy cập bảng thông báo, người dùng sẽ phải vào menu thả xuống bên phải và chọn tùy chọn Bảng thông báo. Nó tự động làm mới và người dùng cũng có thể tắt nó. Người dùng cũng có thể điều hướng đến bộ xử lý thực bằng cách nhấp đúp vào lỗi. Người dùng cũng có thể lọc các bản tin bằng cách thực hiện như sau:

  • bằng tin nhắn
  • bằng tên
  • theo id
  • theo id nhóm

Giao diện người dùng xuất xứ dữ liệu

Để theo dõi các Sự kiện xảy ra trên bất kỳ bộ xử lý cụ thể nào hoặc trên toàn bộ NiFi, người dùng có thể truy cập Nguồn gốc Dữ liệu từ cùng một menu như bảng thông báo. Người dùng cũng có thể lọc các sự kiện trong kho lưu trữ nguồn gốc dữ liệu bằng cách làm việc với các trường sau:

  • theo tên thành phần
  • theo loại thành phần
  • theo loại

Giao diện người dùng Tóm tắt NiFi

Bản tóm tắt Apache NiFi cũng có thể được truy cập từ menu tương tự như bảng thông báo. Giao diện người dùng này chứa thông tin về tất cả các thành phần của phiên bản hoặc cụm NiFi cụ thể đó. Chúng có thể được lọc theo tên, theo loại hoặc theo URI. Có các tab khác nhau cho các loại thành phần khác nhau. Sau đây là các thành phần, có thể được theo dõi trong giao diện người dùng tóm tắt NiFi -

  • Processors
  • Cổng đầu vào
  • Cổng đầu ra
  • Nhóm quy trình từ xa
  • Connections
  • Nhóm xử lý

Trong giao diện người dùng này, có một liên kết ở dưới cùng bên phải có tên là chẩn đoán hệ thống để kiểm tra thống kê JVM.

Báo cáo Nhiệm vụ

Apache NiFi cung cấp nhiều tác vụ báo cáo để hỗ trợ các hệ thống giám sát bên ngoài như Ambari, Grafana, v.v. Một nhà phát triển có thể tạo tác vụ báo cáo tùy chỉnh hoặc có thể định cấu hình các tác vụ có sẵn để gửi các số liệu của NiFi đến hệ thống giám sát bên ngoài. Bảng sau liệt kê các tác vụ báo cáo do NiFi 1.7.1 cung cấp.

Không. Báo cáo Tên Nhiệm vụ Sự miêu tả
1 AmbariReportingTask Để thiết lập Dịch vụ đo lường Ambari cho NiFi.
2 ControllerStatusReportingTask Để báo cáo thông tin từ giao diện người dùng tóm tắt NiFi trong 5 phút qua.
3 MonitorDiskUsage Để báo cáo và cảnh báo về việc sử dụng đĩa của một thư mục cụ thể.
4 MonitorMemory Để theo dõi số lượng Java Heap được sử dụng trong nhóm Bộ nhớ Java của JVM.
5 SiteToSiteBulletinReportingTask Để báo cáo các lỗi và cảnh báo trong các bản tin bằng giao thức Site to Site.
6 SiteToSiteProvenanceReportingTask Để báo cáo các sự kiện NiFi Data Provenance sử dụng giao thức Site to Site.

API NiFi

Có một API được đặt tên là chẩn đoán hệ thống, có thể được sử dụng để theo dõi thống kê NiFI trong bất kỳ ứng dụng được phát triển tùy chỉnh nào. Hãy để chúng tôi kiểm tra API trong bưu tá.

Yêu cầu

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

Phản ứng

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