Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

مُدار

هذا الدليل موجّه لمستخدمي ClickHouse Cloud الحاليين. إذا كنت جديدًا على ClickHouse Cloud، فنوصي بدليل البدء الخاص بـ ClickStack المُدار.

في نمط النشر هذا، تتم استضافة كلٍّ من ClickHouse وواجهة مستخدم ClickStack ‏(HyperDX) على ClickHouse Cloud، مما يقلّل عدد المكوّنات التي يحتاج المستخدم إلى استضافتها ذاتيًا.

إلى جانب تقليل عبء إدارة البنية التحتية، يضمن نمط النشر هذا تكامل المصادقة مع ClickHouse Cloud SSO/SAML. وعلى عكس عمليات النشر المستضافة ذاتيًا، لا حاجة أيضًا إلى توفير مثيل MongoDB لتخزين حالة التطبيق — مثل لوحات المعلومات، وعمليات البحث المحفوظة، وإعدادات المستخدم، والتنبيهات. كما يستفيد المستخدمون من:

  • التوسّع التلقائي لقدرات الحوسبة بشكل مستقل عن التخزين
  • احتفاظ منخفض التكلفة وعمليًا غير محدود بالاعتماد على تخزين الكائنات
  • القدرة على عزل أحمال عمل القراءة والكتابة بشكل مستقل باستخدام Warehouses.
  • مصادقة مدمجة
  • نُسخ احتياطية مؤتمتة
  • ميزات الأمان والامتثال
  • ترقيات سلسة

في هذا الوضع، تُترك عملية إدخال البيانات بالكامل للمستخدم. يمكنك إدخال البيانات إلى ClickStack المُدار باستخدام OpenTelemetry Collector المستضاف لديك، أو الإدخال المباشر من مكتبات العميل، أو محركات الجداول الأصلية في ClickHouse ‏(مثل Kafka أو S3)، أو مسارات ETL، أو ClickPipes — خدمة الإدخال المُدارة في ClickHouse Cloud. يوفّر هذا النهج أبسط طريقة وأكثرها كفاءة لتشغيل ClickStack.

مناسب لـ

يُعد نمط النشر هذا مثاليًا في السيناريوهات التالية:

  1. لديك بالفعل بيانات observability في ClickHouse Cloud وترغب في عرضها بصريًا باستخدام ClickStack.
  2. تُشغّل عملية نشر واسعة النطاق لـ observability وتحتاج إلى الأداء المخصص وقابلية التوسع التي يوفّرها ClickStack عند تشغيله على ClickHouse Cloud.
  3. أنت تستخدم ClickHouse Cloud بالفعل لأغراض التحليلات وتريد تزويد تطبيقك بإمكانات instrumentation باستخدام مكتبات ClickStack — مع إرسال البيانات إلى cluster نفسه. في هذه الحالة، نوصي باستخدام المستودعات لعزل موارد الحوسبة الخاصة بأعباء عمل observability.

خطوات الإعداد

يفترض هذا الدليل أنك أنشأت بالفعل خدمة ClickHouse Cloud. إذا لم تكن قد أنشأت خدمة بعد، فاتبع دليل بدء الاستخدام الخاص بـ ClickStack المُدار. وبذلك ستحصل على خدمة بالحالة نفسها المفترضة في هذا الدليل، أي جاهزة لاستقبال بيانات observability مع تمكين ClickStack.


أنشئ خدمة جديدة

من الصفحة الرئيسية لـ ClickHouse Cloud، اختر New service لإنشاء خدمة جديدة.

الخدمة

حدّد المزوّد والمنطقة والموارد

حدّد موفّر Cloud والمنطقة.

عند تحديد CPU والذاكرة، قدِّر ذلك بناءً على معدل نقل إدخال البيانات المتوقع في ClickStack. يوفّر الجدول أدناه إرشادات لتحديد حجم هذه الموارد.

حجم إدخال البيانات الشهري موارد الحوسبة الموصى بها
< 10 TB / شهر 2 vCPU × 3 نسخ متماثلة
10–50 TB / شهر 4 vCPU × 3 نسخ متماثلة
50–100 TB / شهر 8 vCPU × 3 نسخ متماثلة
100–500 TB / شهر 30 vCPU × 3 نسخ متماثلة
1 PB+ / شهر 59 vCPU × 3 نسخ متماثلة

