0Pricing
C# Academy · درس

التصدير إلى الأنظمة الخلفية

أرسلوا بيانات القياس عن بُعد إلى مجمّعات وأدوات OTLP

التصدير إلى الأنظمة الخلفية درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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

إن المُجمّع عملية منفصلة تستقبل بيانات القياس عن بُعد وتعالجها، مثل تجميعها وتصفيتها وإثرائها، ثم تمررها إلى نظام خلفي واحد أو أكثر. وهو يفصل التطبيق عن المورّدين المحددين.

لماذا نستخدم مُجمّعًا؟

يؤدي الإرسال مباشرةً إلى مورّد إلى ربط التطبيق به. ويتيح لكم المُجمّع التبديل بين أنظمة خلفية متعددة أو الإرسال إليها جميعًا، وتطبيق أخذ العينات والتنقيح مركزيًا، وتقليل الحمل على خدماتكم.

الأنظمة الخلفية الشائعة

غالبًا ما تُرسل آثار التتبع إلى Jaeger أو Tempo، والمقاييس إلى Prometheus، ولوحات المعلومات إلى Grafana. ويمكن إرسال السجلات إلى Loki أو مكدس ELK. وتستطيع جميعها استقبال OTLP عبر المُجمّع.

ربط جميع المكوّنات

تهيّئ الإعدادات المعتادة المورد والمصادر وأدوات Meter ومُصدّر 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());

تصدير السجلات

يصدّر OTel السجلات أيضًا. اربطوه بخط أنابيب التسجيل لكي تحمل سجلات السجل سياق التتبع نفسه وتصل إلى النظام الخلفي عبر OTLP.

builder.Logging.AddOpenTelemetry(o =>
{
    o.AddOtlpExporter();
});

التجميع والموثوقية

تجمع المُصدّرات بيانات القياس عن بُعد لتقليل الحمل، وتعيد المحاولة عند الفشل. اضبطوا حجم الدفعة ومهلات الانتظار بما يناسب حجم بياناتكم، وفضّلوا استخدام المُجمّع لامتصاص الارتفاعات المفاجئة حتى لا تُحجب مؤشرات ترابط التطبيق أثناء التصدير.

اختبار سريع

اختبروا التصدير إلى الأنظمة الخلفية.

مراجعة

تشحن المُصدّرات بيانات القياس عن بُعد إلى الأنظمة الخلفية. ويساعد مُصدّر وحدة التحكم في التطوير، بينما يُعد OTLP البروتوكول المحايد تجاه المورّدين، ويُستخدم مع AddOtlpExporter. ويؤدي إرسال OTLP إلى مُجمّع OpenTelemetry إلى فصل التطبيق، وتركيز التجميع وأخذ العينات والتوجيه، وإرسال البيانات إلى أنظمة خلفية متعددة مثل Jaeger وPrometheus وGrafana. وتُصدّر السجلات بالطريقة نفسها مع حمل سياق التتبع.

الأسئلة الشائعة

هل درس «التصدير إلى الأنظمة الخلفية» مجاني؟

نعم — نص درس «التصدير إلى الأنظمة الخلفية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.

ماذا ستتعلم في «التصدير إلى الأنظمة الخلفية»؟

أرسلوا بيانات القياس عن بُعد إلى مجمّعات وأدوات OTLP تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «التصدير إلى الأنظمة الخلفية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الركائز الثلاث لقابلية المراقبة
  2. التتبع الموزّع
  3. جمع المقاييس
  4. التصدير إلى الأنظمة الخلفية
← العودة إلى C# Academy