هذا الدليل موجّه لمستخدمي 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.
مناسب لـ
يُعد نمط النشر هذا مثاليًا في السيناريوهات التالية:
- لديك بالفعل بيانات observability في ClickHouse Cloud وترغب في عرضها بصريًا باستخدام ClickStack.
- تُشغّل عملية نشر واسعة النطاق لـ observability وتحتاج إلى الأداء المخصص وقابلية التوسع التي يوفّرها ClickStack عند تشغيله على ClickHouse Cloud.
- أنت تستخدم 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، اتبع الدليل المخصص. وللتكاملات الأخرى، راجع أدلة البدء السريع الخاصة بنا.
بيانات تجريبية
بدلًا من ذلك، إذا لم تكن لديك بيانات موجودة، فجرّب إحدى مجموعات البيانات النموذجية لدينا.
- مجموعة بيانات نموذجية - حمّل مجموعة بيانات نموذجية من العرض التجريبي العام الخاص بنا. شخّص مشكلة بسيطة.
- الملفات المحلية وmetrics - حمّل ملفات محلية وراقب النظام على OSX أو Linux باستخدام OTel collector محلي.
Vector هو مسار بيانات observability عالي الأداء ومحايد للمورّدين، ويشتهر بشكل خاص باستيعاب السجلات بفضل مرونته وانخفاض استهلاكه للموارد.
عند استخدام Vector مع ClickStack، يكون المستخدمون مسؤولين عن تحديد المخططات الخاصة بهم. وقد تتبع هذه المخططات اصطلاحات OpenTelemetry، لكنها قد تكون أيضًا مخصّصة بالكامل لتمثيل بنى أحداث يحدّدها المستخدم.
يفترض ما يلي أن لديك مثيلًا من Vector قيد التشغيل ومهيّأ مسبقًا باستخدام ingest pipelines لتسليم البيانات.
أنشئ قاعدة بيانات وجدولًا
يتطلب Vector تعريف جدول ومخطط قبل استيعاب البيانات.
أنشئ أولًا قاعدة بيانات. ويمكن تنفيذ ذلك عبر ClickHouse Cloud console.
على سبيل المثال، أنشئ قاعدة بيانات للسجلات:
CREATE DATABASE IF NOT EXISTS logsثم أنشئ جدولًا يتطابق مخططه مع بنية بيانات السجل لديك. يفترض المثال أدناه تنسيقًا تقليديًا لسجل الوصول في Nginx:
CREATE TABLE logs.nginx_logs
(
`time_local` DateTime,
`remote_addr` IPv4,
`remote_user` LowCardinality(String),
`request` String,
`status` UInt16,
`body_bytes_sent` UInt64,
`http_referer` String,
`http_user_agent` String,
`http_x_forwarded_for` LowCardinality(String),
`request_time` Float32,
`upstream_response_time` Float32,
`http_host` String
)
ENGINE = MergeTree
ORDER BY (toStartOfMinute(time_local), status, remote_addr);يجب أن يتوافق جدولك مع مخطط الإخراج الذي يُنتجه Vector. عدّل المخطط حسب الحاجة لبياناتك، مع اتباع أفضل ممارسات المخطط الموصى بها.
نوصي بشدة بفهم كيفية عمل المفاتيح الأساسية في ClickHouse واختيار مفتاح ترتيب بناءً على أنماط الوصول لديك. راجع الإرشادات الخاصة بـ ClickStack بشأن اختيار مفتاح أساسي.
بمجرد إنشاء الجدول، انسخ مقتطف الإعدادات المعروض. عدّل المُدخل لاستهلاك مسارات المعالجة الحالية لديك، وكذلك الجدول الهدف وقاعدة البيانات إذا لزم الأمر. يُفترض أن تكون بيانات الاعتماد مُعبأة مسبقًا.

