الانتقال إلى المحتوى الرئيسي
باختصارراقب مقاييس أداء PostgreSQL في ClickStack باستخدام مستقبِل PostgreSQL في OTel. يتضمن مجموعة بيانات تجريبية ولوحة معلومات مُعدّة مسبقًا.

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

يتناول هذا القسم كيفية تهيئة تثبيت PostgreSQL الحالي لديك لإرسال المقاييس إلى ClickStack، وذلك عبر تهيئة ClickStack OTel collector باستخدام مستقبِل PostgreSQL. إذا كنت ترغب في اختبار تكامل مقاييس PostgreSQL قبل تهيئة إعدادك الحالي، فيمكنك إجراء الاختبار باستخدام مجموعة البيانات التجريبية المُعدّ مسبقًا في القسم التالي.
المتطلبات الأساسية
  • مثيل ClickStack قيد التشغيل
  • تثبيت PostgreSQL حالي (الإصدار 9.6 أو أحدث)
  • إتاحة الوصول عبر الشبكة من ClickStack إلى PostgreSQL (المنفذ الافتراضي 5432)
  • مستخدم مراقبة في PostgreSQL لديه الأذونات المناسبة
1

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

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

أنشئ تهيئة مخصصة لـ 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]
يعطّل الإعداد tls: insecure: true التحقق من SSL لأغراض التطوير/الاختبار. إذا كنت تستخدم PostgreSQL في بيئة الإنتاج مع تمكين SSL، فأزل هذا السطر أو اضبط الشهادات المناسبة.
3

انشر 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
4

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

بعد إكمال التهيئة، سجّل الدخول إلى HyperDX وتأكد من أن المقاييس تتدفق:
  1. انتقل إلى مستكشف المقاييس
  2. ابحث عن المقاييس التي تبدأ بـ postgresql. (على سبيل المثال: postgresql.backends وpostgresql.commits)
  3. ينبغي أن ترى نقاط بيانات المقاييس تظهر وفقًا لفاصل الجمع الذي قمت بتهيئته
بمجرد بدء تدفق المقاييس، انتقل إلى قسم لوحات المعلومات والتصورات المرئية لاستيراد لوحة المعلومات الجاهزة مسبقًا.

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

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

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

نزّل ملفات المقاييس المُولَّدة مسبقًا (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 نادرة
2

ابدأ ClickStack

ابدأ instance من 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 بالكامل.
3

حمّل المقاييس إلى 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"
4

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

بعد تحميلها، فإن أسرع طريقة لعرض مقاييسك هي من خلال لوحة المعلومات الجاهزة مسبقًا.انتقل إلى قسم لوحات المعلومات والتصورات لاستيراد لوحة المعلومات وعرض العديد من مقاييس PostgreSQL دفعةً واحدة.
عرض المنطقة الزمنيةيعرض HyperDX الطوابع الزمنية وفقًا للمنطقة الزمنية المحلية في متصفحك. تغطي البيانات التجريبية الفترة 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC). اضبط النطاق الزمني على 2025-11-09 00:00:00 - 2025-11-12 00:00:00 لضمان ظهور المقاييس التجريبية بغض النظر عن موقعك. وبعد أن ترى المقاييس، يمكنك تضييق النطاق إلى فترة 24 ساعة للحصول على تصورات أوضح.

لوحات المعلومات والمرئيات

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

ملف إعداد لوحة المعلومات

2

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

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

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

ستُنشأ لوحة المعلومات مع إعداد جميع المرئيات مسبقًا:
بالنسبة إلى مجموعة البيانات التجريبية، اضبط النطاق الزمني على 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC) (عدّله وفقًا لمنطقتك الزمنية المحلية). لن تتضمن لوحة المعلومات المستوردة نطاقًا زمنيًا محددًا افتراضيًا.

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

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

تحقّق من ضبط متغير البيئة:
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 مع نقاط نهاية وأسماء خدمات مختلفة

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

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