تستند هذه التوصيات إلى الافتراضات التالية:

  • يشير حجم البيانات إلى حجم إدخال البيانات غير المضغوط شهريًا، وينطبق على كلٍّ من السجلات وآثار التتبع.
  • تُعد أنماط الاستعلام نموذجية لحالات استخدام المراقبة، إذ تستهدف معظم الاستعلامات البيانات الحديثة، وعادةً آخر 24 ساعة.
  • يكون إدخال البيانات منتظمًا نسبيًا على مدار الشهر. إذا كنت تتوقع حركة مرور متقطعة أو ارتفاعات مفاجئة، فينبغي توفير هامش سعة إضافي.
  • تُدار السعة التخزينية بشكل منفصل عبر تخزين الكائنات في ClickHouse Cloud، وليست عاملًا مقيِّدًا لفترة الاحتفاظ بالبيانات. ونفترض أن البيانات المحتفَظ بها لفترات أطول يُجرى الوصول إليها على نحو غير متكرر.

قد تكون هناك حاجة إلى موارد حوسبة أكبر لأنماط الوصول التي تستعلم بانتظام عن نطاقات زمنية أطول، أو تُجري عمليات تجميع كثيفة، أو تدعم عددًا كبيرًا من المستخدمين المتزامنين.

على الرغم من أن نسختين متماثلتين يمكن أن تلبّيا متطلبات CPU والذاكرة لمعدل إدخال بيانات معيّن، فإننا نوصي باستخدام ثلاث نسخ متماثلة حيثما أمكن لتحقيق السعة الإجمالية نفسها وتحسين التكرار في الخدمة.

بمجرد تحديد المتطلبات، ستستغرق خدمة Managed ClickStack الخاصة بك عدة دقائق لإتمام التجهيز. لا تتردد في استكشاف بقية ClickHouse Cloud console أثناء انتظار اكتمال التجهيز.

بمجرد اكتمال التجهيز، سيتم تفعيل خيار 'ClickStack' في القائمة اليسرى.

إعداد الاستيعاب

بعد تجهيز خدمتك، تأكد من تحديدها ثم انقر على "ClickStack" من القائمة اليمنى.

اختر "Start Ingestion"، وسيُطلب منك تحديد مصدر للاستيعاب. يدعم Managed ClickStack كلاً من OpenTelemetry وVector باعتبارهما المصدرين الرئيسيين للاستيعاب. ومع ذلك، يمكن للمستخدمين أيضًا إرسال البيانات مباشرةً إلى ClickHouse ضمن المخطط الخاص بهم باستخدام أي من التكاملات التي يدعمها ClickHouse Cloud.

لإرسال بيانات OpenTelemetry إلى Managed ClickStack، يُنصح باستخدام OpenTelemetry Collector. يعمل الـ collector كبوابة تستقبل بيانات OpenTelemetry من تطبيقاتك (ومن collectors أخرى) وتُمرّرها إلى ClickHouse Cloud.

إذا لم يكن لديك collector قيد التشغيل بالفعل، فابدأ تشغيله باتباع الخطوات أدناه. وإذا كانت لديك collectors موجودة، فستجد أيضًا مثالًا على التهيئة.

ابدأ collector

يفترض ما يلي المسار الموصى به، وهو استخدام توزيعة ClickStack من OpenTelemetry Collector، التي تتضمن معالجة إضافية ومُحسّنة خصيصًا لـ ClickHouse Cloud. إذا كنت تريد استخدام OpenTelemetry Collector الخاص بك، فراجع "تهيئة collectors الموجودة."

للبدء بسرعة، انسخ أمر Docker الموضّح وشغّله.

يجب أن يتضمن هذا الأمر بيانات اعتماد الاتصال الخاصة بك مُعبأة مسبقًا.

يؤدي تشغيل هذا الأمر الواحد إلى بدء ClickStack collector مع إتاحة OTLP endpoints على المنفذين 4317 ‏(gRPC) و4318 ‏(HTTP). إذا كان لديك بالفعل instrumentation وagents لـ OpenTelemetry، فيمكنك البدء فورًا في إرسال بيانات telemetry إلى هذه endpoints.

تهيئة collectors الموجودة

