تُرسَل البيانات عادةً إلى ClickStack عبر OpenTelemetry (OTel) collector، إما مباشرةً من حِزم SDK الخاصة باللغات أو من خلال OpenTelemetry collector وسيط يعمل كـ agent، مثل جمع metrics والسجلات الخاصة بالبنية التحتية.
تتولى حِزم SDK الخاصة باللغات مسؤولية جمع القياس عن بُعد من داخل تطبيقك، ولا سيما التتبّعات والسجلات، ثم تصدير هذه البيانات إلى OpenTelemetry collector عبر OTLP endpoint، الذي يتولى إدخالها إلى ClickHouse.
في البيئات المستندة إلى المتصفح، قد تتولى حِزم SDK أيضًا مسؤولية جمع بيانات الجلسات، بما في ذلك أحداث UI والنقرات والتنقل، مما يتيح إعادة تشغيل جلسات المستخدمين.
كيف يعمل
- يستخدم تطبيقك إحدى حزم SDK الخاصة بـ ClickStack (مثل Node.js أو بايثون أو Go). وتعتمد هذه الحزم على OpenTelemetry SDKs مع مزايا إضافية وتحسينات في سهولة الاستخدام.
- تجمع حزمة SDK التتبعات والسجلات وتُصدّرها عبر OTLP (HTTP أو gRPC).
- يتلقى OpenTelemetry Collector بيانات القياس عن بُعد ويكتبها إلى ClickHouse عبر exporterات المُعدّة.
اللغات المدعومة
| اللغة | الوصف | الرابط |
|---|---|---|
| AWS Lambda | أضف أدوات الرصد إلى AWS Lambda functions لديك | الوثائق |
| Browser | JavaScript SDK للتطبيقات المستندة إلى المتصفح | الوثائق |
| Elixir | تطبيقات Elixir | الوثائق |
| Go | تطبيقات Go والخدمات المصغّرة | الوثائق |
| Java | تطبيقات Java | الوثائق |
| NestJS | تطبيقات NestJS | الوثائق |
| Next.js | تطبيقات Next.js | الوثائق |
| Node.js | بيئة تشغيل JavaScript للتطبيقات من جهة الخادم | الوثائق |
| Deno | تطبيقات Deno | الوثائق |
| Python | تطبيقات بايثون وخدمات الويب | الوثائق |
| React Native | تطبيقات React Native للأجهزة المحمولة | الوثائق |
| Ruby | تطبيقات Ruby on Rails وخدمات الويب | الوثائق |
التأمين باستخدام مفتاح API
لإرسال البيانات إلى ClickStack عبر OTel collector، ستحتاج SDKs إلى تحديد مفتاح API للإدخال. ويمكن ضبط ذلك إما باستخدام دالة init في SDK أو عبر متغير البيئة OTEL_EXPORTER_OTLP_HEADERS:
OTEL_EXPORTER_OTLP_HEADERS='authorization=<YOUR_INGESTION_API_KEY>'يُنشأ مفتاح API هذا بواسطة تطبيق ClickStack UI (HyperDX)، وهو متاح من خلال التطبيق ضمن Team Settings → API Keys.
بالنسبة إلى معظم حِزم SDK الخاصة باللغات ومكتبات القياس عن بُعد التي تدعم OpenTelemetry، يمكنك ببساطة تعيين متغير البيئة OTEL_EXPORTER_OTLP_ENDPOINT في تطبيقك أو تحديده أثناء تهيئة الـ SDK:
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318تكامل Kubernetes
تدعم جميع SDKs الربط التلقائي ببيانات Kubernetes الوصفية (اسم الكبسولة، ومساحة الاسم، وما إلى ذلك) عند التشغيل ضمن بيئة Kubernetes. يتيح لك ذلك ما يلي:
- عرض مقاييس Kubernetes للكبسولات والعُقد المرتبطة بخدماتك
- ربط سجلات التطبيق والتتبعات بمقاييس البنية التحتية
- تتبّع استخدام الموارد والأداء على مستوى عنقود Kubernetes لديك
لتمكين هذه الميزة، اضبط OpenTelemetry Collector لإعادة توجيه وسوم الموارد إلى الكبسولات. راجع دليل تكامل Kubernetes للحصول على إرشادات إعداد مفصلة.