C# Academy · บทเรียน

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

ทำความเข้าใจแทรซ เมทริกซ์ และบันทึก

บทเรียน 1 จาก 413 ขั้นตอน

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

ความสามารถในการสังเกตระบบคืออะไร

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

OpenTelemetry คืออะไร

OpenTelemetry หรือ OTel คือมาตรฐานและชุดไลบรารีที่ไม่ขึ้นกับผู้จำหน่ายสำหรับสร้างและส่งออกข้อมูลการวัดระบบ ด้วยการติดตั้งเครื่องมือวัดเพียงครั้งเดียว คุณสามารถส่งข้อมูลไปยังระบบปลายทางหลายแห่ง เช่น Jaeger, Prometheus หรือ Grafana

dotnet add package OpenTelemetry.Extensions.Hosting

เสาหลักที่หนึ่ง: บันทึก

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

logger.LogInformation("Order {OrderId} placed by {UserId}", orderId, userId);

เสาหลักที่สอง: เมตริก

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

เสาหลักที่สาม: ร่องรอยการติดตาม

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

เสาหลักทั้งสามช่วยเสริมกันอย่างไร

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

กุญแจสำคัญคือความเชื่อมโยง

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

สัญญาณใน OpenTelemetry

OpenTelemetry เรียกเสาหลักเหล่านี้ว่าสัญญาณ ส่วน .NET จับคู่สัญญาณเหล่านี้กับองค์ประกอบพื้นฐานที่คุ้นเคย ได้แก่ ร่องรอยการติดตามใช้ Activity/ActivitySource เมตริกใช้ Meter และบันทึกใช้ ILogger

การเพิ่ม OpenTelemetry ให้กับโฮสต์

เปิดใช้สัญญาณด้วย AddOpenTelemetry() แล้วกำหนดค่าร่องรอยการติดตามและเมตริก เราจะอธิบายแต่ละส่วนโดยละเอียดในบทเรียนถัดไป

builder.Services.AddOpenTelemetry()
    .WithTracing(tracing => { })
    .WithMetrics(metrics => { });

คุณลักษณะของทรัพยากร

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

builder.Services.AddOpenTelemetry()
    .ConfigureResource(r => r.AddService(
        serviceName: "checkout-api",
        serviceVersion: "1.4.0"));

การติดตั้งเครื่องมือวัดอัตโนมัติเทียบกับด้วยตนเอง

OpenTelemetry มีการติดตั้งเครื่องมือวัดอัตโนมัติสำหรับ ASP.NET Core, HttpClient และอื่น ๆ รวมถึงการติดตั้งด้วยตนเอง ซึ่งช่วยให้คุณเพิ่มช่วงการทำงานและตัวชี้วัดของคุณเองเพื่อรับข้อมูลเชิงลึกเฉพาะด้านธุรกิจ

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

ทดสอบเสาหลักทั้งสามประการ

สรุปทบทวน

การสังเกตระบบมีเสาหลักสามประการ ได้แก่ บันทึก (เหตุการณ์ ซึ่งบอกสาเหตุ) ตัวชี้วัด (ตัวเลขที่รวมแล้ว ซึ่งบอกสิ่งที่เกิดขึ้น) และร่องรอย (ช่วงการทำงานต่อคำขอ ซึ่งบอกตำแหน่งที่เกิดขึ้น) OpenTelemetry เป็นมาตรฐานที่ไม่ผูกกับผู้จำหน่ายสำหรับส่งสัญญาณทั้งสามประเภท โดยใน .NET สัญญาณเหล่านี้เชื่อมโยงกับ Activity, Meter และ ILogger การเชื่อมโยงผ่านรหัสร่องรอยและทรัพยากรที่กำหนดค่าไว้อย่างเหมาะสมจะรวมข้อมูลทั้งหมดเข้าด้วยกัน

เริ่มต้นได้ฟรี

เรียนรู้ C# ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
93
บทเรียน
346

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

บทเรียน “สามเสาหลักของการสังเกตระบบ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “สามเสาหลักของการสังเกตระบบ”

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

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

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

บทเรียน “สามเสาหลักของการสังเกตระบบ” ใช้เวลานานแค่ไหน

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

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

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

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

  1. สามเสาหลักของการสังเกตระบบ
  2. การติดตามแบบกระจาย
  3. การรวบรวมเมทริกซ์
  4. การส่งออกไปยังระบบปลายทาง
← กลับไปที่ C# Academy