بدء الاستخدام
ثبّت حزمة HyperDX OpenTelemetry الخاصة بالرصد
استخدم الأمر التالي لتثبيت حزمة ClickStack OpenTelemetry.- NPM
- Yarn
تهيئة SDK
لتهيئة SDK، ستحتاج إلى استدعاء الدالةinit في بداية نقطة الدخول الخاصة بتطبيقك.
- require
- import
إعداد جمع السجلات
افتراضيًا، تُجمَع سجلاتconsole.* تلقائيًا. إذا كنت تستخدم logger
مثل winston أو pino، فستحتاج إلى إضافة transport إلى logger لديك
لإرسال السجلات إلى ClickStack. وإذا كنت تستخدم نوعًا آخر من logger،
فتواصل معنا أو اطّلِع على أحد
تكاملات منصتنا إن كان ذلك مناسبًا (مثل Kubernetes).
- Winston
- Pino
- console.log
إذا كنت تستخدم
winston كـ logger، فستحتاج إلى إضافة transport التالي إلى logger لديك.إعداد التقاط الأخطاء
يمكن لحزمة SDK الخاصة بـ ClickStack التقاط الاستثناءات والأخطاء غير المعالَجة تلقائيًا في تطبيقك، مع stack trace كامل وسياق الشيفرة. لتمكين ذلك، ستحتاج إلى إضافة الكود التالي في نهاية البرمجية الوسيطة لمعالجة الأخطاء في تطبيقك، أو التقاط الاستثناءات يدويًا باستخدام الدالةrecordException.
- Express
- Koa
- يدويًا
استكشاف الأخطاء وإصلاحها
إذا كنت تواجه مشكلة في الـ SDK، يمكنك تفعيل التسجيل المطوّل عبر ضبط متغير البيئةOTEL_LOG_LEVEL على debug.
التهيئة المتقدّمة للرصد
التقاط سجلات وحدة التحكم
افتراضيًا، تلتقط حزمة SDK الخاصة بـ ClickStack سجلات وحدة التحكم. يمكنك تعطيل ذلك عن طريق ضبط متغير البيئةHDX_NODE_CONSOLE_CAPTURE على 0.
copy
إرفاق معلومات المستخدم أو البيانات الوصفية
لتوسيم جميع الأحداث المرتبطة بسهولة بسمة أو معرّف معيّن (مثل: معرّف المستخدم أو البريد الإلكتروني)، يمكنك استدعاء الدالةsetTraceAttributes، التي ستوسم كل
سجل/span مرتبط بالتتبّع الحالي بعد الاستدعاء بالسمات المُعلنة.
ويُوصى باستدعاء هذه الدالة في أقرب وقت ممكن ضمن طلب/trace معيّن (مثل: في أقرب
مرحلة ممكنة ضمن مكدس Express للبرمجيات الوسيطة).
تُعد هذه طريقة عملية لضمان توسيم جميع السجلات/spans تلقائيًا
بالمعرّفات الصحيحة لتسهيل البحث عنها لاحقًا، بدلًا من الاضطرار إلى
توسيم المعرّفات وتمريرها يدويًا بنفسك.
ستؤدي userId وuserEmail وuserName وteamName إلى تعبئة واجهة الجلسات
بالقيم المقابلة، لكن يمكن الاستغناء عنها. ويمكن تحديد أي قيم إضافية أخرى
واستخدامها للبحث عن الأحداث.
HDX_NODE_BETA_MODE
على 1 أو بتمرير betaMode: true إلى الدالة init من أجل
تفعيل سمات التتبّع.
Google Cloud Run
إذا كنت تشغّل تطبيقك على Google Cloud Run، فإن Cloud Trace يضيف تلقائيًا رؤوس أخذ العينات إلى الطلبات الواردة، مما يقيّد حاليًا التتبعات بحيث لا تُؤخذ منها عينات إلا بمعدل 0.1 طلب في الثانية لكل مثيل. تضبط حزمة@hyperdx/node-opentelemetry معدل أخذ العينات على 1.0
بشكل افتراضي.
لتغيير هذا السلوك، أو لتهيئة عمليات تثبيت OpenTelemetry أخرى، يمكنك
ضبط متغيرات البيئة يدويًا
OTEL_TRACES_SAMPLER=parentbased_always_on و OTEL_TRACES_SAMPLER_ARG=1 من أجل
تحقيق النتيجة نفسها.
لمعرفة المزيد، ولفرض التتبع لطلبات محددة، يُرجى الرجوع إلى
وثائق Google Cloud Run.
المكتبات المزوّدة بأدوات الرصد تلقائيًا
سيضيف SDK التتبّع تلقائيًا إلى المكتبات التالية:dnsexpressgraphqlhapihttpioredisknexkoamongodbmongoosemysqlmysql2netpgpinorediswinston
طريقة تثبيت بديلة
شغّل التطبيق باستخدام ClickStack OpenTelemetry CLI
بدلاً من ذلك، يمكنك تفعيل الرصد التلقائي لتطبيقك من دون أي تغييرات على الشيفرة باستخدام واجهة سطر الأوامرopentelemetry-instrument أو عبر
الخيار --require في Node.js. يوفّر تثبيت CLI نطاقًا أوسع من المكتبات وأطر العمل المزوّدة بالرصد التلقائي.
- باستخدام NPX
- نقطة الدخول المخصّصة (مثل Nodemon وts-node وغيرهما)
- استيراد الشيفرة
Managed ClickStackيمكن حذف
HYPERDX_API_KEY عند استخدام Managed ClickStack.OTEL_SERVICE_NAME للتعريف بخدمتك في تطبيق HyperDX، ويمكن أن يكون أي اسم تريده.
تمكين التقاط الاستثناءات
لتمكين التقاط الاستثناءات غير المعالَجة، عليك ضبط متغير البيئةHDX_NODE_EXPERIMENTAL_EXCEPTION_CAPTURE على القيمة 1.