การส่งออกไปยังระบบปลายทาง
ส่งข้อมูลเทเลเมทรีไปยังตัวรวบรวมและเครื่องมือ OTLP
การส่งออกไปยังระบบปลายทาง เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
นำข้อมูลเทเลเมทรีออก
การสร้างร่องรอยและตัวชี้วัดเป็นเพียงครึ่งหนึ่งของงาน คุณต้องส่งออกข้อมูลเหล่านี้ไปยังระบบปลายทางที่จัดเก็บ ค้นหา และแสดงข้อมูล OpenTelemetry ใช้ตัวส่งออกสำหรับงานนี้
ตัวส่งออก
ตัวส่งออกจะส่งข้อมูลเทเลเมทรีไปยังปลายทาง ตัวส่งออกแต่ละประเภทรองรับระบบต่างกัน เช่น คอนโซล (สำหรับการพัฒนา), OTLP (โพรโทคอลมาตรฐาน) และตัวส่งออกเฉพาะของผู้จำหน่าย
ตัวส่งออกไปยังคอนโซล
ตัวส่งออกไปยังคอนโซลจะแสดงข้อมูลเทเลเมทรีในเทอร์มินัล เหมาะอย่างยิ่งสำหรับตรวจสอบการติดตั้งเครื่องมือวัดระหว่างการพัฒนา
builder.Services.AddOpenTelemetry()
.WithTracing(t => t.AddConsoleExporter())
.WithMetrics(m => m.AddConsoleExporter());OTLP คืออะไร
OTLP (โพรโทคอล OpenTelemetry) คือรูปแบบข้อมูลบนเครือข่ายที่ไม่ผูกกับผู้จำหน่ายสำหรับส่งข้อมูลเทเลเมทรี การส่งออกผ่าน OTLP หมายความว่าคุณสามารถส่งข้อมูลไปยังระบบปลายทางใด ๆ ที่รองรับ OTLP ได้โดยไม่ต้องเปลี่ยนโค้ดของแอปพลิเคชัน
dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocolกำหนดค่าตัวส่งออก OTLP
เพิ่ม AddOtlpExporter และชี้ไปยังจุดปลายทางของตัวรวบรวมหรือระบบปลายทางของคุณ
builder.Services.AddOpenTelemetry()
.WithTracing(t => t.AddOtlpExporter(o =>
{
o.Endpoint = new Uri("http://localhost:4317");
}))
.WithMetrics(m => m.AddOtlpExporter());ตัวรวบรวมของ OpenTelemetry
ตัวรวบรวมคือกระบวนการแยกต่างหากที่รับข้อมูลเทเลเมทรี ประมวลผลข้อมูล เช่น รวมเป็นชุด กรอง และเพิ่มข้อมูล แล้วส่งต่อไปยังระบบปลายทางหนึ่งระบบหรือมากกว่า ตัวรวบรวมช่วยแยกแอปพลิเคชันของคุณออกจากผู้จำหน่ายรายใดรายหนึ่ง
เหตุใดจึงต้องใช้ตัวรวบรวม
การส่งข้อมูลโดยตรงไปยังผู้จำหน่ายจะทำให้แอปพลิเคชันของคุณผูกติดกับผู้จำหน่ายรายนั้น ตัวรวบรวมช่วยให้คุณเปลี่ยนระบบหรือกระจายข้อมูลไปยังระบบปลายทางหลายแห่ง ใช้การสุ่มตัวอย่างและการปกปิดข้อมูลจากส่วนกลาง รวมทั้งลดภาระของบริการต่าง ๆ
ระบบปลายทางที่ใช้กันทั่วไป
ร่องรอยมักส่งไปยัง เจเกอร์ หรือ เทมโป ตัวชี้วัดส่งไปยัง โพรมีธีอุส และแดชบอร์ดส่งไปยัง กราฟานา บันทึกอาจส่งไปยัง โลกิ หรือชุด ELK ทั้งหมดสามารถรับ OTLP ผ่านตัวรวบรวมได้
เชื่อมทุกอย่างเข้าด้วยกัน
การตั้งค่าทั่วไปจะกำหนดค่าทรัพยากร แหล่งข้อมูล เครื่องวัด และตัวส่งออก OTLP ไว้ในบล็อกเดียว ทำให้ร่องรอยและตัวชี้วัดไหลไปยังตัวรวบรวมของคุณ
builder.Services.AddOpenTelemetry()
.ConfigureResource(r => r.AddService("checkout-api"))
.WithTracing(t => t
.AddAspNetCoreInstrumentation()
.AddSource("Checkout.Orders")
.AddOtlpExporter())
.WithMetrics(m => m
.AddAspNetCoreInstrumentation()
.AddMeter("Checkout.Orders")
.AddOtlpExporter());ส่งออกบันทึก
OpenTelemetry ยังส่งออกบันทึกได้ด้วย เชื่อมต่อเข้ากับกระบวนการบันทึกข้อมูล เพื่อให้ระเบียนบันทึกมีบริบทของร่องรอยเดียวกันและไปถึงระบบปลายทางผ่าน OTLP
builder.Logging.AddOpenTelemetry(o =>
{
o.AddOtlpExporter();
});การรวมเป็นชุดและความน่าเชื่อถือ
ตัวส่งออกจะรวมข้อมูลเทเลเมทรีเป็นชุดเพื่อลดภาระการทำงาน และลองส่งใหม่เมื่อเกิดความล้มเหลว ปรับขนาดชุดและระยะหมดเวลาให้เหมาะกับปริมาณข้อมูลของคุณ และควรให้ตัวรวบรวมรองรับข้อมูลที่เพิ่มขึ้นอย่างรวดเร็ว เพื่อไม่ให้ชุดการทำงานของแอปถูกบล็อกขณะส่งออก
ตรวจสอบอย่างรวดเร็ว
ทดสอบการส่งออกไปยังระบบปลายทาง
สรุปทบทวน
ตัวส่งออกจะส่งข้อมูลเทเลเมทรีไปยังระบบปลายทาง ตัวส่งออกไปยังคอนโซลช่วยในการพัฒนา ส่วน OTLP คือโพรโทคอลที่ไม่ผูกกับผู้จำหน่ายซึ่งใช้ร่วมกับ AddOtlpExporter การส่ง OTLP ไปยังตัวรวบรวมของ OpenTelemetryช่วยแยกแอปพลิเคชันของคุณออกจากผู้จำหน่าย รวมศูนย์การรวมเป็นชุด การสุ่มตัวอย่าง และการกำหนดเส้นทาง อีกทั้งยังกระจายข้อมูลไปยังระบบปลายทาง เช่น เจเกอร์ โพรมีธีอุส และกราฟานา บันทึกก็ส่งออกในลักษณะเดียวกันและมีบริบทของร่องรอยแนบไปด้วย
คำถามที่พบบ่อย
บทเรียน “การส่งออกไปยังระบบปลายทาง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การส่งออกไปยังระบบปลายทาง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การส่งออกไปยังระบบปลายทาง”
ส่งข้อมูลเทเลเมทรีไปยังตัวรวบรวมและเครื่องมือ OTLP คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การส่งออกไปยังระบบปลายทาง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สามเสาหลักของการสังเกตระบบ
- การติดตามแบบกระจาย
- การรวบรวมเมทริกซ์
- การส่งออกไปยังระบบปลายทาง