يمكنك أيضًا تهيئة OpenTelemetry Collectors الموجودة لديك أو استخدام التوزيعة الخاصة بك من collector.

ولهذا الغرض، نوفّر مثالًا على تهيئة OpenTelemetry Collector يستخدم ClickHouse exporter مع الإعدادات المناسبة ويُفعّل OTLP receivers. تتوافق هذه التهيئة مع الواجهات والسلوك المتوقعين من توزيعة ClickStack.

استبدل العنصرين النائبين endpoint وpassword ببيانات الاعتماد التي أنشأها ClickStack:

receivers:
  otlp/hyperdx:
    protocols:
      grpc:
        include_metadata: true
        endpoint: "0.0.0.0:4317"
      http:
        cors:
          allowed_origins: ["*"]
          allowed_headers: ["*"]
        include_metadata: true
        endpoint: "0.0.0.0:4318"
processors:
  batch:
  memory_limiter:
    # 80% of maximum memory up to 2G, adjust for low memory environments
    limit_mib: 1500
    # 25% of limit up to 2G, adjust for low memory environments
    spike_limit_mib: 512
    check_interval: 5s
connectors:
  routing/logs:
    default_pipelines: [logs/out-default]
    error_mode: ignore
    table:
      - context: log
        statement: route() where IsMatch(attributes["rr-web.event"], ".*")
        pipelines: [logs/out-rrweb]
exporters:
  clickhouse/rrweb:
    database: default
    endpoint: <clickhouse_cloud_endpoint>
    password: <your_password_here>
    username: default
    ttl: 720h
    logs_table_name: hyperdx_sessions
    timeout: 5s
    retry_on_failure:
      enabled: true
      initial_interval: 5s
      max_interval: 30s
      max_elapsed_time: 300s
  clickhouse:
    database: default
    endpoint: <clickhouse_cloud_endpoint>
    password: <your_password_here>
    username: default
    ttl: 720h
    timeout: 5s
    retry_on_failure:
      enabled: true
      initial_interval: 5s
      max_interval: 30s
      max_elapsed_time: 300s

service:
  pipelines:
    traces:
      receivers: [otlp/hyperdx]
      processors: [memory_limiter, batch]
      exporters: [clickhouse]
    metrics:
      receivers: [otlp/hyperdx]
      processors: [memory_limiter, batch]
      exporters: [clickhouse]
    logs/in:
      receivers: [otlp/hyperdx]
      exporters: [routing/logs]
    logs/out-default:
      receivers: [routing/logs]
      processors: [memory_limiter, batch]
      exporters: [clickhouse]
    logs/out-rrweb:
      receivers: [routing/logs]
      processors: [memory_limiter, batch]
      exporters: [clickhouse/rrweb]

لمزيد من التفاصيل حول تهيئة OpenTelemetry collectors، راجع "إدخال البيانات باستخدام OpenTelemetry."

ابدأ إدخال البيانات (اختياري)

إذا كانت لديك تطبيقات أو بنية تحتية قائمة تريد تزويدها بأدوات OpenTelemetry، فانتقل إلى الأدلة ذات الصلة المرتبطة من خلال UI.

لتزويد تطبيقاتك بالأدوات لجمع traces وlogs، استخدم language SDKs المدعومة التي ترسل البيانات إلى OpenTelemetry Collector الخاص بك، والذي يعمل كبوابة لإدخالها إلى Managed ClickStack.

يمكن جمع السجلات باستخدام OpenTelemetry Collectors التي تعمل في وضع agent، مع إعادة توجيه البيانات إلى collector نفسها. ولمراقبة Kubernetes، اتبع الدليل المخصص. وللتكاملات الأخرى، راجع أدلة البدء السريع الخاصة بنا.

بيانات تجريبية

بدلًا من ذلك، إذا لم تكن لديك بيانات موجودة، فجرّب إحدى مجموعات البيانات النموذجية لدينا.


مهام إضافية

منح حق الوصول إلى ClickStack المُدار

  1. انتقل إلى الخدمة الخاصة بك في وحدة تحكم ClickHouse Cloud
  2. انتقل إلى SettingsSQL Console Access
  3. عيّن مستوى الأذونات المناسب لكل مستخدم:
    • Service Admin → Full Access - مطلوب لتمكين التنبيهات
    • Service Read Only → Read Only - يمكنه عرض بيانات observability وإنشاء لوحات المعلومات
    • No access - لا يمكنه الوصول إلى HyperDX
