Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

تكامل Prometheus مع ClickHouse Managed Postgres

Beta

يوفّر ClickHouse Managed Postgres نقطتي نهاية للمقاييس متوافقتين مع Prometheus ضمن واجهة برمجة تطبيقات ClickHouse Cloud:

نقطة النهاية المسار القيم المعادة
المؤسسة /v1/organizations/{orgId}/postgres/prometheus مقاييس لكل خدمة ClickHouse Managed Postgres في المؤسسة
المثيل /v1/organizations/{orgId}/postgres/{pgId}/prometheus مقاييس لخدمة واحدة

المصادقة

تستخدم نقطة النهاية نفس [مفاتيح واجهة برمجة تطبيقات] المستخدمة في بقية OpenAPI؛ راجع دليل OpenAPI لمعرفة كيفية إنشائها والعثور على معرّفات المؤسسة والخدمة لديك.

KEY_ID=mykeyid
KEY_SECRET=mykeysecret
ORG_ID=myorgid
PG_ID=mypgid

جمع المقاييس من جميع الخدمات في المؤسسة

curl -s --user "$KEY_ID:$KEY_SECRET" \
    "https://api.clickhouse.cloud/v1/organizations/$ORG_ID/postgres/prometheus"

جمع المقاييس من خدمة واحدة

curl -s --user "$KEY_ID:$KEY_SECRET" \
    "https://api.clickhouse.cloud/v1/organizations/$ORG_ID/postgres/$PG_ID/prometheus"

مثال على الاستجابة

# HELP PostgresServiceInfo Information about PostgreSQL service, including status and version.
# TYPE PostgresServiceInfo gauge
PostgresServiceInfo{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres",postgres_status="running",postgres_version="18"} 1

# HELP PostgresServer_ActiveConnections Number of active connections by state.
# TYPE PostgresServer_ActiveConnections gauge
PostgresServer_ActiveConnections{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres",state="active"} 1
PostgresServer_ActiveConnections{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres",state="idle"} 4

# HELP PostgresServer_CacheHitRatio Buffer cache hit ratio: blocks served from cache vs. total blocks accessed (%).
# TYPE PostgresServer_CacheHitRatio gauge
PostgresServer_CacheHitRatio{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres"} 100

للاطّلاع على القائمة الكاملة للمقاييس ومعانيها، راجع مرجع المقاييس.

تهيئة Prometheus

يجمع هذا الإعداد المقاييس من نقطة النهاية على مستوى المؤسسة كل 60 ثانية:

scrape_configs:
  - job_name: "managed-postgres"
    scheme: https
    metrics_path: "/v1/organizations/<ORG_ID>/postgres/prometheus"
    static_configs:
      - targets: ["api.clickhouse.cloud"]
    basic_auth:
      username: <KEY_ID>
      password: <KEY_SECRET>
    honor_labels: true
    scrape_interval: 60s

تُحدِّث نقطة النهاية المقاييس مرة واحدة في الدقيقة. يؤدّي جمع المقاييس بوتيرة أسرع من 60s إلى تكرار العينات وينتج نمطًا سُلّميًا على لوحات القياس.

عيّن honor_labels: true بحيث يتم الاحتفاظ بوسمي postgres_service و postgres_service_name القادمين من نقطة النهاية بدلًا من أن يعيد Prometheus الكتابة فوقهما.

لجمع مقاييس خدمة واحدة، ألحِق /<PG_ID> بـ metrics_path.

لوحة معلومات Grafana الجاهزة مسبقًا

تعرض لوحة معلومات Grafana الجاهزة مسبقًا كل مقياس توفره نقطة النهاية — جدول خدمات قابل للفرز، واستخدام CPU والذاكرة، واستخدام القرص مع تنبيهات العتبة، والاتصالات حسب الحالة، والمعاملات ونسبة التراجع، ونشاط Tuple، وI/O، والتخزين لكل قاعدة بيانات، وحالات الجمود.

لوحة معلومات Grafana لخدمات ClickHouse Managed Postgres

استيراد لوحة المعلومات

تنزيل ملف JSON الخاص بلوحة المعلومات

فتح مسار الاستيراد في Grafana

انتقل إلى Dashboards → New → Import. حمّل ملف JSON أو الصق محتوياته.

اختيار مصدر بيانات Prometheus

عندما يُطلب منك إدخال DS_PROMETHEUS، حدِّد مصدر بيانات Prometheus الذي يجمع المقاييس من نقطة النهاية المهيّأة في القسم السابق.

بالنسبة إلى عمليات نشر Grafana المُهيّأة مسبقًا، ضع ملف JSON في مسار تهيئة لوحات المعلومات لديك. يطابق Grafana المرجع ${DS_PROMETHEUS} مع مصدر بيانات Prometheus متاح في المثيل.

متغيرات القالب

تعرض لوحة المعلومات ثلاثة متغيرات:

  • مصدر البيانات — مصدر بيانات Prometheus الذي تعتمد عليه لوحة المعلومات.
  • الخدمة — عامل تصفية متعدد التحديد للحقل postgres_service_name. القيمة الافتراضية هي الكل؛ اختر خدمة واحدة أو أكثر لتقييد نطاق كل لوحة.
  • فاصل الجمع — ثابت مخفي، وقيمته الافتراضية 60s. يُستخدم في حساب Grafana للمتغير $__rate_interval. غيّر هذه القيمة في ملف JSON إذا كان فاصل الجمع لديك مختلفًا.

التصفية إلى خدمة واحدة للانتقال إلى التفاصيل

صُممت عدة لوحات للانتقال إلى التفاصيل بعد التصفية إلى خدمة واحدة عبر المتغير Service. فعلى سبيل المثال، تعرض لوحة CPU حسب الوضع الأوضاع user وsystem وiowait وsteal وغيرها من أوضاع CPU بشكل تراكمي، بحيث يمكنك معرفة ما إذا كانت الزيادة المفاجئة ناتجة عن شيفرة التطبيق، أو عمل النواة، أو فترات انتظار القرص، أو التنافس على موارد طبقة المحاكاة الافتراضية.

التكامل مع Grafana وDatadog

تتبع نقطة النهاية البنية نفسها الخاصة بـنقطة نهاية ClickHouse Prometheus ، لذا فإن إعدادات Grafana Cloud وGrafana Alloy ووكيل Datadog OpenMetrics الموضحة هناك تنطبق هنا أيضًا. وجّه metrics_path إلى مسار org أو المثيل لـ ClickHouse Managed Postgres بدلًا من مسار ClickHouse.

Navigation