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