باختصارالتقط التتبعات الموزعة من Nginx في ClickStack باستخدام وحدة OpenTelemetry لـ Nginx. يتضمن مجموعة بيانات تجريبية ولوحة معلومات جاهزة.
التكامل مع Nginx الحالي
المتطلبات الأساسية
- مثيل ClickStack قيد التشغيل مع إمكانية الوصول إلى نقاط نهاية OTLP (المنافذ 4317/4318)
- تثبيت Nginx مسبقًا (الإصدار 1.18 أو أحدث)
- صلاحيات root أو sudo لتعديل إعدادات Nginx
- اسم المضيف أو عنوان IP الخاص بـ ClickStack
تثبيت وحدة OpenTelemetry لـ Nginx
أسهل طريقة لإضافة التتبّع إلى Nginx هي استخدام صورة Nginx الرسمية التي تتضمن دعم OpenTelemetry بشكل مدمج.استخدام الصورة nginx:otel
استبدل صورة Nginx الحالية بالإصدار المفعّل لـ OpenTelemetry:ngx_otel_module.so مثبتًا مسبقًا وجاهزًا للاستخدام.إذا كنت تشغّل Nginx خارج Docker، فارجع إلى توثيق OpenTelemetry Nginx للحصول على تعليمات التثبيت اليدوي.
إعداد Nginx لإرسال التتبعات إلى ClickStack
أضف إعدادات OpenTelemetry إلى ملفnginx.conf. تُحمّل هذه الإعدادات الوحدة وتوجّه التتبعات إلى نقطة نهاية OTLP الخاصة بـ ClickStack.أولًا، احصل على مفتاح API الخاص بك:- افتح HyperDX على عنوان URL الخاص بـ ClickStack
- انتقل إلى Settings → API Keys
- انسخ Ingestion API Key الخاصة بك
- عيّنها كمتغير بيئة:
export CLICKSTACK_API_KEY=your-api-key-here
nginx.conf:<clickstack-host> باسم المضيف أو عنوان IP الخاص بمثيل ClickStack لديك.- المنفذ 4317 هو نقطة نهاية gRPC التي تستخدمها وحدة Nginx
- يجب أن يكون otel_service_name اسمًا وصفيًا لمثيل Nginx لديك (مثل “api-gateway” أو “frontend-proxy”)
- غيّر otel_service_name ليتوافق مع بيئتك لتسهيل التعرف عليه داخل HyperDX
فهم الإعدادات
ما الذي يتم تتبّعه: ينشئ كل طلب إلى Nginx trace span يوضّح:- طريقة الطلب والمسار
- رمز حالة HTTP
- مدة الطلب
- الطابع الزمني
otel_span_attr بيانات وصفية إلى كل trace، ما يتيح لك تصفية الطلبات وتحليلها في HyperDX حسب رمز الحالة والطريقة والمسار وغير ذلك.بعد إجراء هذه التغييرات، اختبر إعداد Nginx:التحقق من التتبعات في HyperDX
بعد إتمام الإعداد، سجّل الدخول إلى HyperDX وتحقق من تدفّق التتبعات. من المفترض أن ترى شيئًا مشابهًا لما يلي. وإذا لم تظهر أي تتبعات، فجرّب تعديل النطاق الزمني:مجموعة بيانات تجريبية
ابدأ ClickStack
إذا لم يكن ClickStack قيد التشغيل لديك بعد، فابدأه باستخدام:- المنفذ 8080: واجهة HyperDX على الويب
- المنفذ 4317: نقطة نهاية OTLP gRPC (تستخدمها وحدة nginx)
- المنفذ 4318: نقطة نهاية OTLP HTTP (تُستخدم للتتبعات التجريبية)
نزّل مجموعة البيانات النموذجية
نزّل ملف التتبعات النموذجي وحدّث الطوابع الزمنية إلى الوقت الحالي:- 1,000 span تتبع بتوقيتات واقعية
- 9 نقاط نهاية مختلفة مع أنماط حركة مرور متنوعة
- معدل نجاح ~93% (200)، وأخطاء عميل ~3% (404)، وأخطاء خادم ~4% (500)
- أزمنة استجابة تتراوح من 10ms إلى 800ms
- الحفاظ على أنماط حركة المرور الأصلية مع ترحيلها إلى الوقت الحالي
أرسل التتبعات إلى ClickStack
اضبط مفتاح API الخاص بك كمتغير بيئة (إذا لم يكن مضبوطًا بالفعل):- افتح HyperDX على عنوان URL الخاص بـ ClickStack
- انتقل إلى Settings → API Keys
- انسخ Ingestion API Key الخاص بك
التشغيل على localhostيفترض هذا العرض التجريبي أن ClickStack يعمل محليًا على
localhost:4318. بالنسبة إلى المثيلات البعيدة، استبدل localhost باسم المضيف الخاص بـ ClickStack.{"partialSuccess":{}}، ما يشير إلى أنه تم إرسال التتبعات بنجاح. وسيتم إدخال جميع التتبعات البالغ عددها 1,000 إلى ClickStack.تحقّق من التتبعات في HyperDX
- افتح HyperDX وسجّل الدخول إلى حسابك (قد تحتاج إلى إنشاء حساب أولًا)
- انتقل إلى عرض Search واضبط المصدر على
Traces - اضبط النطاق الزمني على 2025-10-25 13:00:00 - 2025-10-28 13:00:00
عرض المنطقة الزمنيةيعرض HyperDX الطوابع الزمنية وفقًا للمنطقة الزمنية المحلية في متصفحك. تمتد البيانات التجريبية عبر 2025-10-26 13:00:00 - 2025-10-27 13:00:00 (UTC). ويضمن النطاق الزمني الواسع ظهور التتبعات التجريبية لك بغض النظر عن موقعك. وبعد ظهور التتبعات، يمكنك تضييق النطاق إلى فترة 24 ساعة للحصول على تصورات أوضح.
لوحات المعلومات والمرئيات
إعداد لوحة المعلومات
استيراد لوحة المعلومات الجاهزة مسبقًا
- افتح HyperDX وانتقل إلى قسم Dashboards.
- انقر على “Import Dashboard” في الزاوية العلوية اليمنى ضمن قائمة النقاط الثلاث.
- ارفع ملف nginx-trace-dashboard.json ثم انقر على إتمام الاستيراد.
سيتم إنشاء لوحة المعلومات مع تهيئة جميع المرئيات مسبقًا.
بالنسبة إلى مجموعة البيانات التجريبية، اضبط النطاق الزمني على 2025-10-26 13:00:00 - 2025-10-27 13:00:00 (UTC) (عدّله وفقًا لمنطقتك الزمنية المحلية). لن تتضمن لوحة المعلومات المستوردة نطاقًا زمنيًا محددًا افتراضيًا.
استكشاف الأخطاء وإصلاحها
عدم ظهور أي تتبعات في HyperDX
الخطوات التالية
- قم بإعداد التنبيهات للمقاييس المهمة (معدلات الخطأ، عتبات زمن الاستجابة)
- أنشئ لوحات معلومات إضافية لحالات استخدام محددة (مراقبة واجهات API، أحداث الأمان)