Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

مراقبة مقاييس PostgreSQL باستخدام ClickStack

التكامل مع PostgreSQL الحالي

يتناول هذا القسم كيفية تهيئة تثبيت PostgreSQL الحالي لديك لإرسال المقاييس إلى ClickStack، وذلك عبر تهيئة ClickStack OTel collector باستخدام مستقبِل PostgreSQL.

إذا كنت ترغب في اختبار تكامل مقاييس PostgreSQL قبل تهيئة إعدادك الحالي، فيمكنك إجراء الاختبار باستخدام مجموعة البيانات التجريبية المُعدّ مسبقًا في القسم التالي.

المتطلبات الأساسية
  • مثيل ClickStack قيد التشغيل
  • تثبيت PostgreSQL حالي (الإصدار 9.6 أو أحدث)
  • إتاحة الوصول عبر الشبكة من ClickStack إلى PostgreSQL (المنفذ الافتراضي 5432)
  • مستخدم مراقبة في PostgreSQL لديه الأذونات المناسبة

تأكد من أن مستخدم المراقبة لديه الأذونات المطلوبة

يتطلب مستقبِل PostgreSQL مستخدمًا لديه إذن قراءة على طرق عرض الإحصاءات. امنح دور pg_monitor لمستخدم المراقبة لديك:

GRANT pg_monitor TO your_monitoring_user;

أنشئ تهيئة مخصصة لـ OTel collector

يتيح لك ClickStack توسيع تهيئة OpenTelemetry collector الأساسية من خلال تركيب ملف تهيئة مخصص وتعيين متغير بيئة.

أنشئ postgres-metrics.yaml:

receivers:
  postgresql:
    endpoint: postgres-host:5432
    transport: tcp
    username: otel_monitor
    password: ${env:POSTGRES_PASSWORD}
    databases:
      - postgres
      - your_application_db # استبدلها بأسماء قواعد البيانات الفعلية لديك
    collection_interval: 30s
    tls:
      insecure: true

processors:
  resourcedetection:
    detectors: [env, system, docker]
    timeout: 5s
  batch:
    timeout: 10s
    send_batch_size: 10000

exporters:
  clickhouse:
    endpoint: tcp://localhost:9000
    database: default
    ttl: 96h

service:
  pipelines:
    metrics/postgres:
      receivers: [postgresql]
      processors: [resourcedetection, batch]
      exporters: [clickhouse]

انشر ClickStack باستخدام تهيئة مخصصة

قم بتركيب ملف التهيئة المخصص:

docker run -d \
  --name clickstack-postgres \
  -p 8123:8123 -p 9000:9000 -p 4317:4317 -p 4318:4318 \
  -e HYPERDX_API_KEY=your-api-key \
  -e CLICKHOUSE_PASSWORD=your-clickhouse-password \
  -e POSTGRES_PASSWORD=secure_password_here \
  -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
  -v "$(pwd)/postgres-metrics.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
  clickhouse/clickstack:latest

تحقّق من جمع المقاييس

بعد إكمال التهيئة، سجّل الدخول إلى HyperDX وتأكد من أن المقاييس تتدفق:

  1. انتقل إلى Metrics explorer
  2. ابحث عن المقاييس التي تبدأ بـ postgresql. (على سبيل المثال: postgresql.backends وpostgresql.commits)
  3. ينبغي أن ترى نقاط بيانات المقاييس تظهر وفقًا لفاصل الجمع الذي قمت بتهيئته

بمجرد بدء تدفق المقاييس، انتقل إلى قسم لوحات المعلومات والتصور لاستيراد لوحة المعلومات الجاهزة مسبقًا.

مجموعة البيانات التجريبية

للمستخدمين الذين يريدون اختبار تكامل مقاييس PostgreSQL قبل تهيئة أنظمة الإنتاج الخاصة بهم، نوفر مجموعة بيانات مُولَّدة مسبقًا تتضمن أنماطًا واقعية لمقاييس PostgreSQL.

تنزيل مجموعة بيانات المقاييس النموذجية

نزّل ملفات المقاييس المُولَّدة مسبقًا (24 ساعة من مقاييس PostgreSQL بأنماط واقعية):

# تنزيل مقاييس gauge (connections, database size)
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/postgres/postgres-metrics-gauge.csv

# تنزيل مقاييس sum (commits, rollbacks, operations)
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/postgres/postgres-metrics-sum.csv

