Compressed Log Processing (CLP) ของ YScope จะบีบอัดบันทึกของคุณ และช่วยให้คุณค้นหาบันทึกที่บีบอัดโดยไม่ต้องคลายการบีบอัด CLP รองรับทั้งบันทึก JSON และบันทึกที่ไม่มีโครงสร้าง (เช่น ข้อความอิสระ) นอกจากนี้ยังรองรับการบีบอัดบันทึกแบบเรียลไทม์ภายในไลบรารีการบันทึกหลายแห่ง CLP ยังมีเว็บอินเตอร์เฟสที่สร้างขึ้นโดยเฉพาะสำหรับการค้นหาและดูบันทึกที่บีบอัด หากต้องการเรียนรู้เพิ่มเติม โปรดอ่านรายงานปี 2021 เกี่ยวกับการจัดการบันทึกที่ไม่มีโครงสร้าง และรายงานปี 2024 เกี่ยวกับการขยายไปยังบันทึก JSON
รูปภาพด้านบนแสดงการบีบอัดและประสิทธิภาพการค้นหาของ CLP เมื่อเปรียบเทียบกับเครื่องมืออื่นๆ เราแยกการทดลองระหว่าง JSON และบันทึกที่ไม่มีโครงสร้างเนื่องจาก (1) เครื่องมือบางอย่างสามารถจัดการบันทึกได้เพียงประเภทเดียวเท่านั้น และ (2) เครื่องมือที่สามารถจัดการทั้งสองประเภทมักจะมีการออกแบบที่แตกต่างกันสำหรับแต่ละประเภท (เช่น CLP)
อัตราการบีบอัดวัดเป็นค่าเฉลี่ยในชุดข้อมูลบันทึกต่างๆ ชุดข้อมูลเหล่านี้บางส่วนสามารถพบได้ที่นี่ ประสิทธิภาพการค้นหาวัดโดยใช้การสืบค้นในบันทึก MongoDB (สำหรับ JSON) และบันทึก Hadoop (สำหรับบันทึกที่ไม่มีโครงสร้าง) โปรดทราบว่า CLP ใช้การออกแบบที่ไม่มีดัชนี ดังนั้นเพื่อการเปรียบเทียบที่เป็นธรรม เราจึงปิดใช้งานดัชนีของ MongoDB และ PostgreSQL หากเราเปิดใช้งานทิ้งไว้ อัตราส่วนการบีบอัดของ MongoDB และ PostgreSQL จะแย่ลง เราไม่ได้ปิดใช้งานการสร้างดัชนีสำหรับ Elasticsearch หรือ Splunk เนื่องจากเครื่องมือเหล่านี้อิงตามดัชนีโดยพื้นฐาน (กล่าวคือ ไม่สามารถค้นหาบันทึกได้หากไม่มีดัชนี) รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทดลองของเราสามารถพบได้ในรายงานปี 2021 และรายงานปี 2024
CLP จัดเตรียมไปป์ไลน์การจัดการบันทึกแบบครบวงจรซึ่งประกอบด้วยการบีบอัด การค้นหา การวิเคราะห์ และการดู รูปด้านบนแสดงสถาปัตยกรรมระบบนิเวศของ CLP ประกอบด้วยคุณสมบัติดังต่อไปนี้:
การบีบอัดและการค้นหา : CLP บีบอัดบันทึกลงในไฟล์เก็บถาวร ซึ่งสามารถค้นหาและวิเคราะห์ได้ใน UI ของเว็บ อินพุตอาจเป็นบันทึกดิบหรือ IR ที่ถูกบีบอัดของ CLP (การแสดงระดับกลาง) ที่สร้างโดยไลบรารีการบันทึกของ CLP
การบีบอัดแบบเรียลไทม์ด้วยไลบรารีการบันทึก CLP : CLP จัดเตรียมไลบรารีการบันทึกสำหรับ Python และ Java (Log4j และ Logback) ไลบรารีการบันทึกจะบีบอัดบันทึกแบบเรียลไทม์ ดังนั้นเฉพาะบันทึกที่บีบอัดเท่านั้นจึงจะถูกเขียนลงดิสก์หรือส่งผ่านเครือข่าย บันทึกที่บีบอัดใช้รูปแบบการแสดงระดับกลาง (IR) ของ CLP ซึ่งมีอัตราส่วนการบีบอัดที่สูงกว่าคอมเพรสเซอร์ทั่วไป เช่น Zstandard การบีบอัด IR ลงในไฟล์เก็บถาวรสามารถเพิ่มอัตราส่วนการบีบอัดเป็นสองเท่าและทำให้สามารถค้นหาทั่วโลกได้ แต่ต้องใช้หน่วยความจำมากขึ้นเนื่องจากจำเป็นต้องบัฟเฟอร์บันทึกที่เพียงพอ รายละเอียดเพิ่มเติมเกี่ยวกับ IR เทียบกับเอกสารสำคัญสามารถพบได้ในบล็อกวิศวกรรมของ Uber
โปรแกรมดูบันทึก : IR ที่บีบอัดสามารถดูได้ในโปรแกรมดูบันทึกบนเว็บ เมื่อเปรียบเทียบกับการดูบันทึกในโปรแกรมแก้ไข โปรแกรมดูบันทึกของ CLP รองรับคุณสมบัติขั้นสูง เช่น การกรองบันทึกตามรายละเอียดระดับบันทึก (เช่น การแสดงเฉพาะบันทึกที่มีระดับบันทึกเท่ากับหรือสูงกว่าข้อผิดพลาด) คุณลักษณะเหล่านี้เป็นไปได้เนื่องจากไลบรารีการบันทึกของ CLP แยกวิเคราะห์บันทึกก่อนที่จะบีบอัดลงใน IR
IR Analytics Libraries : เรายังจัดให้มีไลบรารี Python และไลบรารี Go ที่สามารถวิเคราะห์ IR ที่ถูกบีบอัดได้
ตัวแยกวิเคราะห์บันทึก : CLP ยังมีตัวแยกวิเคราะห์บันทึกแบบกดลงแบบกำหนดเองซึ่งเร็วกว่าเอ็นจิ้นนิพจน์ทั่วไปที่ล้ำสมัยเช่น RE2 ถึง 3 เท่า ตัวแยกวิเคราะห์บันทึกพร้อมใช้งานเป็นไลบรารีที่แอปพลิเคชันอื่นสามารถใช้ได้
คุณสามารถดาวน์โหลดแพ็คเกจรีลีสซึ่งรวมถึงการสนับสนุนการบีบอัดและการค้นหาแบบกระจาย หรือหากต้องการลองใช้การบีบอัดและค้นหาคอ ร์ ของ CLP อย่างรวดเร็ว คุณสามารถใช้คอนเทนเนอร์ที่สร้างไว้ล่วงหน้าได้
เรายังมีคำแนะนำสำหรับการสร้างแพ็คเกจและคอร์ CLP จากแหล่งที่มาอีกด้วย
สำหรับบันทึกบางรายการที่คุณสามารถใช้เพื่อทดสอบ CLP โปรดดูชุดข้อมูลโอเพ่นซอร์สของเรา
คุณสามารถค้นหาเอกสารของเราทางออนไลน์หรือดูแหล่งที่มาใน docs/src
คุณสามารถใช้ปัญหา GitHub เพื่อรายงานจุดบกพร่องหรือขอคุณสมบัติได้
เข้าร่วมกับเราบน Zulip เพื่อพูดคุยกับนักพัฒนาและสมาชิกชุมชนอื่น ๆ
นี่คือการเปิดตัวโอเพ่นซอร์สของเราซึ่งเราจะอัปเดตอย่างต่อเนื่องด้วยการแก้ไขข้อบกพร่อง คุณสมบัติ ฯลฯ หากคุณต้องการคุณสมบัติหรือต้องการรายงานข้อบกพร่อง โปรดแจ้งปัญหา เรายินดีที่จะมีส่วนร่วม