9 คะแนน โดย xguru 2024-12-01 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • อัปเดตใหญ่ครั้งแรกในรอบ 7 ปี โดยยังคงความเข้ากันได้กับเวอร์ชันเดิมพร้อมเพิ่มฟีเจอร์ใหม่
  • UI แบบใหม่ที่ออกแบบขึ้นใหม่ให้ทันสมัย
  • ปรับปรุงโปรโตคอลด้วย Remote Write 2.0
  • ใช้ UTF-8 กับชื่อเมตริก/เลเบลได้
  • เพิ่มการทำงานร่วมกับ OpenTelemetry
  • รองรับ native histogram ซึ่งให้ประสิทธิภาพสูงกว่าและมีต้นทุนต่ำกว่า histogram แบบเดิม
  • ปรับปรุงการใช้หน่วยความจำและประสิทธิภาพ CPU อย่างมากเมื่อเทียบกับ 2.0

UI ใหม่

  • หนึ่งในจุดเด่นที่สุดของ Prometheus 3.0 คือ UI ที่ออกแบบใหม่
  • จุดเด่น:
    • อินเทอร์เฟซที่กระชับและทันสมัยยิ่งขึ้น
    • เพิ่ม tree view สไตล์ PromLens
    • ใช้เทคโนโลยีสแตกสมัยใหม่เพื่อให้ง่ายต่อการบำรุงรักษา
  • หลังช่วงเบต้าได้เพิ่มการรองรับชื่อเมตริกและเลเบลแบบ UTF-8
  • UI เวอร์ชันเก่าสามารถเปิดใช้งานชั่วคราวได้ด้วยแฟลก old-ui

Remote Write 2.0

  • ปรับปรุงโปรโตคอล Remote Write เพื่อรองรับเมทาดาทา ตัวอย่าง generated timestamp และ native histogram ได้อย่างราบรื่นยิ่งขึ้น
  • ใช้ string interning เพื่อลดขนาด payload และการใช้ CPU
  • ปรับปรุงการจัดการ partial write: ให้ข้อมูลข้อผิดพลาดที่ละเอียดขึ้นแก่ไคลเอนต์

รองรับ UTF-8

  • ตอนนี้สามารถใช้ตัวอักษร UTF-8 กับชื่อเมตริกและค่าเลเบลได้แล้ว
  • ในสภาพแวดล้อมที่ไม่รองรับ UTF-8 จะยังใช้วิธีแบบ underscore เดิม
  • ใน PromQL สามารถค้นหาเมตริก UTF-8 ได้ด้วยไวยากรณ์การอ้างอิงแบบใหม่
  • ปัจจุบันมีเพียงไลบรารีไคลเอนต์ Go ที่อัปเดตรองรับ UTF-8 เสร็จแล้ว ส่วนภาษาอื่นจะตามมาเร็ว ๆ นี้

รองรับ OTLP

  • เพิ่มการทำงานร่วมกับ OpenTelemetry(OTLP)
  • OTLP Ingestion:
    • สามารถตั้งค่าให้ Prometheus รับ OTLP metrics ที่ endpoint /api/v1/otlp/v1/metrics ได้โดยปริยาย
    • ดูวิธีตั้งค่าได้จาก คู่มือ OTLP
  • การทำให้เป็นมาตรฐาน UTF-8:
    • ไม่จำเป็นต้องแปลงจุด(.)เป็นขีดล่าง(_)ในชื่อเมตริกและเลเบลของ OpenTelemetry อีกต่อไป
    • มีการรองรับเชิงทดลองสำหรับกลยุทธ์การแปลงหลายแบบเพื่อการเก็บ OTLP

Native Histogram

  • Native Histogram ให้ประสิทธิภาพสูงกว่าและมีต้นทุนต่ำกว่า histogram แบบเดิม
  • จุดเด่น:
    • bucket แบบ exponential ที่ไม่จำเป็นต้องอัปเดตขอบเขต bucket ให้ตรงกับชุดข้อมูล
    • เป็นฟีเจอร์เชิงทดลอง เปิดใช้งานได้ด้วยแฟลก --enable-feature=native-histograms
  • บางฟอร์แมตและโอเปอเรเตอร์ยังอยู่ระหว่างการออกแบบ

Breaking Changes

  • แม้จะพยายามหลีกเลี่ยงการทำให้ฟีเจอร์เดิมใช้งานไม่ได้ในการออกเวอร์ชันหลัก แต่ก็ยังมีการเปลี่ยนแปลงเล็กน้อยบางส่วน:
    • feature flags
    • ไฟล์คอนฟิก
    • PromQL
    • scrape protocol
  • คอนฟิกที่อาจได้รับผลกระทบตรวจสอบได้จาก คู่มือการย้ายระบบ

แผนการปรับปรุงในอนาคต

  • governance model ใหม่ที่ครอบคลุมมากขึ้น
  • เพิ่มความเข้ากันได้กับ OpenTelemetry เพิ่มเติม
  • OpenMetrics 2.0 (พัฒนาภายใต้ governance ของ Prometheus)
  • ทำให้ native histogram มีเสถียรภาพและรองรับ bucket แบบกำหนดเอง
  • การเพิ่มประสิทธิภาพเพิ่มเติม
  • ขยายการรองรับ UTF-8

2 ความคิดเห็น

 
roxie 2024-12-01

UI ที่ทันสมัยจริงๆ..

 
blurblah 2024-12-01

อีกไม่นานคงต้องลองเอาไปใช้ดูแล้ว