- ClickHouse
- HyperDX
- مجمّع OpenTelemetry (OTel) (يُعرّض OTLP على المنفذين
4317و4318) - MongoDB (للاحتفاظ بحالة التطبيق بشكل دائم)
مناسب لـ
- العروض التوضيحية
- الاختبار المحلي للمكدس بالكامل
خطوات النشر
النشر باستخدام Docker
سيشغّل الأمر التالي مجمّع OpenTelemetry (على المنفذين 4317 و4318) وواجهة HyperDX (على المنفذ 8080).تحديث اسم الصورةتُنشر صور ClickStack الآن تحت الاسم
clickhouse/clickstack-* (وكانت تُنشر سابقًا تحت docker.hyperdx.io/hyperdx/*).الانتقال إلى واجهة HyperDX
زُر http://localhost:8080 للوصول إلى واجهة HyperDX.أنشئ مستخدمًا بإدخال اسم مستخدم وكلمة مرور يستوفيان المتطلبات.عند النقر علىCreate، ستُنشأ مصادر البيانات لمثيل ClickHouse المدمج.للاطلاع على مثال لاستخدام مثيل ClickHouse بديل، راجع “استخدام ClickHouse Cloud”.إدخال البيانات
لإدخال البيانات، راجع “إدخال البيانات”.الاحتفاظ بالبيانات والإعدادات
/data/db و/var/lib/clickhouse و/var/log/clickhouse-server. على سبيل المثال:
النشر في بيئة الإنتاج
- تخزين غير دائم: تُخزَّن جميع البيانات باستخدام نظام ملفات overlay الأصلي في Docker. هذا الإعداد لا يوفّر أداءً مناسبًا عند التوسّع، كما ستُفقد البيانات إذا أُزيلت الحاوية أو أُعيد تشغيلها، ما لم يقم المستخدمون بتركيب مسارات الملفات المطلوبة.
- غياب عزل المكوّنات: تعمل جميع المكوّنات داخل حاوية Docker واحدة. وهذا يمنع التوسّع والمراقبة بشكل مستقل، كما يطبّق أي حدود
cgroupعلى مستوى جميع العمليات. ونتيجة لذلك، قد تتنافس المكوّنات على CPU والذاكرة.
تخصيص المنافذ
docker run لإعادة توجيه المنافذ المناسبة وضبط بعض متغيرات البيئة.
ويمكن تغيير منافذ OpenTelemetry ببساطة عبر تعديل خيارات إعادة توجيه المنافذ. على سبيل المثال، استبدال -p 4318:4318 بـ -p 4999:4318 لتغيير منفذ HTTP الخاص بـ OpenTelemetry إلى 4999.
استخدام ClickHouse Cloud
CLICKHOUSE_ENDPOINT وCLICKHOUSE_USER وCLICKHOUSE_PASSWORD.
على سبيل المثال:
CLICKHOUSE_ENDPOINT هي نقطة نهاية HTTPS الخاصة بـ ClickHouse Cloud، متضمنةً المنفذ 8443، على سبيل المثال https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443
عند الاتصال بـ واجهة HyperDX، انتقل إلى Team Settings وأنشئ اتصالًا بخدمة ClickHouse Cloud الخاصة بك، ثم أضف المصادر المطلوبة.
إعداد مجمّع OpenTelemetry
اختيار المخطط: Map مقابل JSON
Map(LowCardinality(String), String) افتراضيًا. هذا هو المخطط الموصى به لأعباء عمل Observability. وعند دمجه مع تسلسل map المقسّم إلى buckets وفهارس النص على مفاتيح map وقيمه، فإنه يوفّر عمليات بحث انتقائية من دون الكلفة الإضافية لإدخال كل مفتاح على حدة كما في JSON subcolumns الديناميكية.
يتوفر مخطط من النوع JSON في مرحلة بيتا للتقييم على أعباء العمل التي تتضمن مجموعة صغيرة ومستقرة من مفاتيح السمات. وهو غير موصى به كخيار افتراضي. راجع Map مقابل نوع JSON للاطلاع على المقارنة الكاملة ومتغيرات البيئة المطلوبة لتمكين دعم JSON.