Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

BYOC Observability

تتضمن عمليات النشر من نوع BYOC إمكانات شاملة لـ observability، ما يتيح لك مراقبة خدمات ClickHouse عبر حزمة مراقبة Prometheus مخصصة، ونقاط نهاية مباشرة للمقاييس من خوادم ClickHouse. وتبقى جميع بيانات observability داخل حسابك السحابي، مما يمنحك تحكمًا كاملًا في البنية التحتية للمراقبة.

أساليب المراقبة باستخدام Prometheus

يوفّر BYOC طريقتين رئيسيتين لجمع المقاييس وعرضها باستخدام Prometheus:

  1. الاتصال بحزمة Prometheus المضمّنة: الوصول إلى مثيل Prometheus مركزي ومثبّت مسبقًا يعمل داخل مجموعة Kubernetes الخاصة بـ BYOC.
  2. جمع مقاييس 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 المضمّنة:

  1. فعِّل موازن التحميل الخاص لبنية BYOC التحتية لديك في ClickHouse Cloud console (راجع موازنات التحميل).
  2. اطلب URL لنقطة نهاية Prometheus من ClickHouse Support.
  3. تحقّق من توفر اتصال عبر شبكة خاصة بنقطة نهاية 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 باتباع الخطوات التالية:

  1. إضافة Prometheus كمصدر بيانات في Grafana انتقل إلى "Data sources" في الشريط الجانبي لـ Grafana، وانقر على "Add data source"، ثم اختر "Prometheus". أدخل عنوان URL الخاص بمثيل Prometheus وأي بيانات اعتماد مطلوبة لإجراء الاتصال.
BYOC Mixin 1
BYOC Mixin 2
BYOC Mixin 3
  1. استيراد لوحة معلومات ClickHouse في Grafana، انتقل إلى قسم لوحات المعلومات واختر "Import". يمكنك إما رفع ملف JSON الخاص بلوحة المعلومات أو لصق محتواه مباشرةً. يمكنك الحصول على ملف JSON من مستودع ClickHouse mixin: ملف JSON للوحة معلومات ClickHouse Mix-in
BYOC Mixin 4
  1. استعراض المقاييس بمجرد استيراد لوحة المعلومات وتهيئتها باستخدام مصدر بيانات Prometheus لديك، ستتمكن من رؤية مقاييس في الوقت الفعلي من خدمات ClickHouse Cloud الخاصة بك.
BYOC Mixin 5
Navigation