0Pricing
DevOps Bootcamp · บทเรียน

การติดตามแบบกระจายและเหตุการณ์

เติมเต็มชุดเครื่องมือสังเกตการณ์ระบบของคุณด้วยการติดตามแบบกระจายสำหรับเส้นทางคำขอ และเหตุการณ์ Kubernetes สำหรับสัญญาณระดับคลัสเตอร์

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

เสาหลักสามประการของการสังเกตการณ์ระบบ

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

การติดตามแบบกระจายคืออะไร

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

ช่วงติดตามและร่องรอย

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

# A trace for one checkout request
# trace_id: abc123
#  span: api-gateway        (40ms)
#    span: order-service    (25ms)
#      span: db-query       (15ms)
#    span: payment-service  (10ms)

การส่งต่อบริบท

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

# W3C Trace Context header
traceparent: 00-abc123def456-00f067aa0ba902b7-01

OpenTelemetry

OpenTelemetry (โอเทล)คือมาตรฐานสำหรับเพิ่มการติดตามให้แอปและส่งออกร่องรอย ตัวรวบรวมโอเทลสามารถทำงานในคลัสเตอร์เพื่อรับและส่งต่อช่วงติดตามได้

ระบบส่วนหลังของการติดตาม

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

# deploy a collector that exports to Jaeger
kubectl get pods -n observability -l app=otel-collector

เหตุการณ์ของ Kubernetes

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

kubectl get events --sort-by=.lastTimestamp

การอ่านเหตุการณ์ของทรัพยากร

kubectl describe แสดงเหตุการณ์ที่เกี่ยวข้องกับออบเจ็กต์หนึ่ง ๆ ซึ่งมักเป็นวิธีที่เร็วที่สุดในการดูว่าเหตุใดพ็อดจึงติดขัด

kubectl describe pod my-app
# Events:
#  Warning  FailedScheduling  no nodes available
#  Normal   Scheduled         assigned to node-2
#  Warning  BackOff           restarting failed container

เหตุการณ์มีอายุสั้น

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

การเชื่อมโยงสัญญาณ

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

เมื่อใดควรใช้การติดตาม

  • คำขอทำงานช้า แต่คุณไม่ทราบว่าบริการใดเป็นต้นเหตุ
  • ข้อผิดพลาดปรากฏขึ้นลึกเข้าไปในห่วงโซ่ของบริการขนาดเล็ก
  • คุณต้องทำความเข้าใจการพึ่งพากันระหว่างบริการ

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความรู้เรื่องการติดตาม

สรุปทบทวน

คุณได้เพิ่มเสาหลักประการที่สามของการสังเกตการณ์ระบบ นั่นคือ การติดตามแบบกระจาย ซึ่งติดตามคำขอข้ามบริการต่าง ๆ โดยใช้ช่วงติดตามและการส่งต่อบริบท มักส่งผ่าน OpenTelemetry ไปยังเยเกอร์หรือเทมโป นอกจากนี้คุณยังได้เรียนรู้การอ่านเหตุการณ์ของ Kubernetes ที่มีอายุสั้นเพื่อวินิจฉัยปัญหาระดับคลัสเตอร์ และการเชื่อมโยงบันทึก เมตริก ร่องรอย และเหตุการณ์เข้าด้วยกัน

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

บทเรียน “การติดตามแบบกระจายและเหตุการณ์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การติดตามแบบกระจายและเหตุการณ์”

เติมเต็มชุดเครื่องมือสังเกตการณ์ระบบของคุณด้วยการติดตามแบบกระจายสำหรับเส้นทางคำขอ และเหตุการณ์ Kubernetes สำหรับสัญญาณระดับคลัสเตอร์ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

บทเรียน “การติดตามแบบกระจายและเหตุการณ์” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การเก็บบันทึกด้วย kubectl logs
  2. ตัวชี้วัดด้วย Prometheus และ Grafana
  3. การตรวจสอบสุขภาพ: โพรบการทำงานและความพร้อม
  4. การติดตามแบบกระจายและเหตุการณ์
← กลับไปที่ DevOps Bootcamp