تتضمن مجموعة البيانات أنماطًا واقعية:

  • ارتفاع صباحي في الاتصالات (08:00) - ذروة تسجيل الدخول
  • مشكلة في أداء cache (11:00) - ارتفاع مفاجئ في Blocks_read
  • خلل في التطبيق (14:00-14:30) - ارتفاع معدل التراجع إلى 15%
  • حالات deadlocks (14:15, 16:30) - deadlocks نادرة

ابدأ ClickStack

ابدأ مثيل من ClickStack:

docker run -d --name clickstack-postgres-demo \
  -p 8080:8080 -p 4317:4317 -p 4318:4318 \
  clickhouse/clickstack-all-in-one:latest

انتظر نحو 30 ثانية حتى يكتمل تشغيل ClickStack بالكامل.

حمّل المقاييس إلى ClickStack

حمّل المقاييس مباشرةً إلى ClickHouse:

# تحميل مقاييس gauge
cat postgres-metrics-gauge.csv | docker exec -i clickstack-postgres-demo \
  clickhouse-client --query "INSERT INTO otel_metrics_gauge FORMAT CSVWithNames"

# تحميل مقاييس sum
cat postgres-metrics-sum.csv | docker exec -i clickstack-postgres-demo \
  clickhouse-client --query "INSERT INTO otel_metrics_sum FORMAT CSVWithNames"

تحقّق من المقاييس في HyperDX

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

انتقل إلى قسم لوحات المعلومات والتصورات لاستيراد لوحة المعلومات وعرض العديد من مقاييس PostgreSQL دفعةً واحدة.

لوحات المعلومات والتصورات

لمساعدتك على بدء مراقبة PostgreSQL باستخدام ClickStack، نوفر تصورات أساسية لمقاييس PostgreSQL.

نزّل إعداد لوحة المعلومات

استورد لوحة المعلومات المُعدّة مسبقًا

  1. افتح HyperDX وانتقل إلى قسم لوحات المعلومات
  2. انقر على استيراد لوحة معلومات في الزاوية العلوية اليمنى من قائمة النقاط الثلاث
زر استيراد لوحة المعلومات
  1. ارفع ملف postgres-metrics-dashboard.json وانقر على إنهاء الاستيراد
مربع حوار إنهاء الاستيراد

اعرض لوحة المعلومات

ستُنشأ لوحة المعلومات مع إعداد جميع التصورات مسبقًا:

لوحة معلومات مقاييس PostgreSQL

استكشاف الأخطاء وإصلاحها

تعذّر تحميل التهيئة المخصصة

تحقّق من ضبط متغير البيئة:

docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILE

تحقّق من تحميل ملف الإعدادات المخصّص:

docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml

عدم ظهور أي مقاييس في HyperDX

تحقق من إمكانية الوصول إلى PostgreSQL:

docker exec <clickstack-container> psql -h postgres-host -U otel_monitor -d postgres -c "SELECT 1"

تحقق من سجلات OTel collector:

docker exec <container> cat /etc/otel/supervisor-data/agent.log | grep -i postgres

أخطاء المصادقة

تحقّق من ضبط كلمة المرور بشكل صحيح:

docker exec <clickstack-container> printenv POSTGRES_PASSWORD

اختبر بيانات الاعتماد مباشرةً:

psql -h postgres-host -U otel_monitor -d postgres -c "SELECT version();"

الخطوات التالية

  • أعدّ التنبيهات للعتبات الحرجة (حدود الاتصالات، ارتفاع معدلات التراجع، انخفاض نسب الإصابة في ذاكرة التخزين المؤقت)
  • فعّل المراقبة على مستوى الاستعلامات باستخدام امتداد pg_stat_statements
  • راقب عدة مثيلات PostgreSQL عبر تكرار إعدادات الـ receiver مع نقاط نهاية وأسماء خدمات مختلفة

الانتقال إلى بيئة الإنتاج

يعتمد هذا الدليل على OpenTelemetry Collector المضمّن في ClickStack لتوفير إعداد سريع. أما في عمليات النشر على بيئة الإنتاج، فنوصي بتشغيل OTel Collector الخاص بك وإرسال البيانات إلى نقطة نهاية OTLP الخاصة بـ ClickStack. راجع إرسال بيانات OpenTelemetry للاطلاع على إعدادات الإنتاج.

Navigation