تتضمن عمليات النشر من نوع BYOC إمكانات شاملة لـ observability، ما يتيح لك مراقبة خدمات ClickHouse عبر حزمة مراقبة Prometheus مخصصة، ونقاط نهاية مباشرة للمقاييس من خوادم ClickHouse. وتبقى جميع بيانات observability داخل حسابك السحابي، مما يمنحك تحكمًا كاملًا في البنية التحتية للمراقبة.
أساليب المراقبة باستخدام Prometheus
يوفّر BYOC طريقتين رئيسيتين لجمع المقاييس وعرضها باستخدام Prometheus:
- الاتصال بحزمة Prometheus المضمّنة: الوصول إلى مثيل Prometheus مركزي ومثبّت مسبقًا يعمل داخل مجموعة Kubernetes الخاصة بـ BYOC.
- جمع مقاييس ClickHouse مباشرةً: وجّه نشر Prometheus لديك إلى نقطة النهاية
/metrics_allالتي توفّرها كل خدمة ClickHouse.
مقارنة أساليب المراقبة
| الإمكانية | حزمة Prometheus المضمّنة | الجمع المباشر للمقاييس من خدمات ClickHouse |
|---|---|---|
| نطاق المقاييس | تجمع المقاييس من ClickHouse وKubernetes والخدمات الداعمة (رؤية كاملة للعنقود) | مقاييس من خوادم ClickHouse الفردية فقط |
| عملية الإعداد | تتطلب إعداد وصول عبر شبكة خاصة (مثلًا عبر موازن تحميل خاص) | ما عليك سوى تهيئة Prometheus لجمع المقاييس من نقطة نهاية ClickHouse العامة أو الخاصة |
| كيفية الاتصال | عبر موازن التحميل الخاص داخل VPC/شبكتك | نقطة النهاية نفسها التي تستخدمها للوصول إلى قاعدة البيانات |
| المصادقة | لا حاجة إليها (لأن الوصول مقيّد بالشبكة الخاصة) | تستخدم بيانات اعتماد خدمة ClickHouse |
| المتطلبات المسبقة للشبكة | موازن تحميل خاص واتصال شبكي مناسب | متاحة لأي شبكة يمكنها الوصول إلى نقطة نهاية ClickHouse الخاصة بك |
| الأنسب لـ | مراقبة شاملة للبنية التحتية والخدمات | المراقبة والتكامل على مستوى الخدمة |
| كيفية التكامل | هيّئ federation في Prometheus الخارجي لاستيعاب مقاييس العنقود | أضف نقاط نهاية مقاييس ClickHouse مباشرةً إلى تهيئة Prometheus |
التوصية: بالنسبة إلى معظم حالات الاستخدام، نوصي بالتكامل مع حزمة Prometheus المضمّنة، لأنها توفّر مقاييس شاملة من جميع المكوّنات في نشر BYOC لديك (خدمات ClickHouse، وعنقود Kubernetes، والخدمات الداعمة)، بدلًا من الاكتفاء بمقاييس خادم ClickHouse فقط.
حزمة Prometheus المدمجة في BYOC
ينشر ClickHouse BYOC حزمة مراقبة Prometheus متكاملة داخل عنقود Kubernetes لديك، بما في ذلك Prometheus وGrafana وAlertManager، وThanos اختياريًا لتخزين المقاييس على المدى الطويل. تجمع هذه الحزمة المقاييس من:
- خوادم ClickHouse وClickHouse Keeper
- عنقود Kubernetes ومكونات النظام
- عُقد البنية التحتية الأساسية
الوصول إلى Prometheus Stack
للاتصال بحزمة Prometheus المضمّنة:
- فعِّل موازن التحميل الخاص لبنية BYOC التحتية لديك في ClickHouse Cloud console (راجع موازنات التحميل).
- اطلب URL لنقطة نهاية Prometheus من ClickHouse Support.
- تحقّق من توفر اتصال عبر شبكة خاصة بنقطة نهاية Prometheus، عادةً عبر ربط VPC/VNet أو إعداد اتصال خاص آخر.
تختلف صيغ نقاط النهاية بحسب نوع الاتصال:
| الاتصال | صيغة نقطة النهاية |
|---|---|
| ربط VPC/VNet | https://prometheus-internal.<subdomain>.<region>.<cloud>.clickhouse-byoc.com |
| نقطة نهاية خاصة | https://prometheus.<label>.<subdomain>.<region>.<cloud>.clickhouse-byoc.com |
<cloud> هو aws أو gcp أو azure. بالنسبة إلى نقاط النهاية الخاصة، يكون <label> خاصًا بالمزوّد السحابي: vpce على AWS، وp على GCP، وprivatelink على Azure.
التكامل مع أدوات المراقبة لديك
يمكنك الاستفادة من حزمة Prometheus الخاصة بـ BYOC ضمن بيئة المراقبة لديك بعدة طرق:
الخيار 1: الاستعلام عن واجهة برمجة تطبيقات Prometheus
- يمكنك الوصول مباشرةً إلى نقطة نهاية واجهة برمجة تطبيقات Prometheus من منصة المراقبة المفضلة لديك أو من لوحات المعلومات المخصصة.
- استخدم استعلامات PromQL لاستخراج المقاييس التي تحتاجها وتجميعها وعرضها بصريًا.
- هذا الخيار مثالي لإنشاء لوحات معلومات مخصصة أو مسارات تنبيه.
نقطة نهاية استعلام Prometheus /query:
https://prometheus-internal.<subdomain>.<region>.<cloud>.clickhouse-byoc.com/queryالخيار 2: استخدام federation للمقاييس إلى Prometheus الخاص بك
- اضبط مثيل Prometheus الخارجي لديك لإجراء federation (السحب) للمقاييس من حزمة Prometheus الخاصة بـ ClickHouse BYOC.
- يتيح لك ذلك توحيد جمع المقاييس ومركزيته عبر بيئات أو عناقيد متعددة.
- مثال على إعداد federation في Prometheus:
scrape_configs:
- job_name: 'federate-clickhouse-byoc'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="clickhouse"}'
- '{job="kubernetes"}'
static_configs:
- targets:
- 'prometheus-internal.<subdomain>.<region>.<cloud>.clickhouse-byoc.com'تكامل Prometheus مع خدمة ClickHouse
توفّر خدمات ClickHouse نقطة نهاية للمقاييس متوافقة مع Prometheus، ويمكنك جمع المقاييس منها مباشرةً باستخدام مثيل Prometheus الخاص بك. يوفّر هذا النهج مقاييس خاصة بـ ClickHouse، لكنه لا يشمل مقاييس Kubernetes أو مقاييس الخدمات المساندة.
الوصول إلى نقطة نهاية المقاييس
تتوفّر نقطة نهاية المقاييس على المسار /metrics_all في نقطة نهاية خدمة ClickHouse الخاصة بك:
curl --user <username>:<password> https://<service-subdomain>.<byoc-subdomain>.<region>.<provider>.clickhouse-byoc.com:8443/metrics_allاستجابة نموذجية:
# HELP ClickHouse_CustomMetric_StorageSystemTablesS3DiskBytes The amount of bytes stored on disk `s3disk` in system database
# TYPE ClickHouse_CustomMetric_StorageSystemTablesS3DiskBytes gauge
ClickHouse_CustomMetric_StorageSystemTablesS3DiskBytes{hostname="c-jet-ax-16-server-43d5baj-0"} 62660929
# HELP ClickHouse_CustomMetric_NumberOfBrokenDetachedParts The number of broken detached parts
# TYPE ClickHouse_CustomMetric_NumberOfBrokenDetachedParts gauge
ClickHouse_CustomMetric_NumberOfBrokenDetachedParts{hostname="c-jet-ax-16-server-43d5baj-0"} 0
# HELP ClickHouse_CustomMetric_TotalNumberOfErrors The total number of errors on server since the last restart
# TYPE ClickHouse_CustomMetric_TotalNumberOfErrors gauge
ClickHouse_CustomMetric_TotalNumberOfErrors{hostname="c-jet-ax-16-server-43d5baj-0"} 9المصادقة
تتطلب نقطة نهاية المقاييس المصادقة باستخدام بيانات اعتماد ClickHouse. نوصي باستخدام المستخدم default أو إنشاء مستخدم مخصص بأقل الأذونات اللازمة خصيصًا لكشط المقاييس.
الأذونات المطلوبة:
- إذن
REMOTEللاتصال بالخدمة - أذونات
SELECTعلى جداول النظام ذات الصلة
مثال على إعداد المستخدم:
CREATE USER scrapping_user IDENTIFIED BY 'secure_password';
GRANT REMOTE ON *.* TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_custom_metrics_tables TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_database_replicated_recovery_time TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_failed_mutations TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_group TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_shared_catalog_recovery_time TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_table_read_only_duration_seconds TO scrapping_user;
GRANT SELECT ON system._custom_metrics_view_error_metrics TO scrapping_user;
GRANT SELECT ON system._custom_metrics_view_histograms TO scrapping_user;
GRANT SELECT ON system._custom_metrics_view_metrics_and_events TO scrapping_user;
GRANT SELECT(description, metric, value) ON system.asynchronous_metrics TO scrapping_user;
GRANT SELECT ON system.custom_metrics TO scrapping_user;
GRANT SELECT(name, value) ON system.errors TO scrapping_user;
GRANT SELECT(description, event, value) ON system.events TO scrapping_user;
GRANT SELECT(description, labels, metric, value) ON system.histogram_metrics TO scrapping_user;
GRANT SELECT(description, metric, value) ON system.metrics TO scrapping_user;تهيئة Prometheus
هيّئ مثيل Prometheus لديك لجمع المقاييس من نقطة نهاية مقاييس ClickHouse:
global:
scrape_interval: 15s
scrape_configs:
- job_name: "clickhouse"
static_configs:
- targets: ["<service-subdomain>.<byoc-subdomain>.<region>.<provider>.clickhouse-byoc.com:8443"]
scheme: https
metrics_path: "/metrics_all"
basic_auth:
username: <username>
password: <password>
honor_labels: trueاستبدل:
<service-subdomain>.<byoc-subdomain>.<region>.<provider>.clickhouse-byoc.com:8443بنقطة نهاية الخدمة الفعلية لديك<username>و<password>ببيانات اعتماد مستخدم scraping الخاص بك
ClickHouse Mixin
للفرق التي تريد مجموعة جاهزة من لوحات المعلومات، يوفّر ClickHouse ClickHouse Mixin لـ Prometheus. وهي لوحة معلومات Grafana جاهزة ومصممة خصيصًا لمراقبة عناقيد ClickHouse.
إعداد Grafana واستيراد ClickHouse Mix-in
بمجرد دمج مثيل Prometheus لديك مع حزمة مراقبة ClickHouse، يمكنك عرض المقاييس في Grafana باتباع الخطوات التالية:
- إضافة Prometheus كمصدر بيانات في Grafana انتقل إلى "Data sources" في الشريط الجانبي لـ Grafana، وانقر على "Add data source"، ثم اختر "Prometheus". أدخل عنوان URL الخاص بمثيل Prometheus وأي بيانات اعتماد مطلوبة لإجراء الاتصال.



- استيراد لوحة معلومات ClickHouse في Grafana، انتقل إلى قسم لوحات المعلومات واختر "Import". يمكنك إما رفع ملف JSON الخاص بلوحة المعلومات أو لصق محتواه مباشرةً. يمكنك الحصول على ملف JSON من مستودع ClickHouse mixin: ملف JSON للوحة معلومات ClickHouse Mix-in

- استعراض المقاييس بمجرد استيراد لوحة المعلومات وتهيئتها باستخدام مصدر بيانات Prometheus لديك، ستتمكن من رؤية مقاييس في الوقت الفعلي من خدمات ClickHouse Cloud الخاصة بك.