للمزيد من أمثلة إدخال البيانات باستخدام Vector، راجع "الإدخال باستخدام Vector" أو توثيق ClickHouse sink في Vector للاطلاع على الخيارات المتقدمة.
حدد خدمة
من الصفحة الرئيسية لـ ClickHouse Cloud، حدد الخدمة التي تريد تمكين 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 على المنفذين 4317 (gRPC) و4318 (HTTP). إذا كانت لديك بالفعل إعدادات instrumentation ووكلاء OpenTelemetry، فيمكنك البدء فورًا في إرسال بيانات القياس عن بُعد إلى نقاط النهاية هذه.
تهيئة 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، فانتقل إلى الأدلة ذات الصلة المرتبطة من "ربط تطبيق".
لتزويد تطبيقاتك بما يمكّنها من جمع traces وlogs، استخدم language SDKs المدعومة التي ترسل البيانات إلى OpenTelemetry Collector الخاص بك، والذي يعمل كبوابة لإدخالها إلى Managed ClickStack.
ويمكن جمع السجلات باستخدام OpenTelemetry Collectors التي تعمل في وضع agent، مع إعادة توجيه البيانات إلى الـ collector نفسه. ولمراقبة Kubernetes، اتبع الدليل المخصص. أما للتكاملات الأخرى، فراجع أدلة quickstart الخاصة بنا.
Vector هو خط أنابيب عالي الأداء ومحايد للمورّدين لبيانات observability، ويشتهر خصوصًا في ingest السجلات بفضل مرونته وانخفاض استهلاك الموارد.
عند استخدام Vector مع ClickStack، يكون المستخدمون مسؤولين عن تحديد المخططات الخاصة بهم. وقد تتبع هذه المخططات اصطلاحات OpenTelemetry، لكنها قد تكون أيضًا مخصّصة بالكامل لتمثيل بنى أحداث يحدّدها المستخدم.
يفترض ما يلي أن لديك مثيلًا من Vector قيد التشغيل ومُهيّأ مسبقًا باستخدام ingest pipelines ويقوم بإرسال البيانات.
أنشئ قاعدة بيانات وجدولًا
يتطلب Vector تحديد جدول ومخطط قبل ingest البيانات.
أنشئ أولًا قاعدة بيانات. ويمكن القيام بذلك عبر ClickHouse Cloud console.
على سبيل المثال، أنشئ قاعدة بيانات للسجلات:
CREATE DATABASE IF NOT EXISTS logsثم أنشئ جدولًا يتطابق مخططه مع بنية بيانات السجل. يفترض المثال أدناه تنسيق سجل وصول Nginx الكلاسيكي:
CREATE TABLE logs.nginx_logs
(
`time_local` DateTime,
`remote_addr` IPv4,
`remote_user` LowCardinality(String),
`request` String,
`status` UInt16,
`body_bytes_sent` UInt64,
`http_referer` String,
`http_user_agent` String,
`http_x_forwarded_for` LowCardinality(String),
`request_time` Float32,
`upstream_response_time` Float32,
`http_host` String
)
ENGINE = MergeTree
ORDER BY (toStartOfMinute(time_local), status, remote_addr);يجب أن يتوافق جدولك مع مخطط المخرجات الذي يُنشئه Vector. عدّل المخطط حسب الحاجة لبياناتك، مع اتباع أفضل ممارسات المخطط الموصى بها.
نوصي بشدة بفهم كيفية عمل المفاتيح الأساسية في ClickHouse واختيار مفتاح ترتيب استنادًا إلى أنماط الوصول لديك. راجع الإرشادات الخاصة بـ ClickStack حول اختيار مفتاح أساسي.
بمجرد إنشاء الجدول، انسخ مقتطف الإعدادات الظاهر. عدّل المُدخل لاستهلاك مسارات المعالجة الحالية لديك، وكذلك الجدول الهدف وقاعدة البيانات إذا لزم الأمر. يجب أن تكون بيانات الاعتماد مُعبأة مسبقًا.

للمزيد من أمثلة إدخال البيانات باستخدام Vector، راجع "الإدخال باستخدام Vector" أو توثيق مصبّ ClickHouse في Vector للاطلاع على الخيارات المتقدمة.
مهام إضافية
منح حق الوصول إلى ClickStack المُدار
- انتقل إلى الخدمة الخاصة بك في وحدة تحكم ClickHouse Cloud
- انتقل إلى Settings → SQL Console Access
- عيّن مستوى الأذونات المناسب لكل مستخدم:
- Service Admin → Full Access - مطلوب لتمكين التنبيهات
- Service Read Only → Read Only - يمكنه عرض بيانات observability وإنشاء لوحات المعلومات
- No access - لا يمكنه الوصول إلى HyperDX

استخدام ClickStack مع حوسبة للقراءة فقط
يمكن لواجهة مستخدم ClickStack أن تعمل بالكامل على خدمة ClickHouse Cloud للقراءة فقط. ويُوصى بهذا الإعداد عندما تريد عزل أحمال الإدخال والاستعلام.
كيف يختار ClickStack موارد الحوسبة
تتصل واجهة مستخدم ClickStack دائمًا بخدمة ClickHouse التي يتم تشغيلها منها في وحدة تحكم ClickHouse Cloud.
وهذا يعني:
- إذا فتحت ClickStack من خدمة للقراءة فقط، فستُشغَّل جميع الاستعلامات التي تصدرها واجهة مستخدم ClickStack على موارد الحوسبة المخصّصة للقراءة فقط.
- إذا فتحت ClickStack من خدمة للقراءة والكتابة، فسيستخدم ClickStack موارد الحوسبة الخاصة بها بدلًا من ذلك.
لا يلزم إجراء أي تهيئة إضافية داخل ClickStack لفرض وضع القراءة فقط.
الإعداد الموصى به
لتشغيل ClickStack على موارد compute للقراءة فقط:
- أنشئ أو حدِّد خدمة ClickHouse Cloud ضمن الـ warehouse ومُهيأة للقراءة فقط.
- في وحدة تحكم ClickHouse Cloud، حدِّد الخدمة المهيأة للقراءة فقط.
- شغِّل ClickStack من قائمة التنقل اليسرى.
بمجرد تشغيله، سترتبط واجهة مستخدم ClickStack تلقائيًا بهذه الخدمة المهيأة للقراءة فقط.
إضافة المزيد من مصادر البيانات
يدعم ClickStack OpenTelemetry دعمًا أصيلًا، لكنه لا يقتصر عليه فقط — يمكنك استخدام مخططات الجداول الخاصة بك إذا رغبت.
يوضح ما يلي كيف يمكن للمستخدمين إضافة مصادر بيانات إضافية بخلاف تلك التي تُضبط تلقائيًا.
استخدام مخططات OpenTelemetry
إذا كنت تستخدم OTel collector لإنشاء قاعدة البيانات والجداول داخل ClickHouse، فاترك جميع القيم الافتراضية كما هي في نموذج إنشاء المصدر، واملأ الحقل Table بالقيمة otel_logs لإنشاء مصدر سجلات. ينبغي اكتشاف جميع الإعدادات الأخرى تلقائيًا، ما يتيح لك النقر على Save New Source.

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

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

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

