telemetrygen هو مولّد البيانات التابع لـ OpenTelemetry Collector Contrib. ينشئ logs وtraces وmetrics اصطناعية عبر OTLP، ويوفّر flags تتيح لك تشكيل البيانات: خدمات متعددة، ومستويات شدة السجل، وحالات span وspans فرعية، وأنواع metrics مختلفة. استخدمه للتأكد من أن ClickStack OpenTelemetry collector يقبل البيانات، وأن أحداثًا متنوعة وواقعية تظهر في ClickStack UI.
يفترض هذا الدليل أن الـ collector يعمل بالفعل مع نقاط نهاية OTLP على 4317 (gRPC) و4318 (HTTP).
- ClickStack المُدار
- ClickStack مفتوح المصدر
1
المتطلبات المسبقة
يفترض هذا الدليل أنك أكملت دليل البدء لـ Managed ClickStack، وأن لديك مجمّع OpenTelemetry قيد التشغيل مع إتاحة نقطتَي نهاية OTLP gRPC (4317) وHTTP (4318) للوصول من الجهاز الذي تشغّل عليه telemetrygen. وإذا كنت قد أمّنت المجمّع باستخدام OTLP_AUTH_TOKEN، فاحتفظ بهذه القيمة في متناول اليد.2
تثبيت telemetrygen
شغّلtelemetrygen من صورة Docker الخاصة به (من دون الحاجة إلى التثبيت). عرّف مُغلِّفًا صغيرًا كي تبقى الأوامر أدناه واضحة؛ يتيح --add-host للحاوية الوصول إلى مُجمِّع يستمع على المضيف:localhost بدلًا من ذلك:3
تعيين متغيرات البيئة
صدِّر رمز المصادقة إذا كان المُجمِّع محميًا:المجمّع غير المؤَّنلا يتطلب ClickStack OpenTelemetry collector مصادقة بشكل افتراضي. إذا لم تتبع تأمين المجمّع لتعيين
OTLP_AUTH_TOKEN، فاحذف سطر --otlp-header من الأداة المساعدة أدناه.tg بحيث لا يحدّد كل أمر إلا ما يتغيّر (الخدمة، مستوى الخطورة، الحالة، والسمات):4
إنشاء السجلات
أرسل السجلات كمزيج واقعي من مستويات الشدة عبر الخدمات، بحيث تكون في معظمها معلوماتية، مع تحذير وخطأ بدلًا من أن تكون تدفقًا موحدًا واحدًا:- يضبط
--serviceالقيمةservice.nameبحيث تُنسَب الأحداث إلى خدمة. - يضبط
--severity-textو--severity-numberمستوى الشدة (يتراوحseverity-numberمن 1 إلى 24). - يضبط
--bodyرسالة السجل. - يضبط
--otlp-attributesالسمات على مستوى المورد (key="value"أوkey=trueأوkey=<integer>). - يضبط
--telemetry-attributesالسمات لكل سجل.
5
أنشئ التتبعات
أرسل تتبعات متعددة المقاطع من عدة خدمات سليمة بالإضافة إلى تبعية واحدة متعطلة. يمنح ذلك خريطة الخدمات شكلاً واقعيًا، بحيث تكون سليمة في معظمها مع خدمة واحدة تُظهر أخطاء، كما يملأ أيضًا طرق عرض الأخطاء:- يولّد
--child-spansهذا العدد من مقاطعspanالفرعية لكلtrace، مما يمنح كلtraceعمقًا حقيقيًا. - يحدّد
--span-durationمدة كلspan(على سبيل المثال120ms،2s). - تكون قيمة
--status-codeإحدى القيمUnsetأوErrorأوOk(أو0أو1أو2). استخدمErrorلاختبار طرق عرض الأخطاء. - يضيف
--span-linksروابط بين مقاطعspan. - يشغّل
--workersعدة مولدات بالتوازي للحصول على حجم أكبر وتنوّع أكثر.
6
أنشئ المقاييس
أرسل الأنواع الثلاثة الشائعة من المقاييس لكي تتضمن لوحات المعلومات عدّادات ومقاييس لحظية وتوزيعًا. وعلى عكس بعض المُولِّدات، يلتزمtelemetrygen بخيار --duration للمقاييس، لذلك لا حاجة إلى إيقافه يدويًا:--metric-type القيم Gauge أو Sum أو Histogram أو ExponentialHistogram. ويُسمّي --otlp-metric-name السلسلة حتى تتمكن من العثور عليها في واجهة المستخدم، وتكون --aggregation-temporality إما delta أو cumulative.7
تحقّق في ClickStack
افتح واجهة مستخدم ClickStack من وحدة تحكم ClickHouse Cloud. في عرضSearch، اضبط النطاق الزمني على Last 15 minutes وبدّل المصدر بين Logs وTraces. صفِّ حسب ServiceName لرؤية الخدمات frontend وcheckout وcart وpayment، وحسب SeverityText للعثور على أسطر السجلات ذات مستوى التحذير والخطأ. افتح تتبّع payment لرؤية المقاطع الفرعية وحالة الخطأ. افتح Chart Explorer، وحدد Metrics، وأنشئ مخططًا لأحد أسماء المقاييس التي ضبطتها أعلاه (على سبيل المثال http.server.requests) للتحقق من إدخال المقاييس.