Apache NiFi - การตรวจสอบ

ใน Apache NiFi มีหลายวิธีในการตรวจสอบสถิติต่างๆของระบบเช่นข้อผิดพลาดการใช้หน่วยความจำการใช้งาน CPU สถิติการไหลของข้อมูล ฯลฯ เราจะพูดถึงวิธีที่ได้รับความนิยมมากที่สุดในบทช่วยสอนนี้

ในการตรวจสอบที่สร้างขึ้น

ในส่วนนี้เราจะเรียนรู้เพิ่มเติมเกี่ยวกับการตรวจสอบในตัวใน Apache NiFi

กระดานข่าว

กระดานข่าวแสดงข้อผิดพลาดและคำเตือนล่าสุดที่สร้างขึ้นโดยโปรเซสเซอร์ NiFi แบบเรียลไทม์ ในการเข้าถึงกระดานข่าวผู้ใช้จะต้องไปที่เมนูแบบเลื่อนลงทางขวามือและเลือกตัวเลือกกระดานข่าว จะรีเฟรชโดยอัตโนมัติและผู้ใช้สามารถปิดใช้งานได้เช่นกัน ผู้ใช้ยังสามารถไปที่โปรเซสเซอร์จริงได้โดยดับเบิลคลิกที่ข้อผิดพลาด ผู้ใช้ยังสามารถกรองกระดานข่าวโดยดำเนินการดังต่อไปนี้ -

  • ทางข้อความ
  • โดยชื่อ
  • โดย id
  • ตามรหัสกลุ่ม

UI ที่มาของข้อมูล

ในการตรวจสอบเหตุการณ์ที่เกิดขึ้นบนโปรเซสเซอร์เฉพาะใด ๆ หรือตลอดทั้ง NiFi ผู้ใช้สามารถเข้าถึงที่มาของข้อมูลจากเมนูเดียวกับกระดานข่าว ผู้ใช้ยังสามารถกรองเหตุการณ์ในที่เก็บข้อมูลที่มาของข้อมูลได้โดยใช้ฟิลด์ต่อไปนี้ -

  • ตามชื่อส่วนประกอบ
  • ตามประเภทส่วนประกอบ
  • ตามประเภท

UI สรุป NiFi

นอกจากนี้ยังสามารถเข้าถึงข้อมูลสรุป Apache NiFi ได้จากเมนูเดียวกับกระดานข่าว UI นี้มีข้อมูลเกี่ยวกับส่วนประกอบทั้งหมดของอินสแตนซ์หรือคลัสเตอร์ NiFi นั้น ๆ สามารถกรองตามชื่อตามประเภทหรือตาม URI มีแท็บต่างๆสำหรับส่วนประกอบประเภทต่างๆ ต่อไปนี้เป็นส่วนประกอบซึ่งสามารถตรวจสอบได้ใน UI สรุป NiFi -

  • Processors
  • พอร์ตอินพุต
  • พอร์ตเอาต์พุต
  • กลุ่มกระบวนการระยะไกล
  • Connections
  • กลุ่มกระบวนการ

ใน UI นี้มีลิงค์ที่ด้านล่างขวามือชื่อการวินิจฉัยระบบเพื่อตรวจสอบสถิติ JVM

การรายงานงาน

Apache NiFi มีงานการรายงานหลายอย่างเพื่อรองรับระบบการตรวจสอบภายนอกเช่น Ambari, Grafana เป็นต้นนักพัฒนาสามารถสร้างงานการรายงานแบบกำหนดเองหรือสามารถกำหนดค่างานที่สร้างขึ้นเพื่อส่งเมตริกของ NiFi ไปยังระบบตรวจสอบภายนอก ตารางต่อไปนี้แสดงรายการงานการรายงานที่เสนอโดย NiFi 1.7.1

ส. การรายงานชื่องาน คำอธิบาย
1 AmbariReportingTask ในการตั้งค่าบริการ Ambari Metrics สำหรับ NiFi
2 ControllerStatusReportingTask เพื่อรายงานข้อมูลจาก UI สรุป NiFi ในช่วง 5 นาทีที่ผ่านมา
3 MonitorDiskUsage เพื่อรายงานและเตือนเกี่ยวกับการใช้ดิสก์ของไดเร็กทอรีเฉพาะ
4 MonitorMemory เพื่อตรวจสอบจำนวน Java Heap ที่ใช้ใน Java Memory pool ของ JVM
5 SiteToSiteBulletinReportingTask เพื่อรายงานข้อผิดพลาดและคำเตือนในกระดานข่าวสารโดยใช้โปรโตคอลไซต์ถึงไซต์
6 SiteToSiteProvenanceReportingTask เพื่อรายงานเหตุการณ์ NiFi Data Provenance โดยใช้ Site to Site protocol

NiFi API

มี API ชื่อการวินิจฉัยระบบซึ่งสามารถใช้เพื่อตรวจสอบสถิติ NiFI ในแอปพลิเคชันที่พัฒนาขึ้นเอง ให้เราตรวจสอบ API ในบุรุษไปรษณีย์

ขอ

http://localhost: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"
         }
      }
   }
}