0Pricing
MLOps Academy · บทเรียน

เปิดเผยเมตริกด้วย Prometheus

ติดตามอัตราคำขอ ข้อผิดพลาด และระยะเวลา

เปิดเผยเมตริกด้วย Prometheus เป็นบทเรียน MLOps Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MLOps Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน

บันทึกเทียบกับตัวชี้วัด

บันทึกจะบอกเรื่องราวของคำขอหนึ่งรายการ ส่วนตัวชี้วัดคือตัวเลขที่รวมจากคำขอจำนวนมาก จึงช่วยให้คุณเห็นแนวโน้ม เช่น อัตราและจำนวนข้อผิดพลาดได้ทันที 📈

ทำความรู้จัก Prometheus

Prometheus คือเครื่องมือมาตรฐานสำหรับรวบรวมตัวเลขเหล่านี้ บริการของคุณเปิดเผยตัวชี้วัด แล้ว Prometheus จะอ่านข้อมูลเหล่านั้นเป็นระยะให้คุณ

ดึงข้อมูล ไม่ใช่ส่งข้อมูล

Prometheus ใช้รูปแบบดึงข้อมูล โดยอ่าน URL ตัวชี้วัดจากบริการของคุณทุกไม่กี่วินาที หน้าที่ของคุณมีเพียงเปิดเผยปลายทางนั้น

ไคลเอนต์ Python

ไลบรารี prometheus_client ช่วยให้บริการ Python ของคุณกำหนดและให้บริการตัวชี้วัดได้โดยแทบไม่ต้องเขียนโค้ดประกอบ

from prometheus_client import Counter, Histogram, start_http_server

ตัวนับเพิ่มขึ้นเรื่อย ๆ

Counter จะเพิ่มขึ้นเท่านั้น ไม่ลดลง เหมาะอย่างยิ่งสำหรับยอดรวม เช่น จำนวนการทำนายที่โมเดลให้บริการนับตั้งแต่เริ่มทำงาน

predictions = Counter("predictions_total", "Total predictions served")
predictions.inc()

ฮิสโตแกรมใช้จับเวลา

Histogram จะบันทึกการกระจายของข้อมูล จึงเหมาะกับระยะเวลาของคำขอ โดยแบ่งค่าเป็นช่วงเพื่อให้คุณอ่านเวลาแฝง p50 และ p99 ได้ในภายหลัง

latency = Histogram("predict_seconds", "Prediction latency in seconds")
with latency.time():
    model.predict(x)

ป้ายกำกับเพิ่มมิติข้อมูล

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

errors = Counter("errors_total", "Errors", ["model"])
errors.labels(model="churn-v3").inc()

เปิดเผยปลายทาง /metrics

Prometheus จะอ่านเส้นทางที่โดยทั่วไปตั้งชื่อว่า /metrics ไคลเอนต์สามารถเปิดให้บริการเส้นทางนี้ผ่านพอร์ตของตนเองได้

start_http_server(8000)
# metrics now live at http://localhost:8000/metrics

ตัวชี้วัดมีหน้าตาอย่างไร

ที่ปลายทางนั้น ตัวชี้วัดแต่ละรายการเป็นข้อความธรรมดา ประกอบด้วยชื่อ ป้ายกำกับที่มีหรือไม่มีก็ได้ และค่า Prometheus จะอ่านรูปแบบนี้ทุกครั้งที่อ่านข้อมูล

predictions_total 1423.0
predict_seconds_bucket{le="0.1"} 1390.0

กำหนดค่าการอ่านข้อมูล

บอก Prometheus ว่าต้องไปอ่านที่ใด โดยเพิ่มบริการของคุณเป็นเป้าหมายในไฟล์ตั้งค่า จากนั้น Prometheus จะดึงตัวชี้วัดตามช่วงเวลาที่กำหนด

scrape_configs:
  - job_name: model-api
    static_configs:
      - targets: ["model-api:8000"]

เลือกประเภทที่เหมาะสม

หลักทั่วไปคือ ใช้ Counter กับสิ่งที่เพิ่มขึ้นเท่านั้น ใช้ Histogram กับระยะเวลา และใช้ Gauge กับค่าที่เพิ่มขึ้นหรือลดลงได้

ตรวจสอบอย่างรวดเร็ว

คุณต้องการติดตามเวลาแฝงของคำขอเพื่ออ่านค่า p99 ในภายหลัง ควรใช้ประเภทตัวชี้วัดของ Prometheus ใด

สรุปทบทวน

คุณเปิดเผยปลายทาง /metrics ด้วย prometheus_client โดยใช้ Counters และ Histograms ร่วมกับ labels ตอนนี้ Prometheus จะดึงตัวเลขแบบสดจากบริการโมเดลของคุณ ✅

คำถามที่พบบ่อย

บทเรียน “เปิดเผยเมตริกด้วย Prometheus” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เปิดเผยเมตริกด้วย Prometheus” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MLOps Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เปิดเผยเมตริกด้วย Prometheus”

ติดตามอัตราคำขอ ข้อผิดพลาด และระยะเวลา คุณปฏิบัติ MLOps Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MLOps Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน MLOps Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “เปิดเผยเมตริกด้วย Prometheus” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน MLOps Academy นี้ได้ไหม

ได้ บทเรียน MLOps Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บันทึกผลพยากรณ์แบบมีโครงสร้าง
  2. เปิดเผยเมตริกด้วย Prometheus
  3. สร้างแดชบอร์ด Grafana
  4. แจ้งเตือนเมื่อเวลาแฝงและข้อผิดพลาดพุ่งสูง
← กลับไปที่ MLOps Academy