التكامل مع 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 وتأكد من أن المقاييس تتدفق:
- انتقل إلى Metrics explorer
- ابحث عن المقاييس التي تبدأ بـ postgresql. (على سبيل المثال: postgresql.backends وpostgresql.commits)
- ينبغي أن ترى نقاط بيانات المقاييس تظهر وفقًا لفاصل الجمع الذي قمت بتهيئته
بمجرد بدء تدفق المقاييس، انتقل إلى قسم لوحات المعلومات والتصور لاستيراد لوحة المعلومات الجاهزة مسبقًا.
مجموعة البيانات التجريبية
للمستخدمين الذين يريدون اختبار تكامل مقاييس 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.
نزّل إعداد لوحة المعلومات
استورد لوحة المعلومات المُعدّة مسبقًا
- افتح HyperDX وانتقل إلى قسم لوحات المعلومات
- انقر على استيراد لوحة معلومات في الزاوية العلوية اليمنى من قائمة النقاط الثلاث

- ارفع ملف
postgres-metrics-dashboard.jsonوانقر على إنهاء الاستيراد

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

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