الانتقال إلى المحتوى الرئيسي
تجمع صورة Docker الشاملة هذه جميع مكوّنات ClickStack Open Source:
  • ClickHouse
  • HyperDX
  • مجمّع OpenTelemetry ‏(OTel) (يُعرّض OTLP على المنفذين 4317 و4318)
  • MongoDB (للاحتفاظ بحالة التطبيق بشكل دائم)
يتضمن هذا الخيار المصادقة، مما يتيح الاحتفاظ بلوحات المعلومات والتنبيهات وعمليات البحث المحفوظة عبر الجلسات ولدى مختلف المستخدمين.

مناسب لـ

  • العروض التوضيحية
  • الاختبار المحلي للمكدس بالكامل

خطوات النشر


1

النشر باستخدام Docker

سيشغّل الأمر التالي مجمّع OpenTelemetry (على المنفذين 4317 و4318) وواجهة HyperDX (على المنفذ 8080).
docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
تحديث اسم الصورةتُنشر صور ClickStack الآن تحت الاسم clickhouse/clickstack-* (وكانت تُنشر سابقًا تحت docker.hyperdx.io/hyperdx/*).
2

الانتقال إلى واجهة HyperDX

زُر http://localhost:8080 للوصول إلى واجهة HyperDX.أنشئ مستخدمًا بإدخال اسم مستخدم وكلمة مرور يستوفيان المتطلبات.عند النقر على Create، ستُنشأ مصادر البيانات لمثيل ClickHouse المدمج.للاطلاع على مثال لاستخدام مثيل ClickHouse بديل، راجع “استخدام ClickHouse Cloud”.
3

إدخال البيانات

لإدخال البيانات، راجع “إدخال البيانات”.

الاحتفاظ بالبيانات والإعدادات

للاحتفاظ بالبيانات والإعدادات عند إعادة تشغيل الحاوية، يمكنك تعديل أمر Docker أعلاه لربط المسارات /data/db و/var/lib/clickhouse و/var/log/clickhouse-server. على سبيل المثال:
# ensure directories exist
mkdir -p .volumes/db .volumes/ch_data .volumes/ch_logs
# modify command to mount paths
docker run \
  -p 8080:8080 \
  -p 4317:4317 \
  -p 4318:4318 \
  -v "$(pwd)/.volumes/db:/data/db" \
  -v "$(pwd)/.volumes/ch_data:/var/lib/clickhouse" \
  -v "$(pwd)/.volumes/ch_logs:/var/log/clickhouse-server" \
  clickhouse/clickstack-all-in-one:latest

النشر في بيئة الإنتاج

لا ينبغي نشر هذا الخيار في بيئة الإنتاج للأسباب التالية:
  • تخزين غير دائم: تُخزَّن جميع البيانات باستخدام نظام ملفات overlay الأصلي في Docker. هذا الإعداد لا يوفّر أداءً مناسبًا عند التوسّع، كما ستُفقد البيانات إذا أُزيلت الحاوية أو أُعيد تشغيلها، ما لم يقم المستخدمون بتركيب مسارات الملفات المطلوبة.
  • غياب عزل المكوّنات: تعمل جميع المكوّنات داخل حاوية Docker واحدة. وهذا يمنع التوسّع والمراقبة بشكل مستقل، كما يطبّق أي حدود cgroup على مستوى جميع العمليات. ونتيجة لذلك، قد تتنافس المكوّنات على CPU والذاكرة.

تخصيص المنافذ

إذا كنت بحاجة إلى تخصيص منفذ التطبيق (8080) أو منفذ API ‏(8000) اللذين يعمل عليهما HyperDX Local، فستحتاج إلى تعديل الأمر docker run لإعادة توجيه المنافذ المناسبة وضبط بعض متغيرات البيئة. ويمكن تغيير منافذ OpenTelemetry ببساطة عبر تعديل خيارات إعادة توجيه المنافذ. على سبيل المثال، استبدال -p 4318:4318 بـ -p 4999:4318 لتغيير منفذ HTTP الخاص بـ OpenTelemetry إلى 4999.
docker run -p 8080:8080 -p 4317:4317 -p 4999:4318 clickhouse/clickstack-all-in-one:latest

استخدام ClickHouse Cloud

يمكن استخدام هذا التوزيع مع ClickHouse Cloud. ومع أن مثيل ClickHouse المحلي سيظل منشورًا (وسيتم تجاهله)، يمكن تهيئة OTel collector لاستخدام مثيل ClickHouse Cloud من خلال تعيين متغيرات البيئة CLICKHOUSE_ENDPOINT وCLICKHOUSE_USER وCLICKHOUSE_PASSWORD. على سبيل المثال:
export CLICKHOUSE_ENDPOINT=<HTTPS ENDPOINT>
export CLICKHOUSE_USER=<CLICKHOUSE_USER>
export CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD>

docker run -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} -e CLICKHOUSE_USER=default -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
يجب أن تكون قيمة CLICKHOUSE_ENDPOINT هي نقطة نهاية HTTPS الخاصة بـ ClickHouse Cloud، متضمنةً المنفذ 8443، على سبيل المثال https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443 عند الاتصال بـ واجهة HyperDX، انتقل إلى Team Settings وأنشئ اتصالًا بخدمة ClickHouse Cloud الخاصة بك، ثم أضف المصادر المطلوبة.

إعداد مجمّع OpenTelemetry

يمكن تعديل إعدادات OTel collector عند الحاجة - راجع “تعديل الإعدادات”.

اختيار المخطط: Map مقابل JSON

يخزّن ClickStack السمات في أعمدة Map(LowCardinality(String), String) افتراضيًا. هذا هو المخطط الموصى به لأعباء عمل Observability. وعند دمجه مع تسلسل map المقسّم إلى buckets وفهارس النص على مفاتيح map وقيمه، فإنه يوفّر عمليات بحث انتقائية من دون الكلفة الإضافية لإدخال كل مفتاح على حدة كما في JSON subcolumns الديناميكية. يتوفر مخطط من النوع JSON في مرحلة بيتا للتقييم على أعباء العمل التي تتضمن مجموعة صغيرة ومستقرة من مفاتيح السمات. وهو غير موصى به كخيار افتراضي. راجع Map مقابل نوع JSON للاطلاع على المقارنة الكاملة ومتغيرات البيئة المطلوبة لتمكين دعم JSON.
آخر تعديل في ٢٥ يونيو ٢٠٢٦