ClickHouse Cloud للقراءة فقط

استخدام ClickStack مع حوسبة للقراءة فقط

يمكن لواجهة مستخدم ClickStack أن تعمل بالكامل على خدمة ClickHouse Cloud للقراءة فقط. ويُوصى بهذا الإعداد عندما تريد عزل أحمال الإدخال والاستعلام.

كيف يختار ClickStack موارد الحوسبة

تتصل واجهة مستخدم ClickStack دائمًا بخدمة ClickHouse التي يتم تشغيلها منها في وحدة تحكم ClickHouse Cloud.

وهذا يعني:

  • إذا فتحت ClickStack من خدمة للقراءة فقط، فستُشغَّل جميع الاستعلامات التي تصدرها واجهة مستخدم ClickStack على موارد الحوسبة المخصّصة للقراءة فقط.
  • إذا فتحت ClickStack من خدمة للقراءة والكتابة، فسيستخدم ClickStack موارد الحوسبة الخاصة بها بدلًا من ذلك.

لا يلزم إجراء أي تهيئة إضافية داخل ClickStack لفرض وضع القراءة فقط.

لتشغيل ClickStack على موارد compute للقراءة فقط:

  1. أنشئ أو حدِّد خدمة ClickHouse Cloud ضمن الـ warehouse ومُهيأة للقراءة فقط.
  2. في وحدة تحكم ClickHouse Cloud، حدِّد الخدمة المهيأة للقراءة فقط.
  3. شغِّل ClickStack من قائمة التنقل اليسرى.

بمجرد تشغيله، سترتبط واجهة مستخدم ClickStack تلقائيًا بهذه الخدمة المهيأة للقراءة فقط.

إضافة المزيد من مصادر البيانات

يدعم ClickStack ‏OpenTelemetry دعمًا أصيلًا، لكنه لا يقتصر عليه فقط — يمكنك استخدام مخططات الجداول الخاصة بك إذا رغبت.

يوضح ما يلي كيف يمكن للمستخدمين إضافة مصادر بيانات إضافية بخلاف تلك التي تُضبط تلقائيًا.

استخدام مخططات OpenTelemetry

إذا كنت تستخدم OTel collector لإنشاء قاعدة البيانات والجداول داخل ClickHouse، فاترك جميع القيم الافتراضية كما هي في نموذج إنشاء المصدر، واملأ الحقل Table بالقيمة otel_logs لإنشاء مصدر سجلات. ينبغي اكتشاف جميع الإعدادات الأخرى تلقائيًا، ما يتيح لك النقر على Save New Source.

مصدر بيانات HyperDX في ClickHouse Cloud

لإنشاء مصادر للتتبعات ومقاييس OTel، يمكنك اختيار Create New Source من القائمة العلوية.

ClickStack: إنشاء مصدر جديد

من هنا، حدِّد نوع المصدر المطلوب ثم الجدول المناسب. على سبيل المثال، للتتبعات، حدِّد الجدول otel_traces. ينبغي اكتشاف جميع الإعدادات تلقائيًا.

ClickStack: إنشاء مصدر تتبعات

استخدام المخططات المخصصة

يمكن للمستخدمين الذين يرغبون في ربط ClickStack بخدمة حالية تحتوي على بيانات إكمال إعدادات قاعدة البيانات والجدول حسب الحاجة. سيتم اكتشاف الإعدادات تلقائيًا إذا كانت الجداول متوافقة مع مخططات OpenTelemetry لـ ClickHouse.

إذا كنت تستخدم مخططًا خاصًا بك، فنوصي بإنشاء مصدر للسجلات مع التأكد من تحديد الحقول المطلوبة — راجع "إعدادات مصدر السجل" لمزيد من التفاصيل.

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

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

يتوفر مخطط من النوع JSON في مرحلة بيتا للتقييم على أعباء العمل التي تتضمن مجموعة صغيرة ومستقرة من مفاتيح السمات. وهو غير موصى به كخيار افتراضي. راجع Map مقابل نوع JSON للاطلاع على المقارنة الكاملة ومتغيرات البيئة المطلوبة لتمكين دعم JSON.

Navigation