الخلاصةاجمع سجلات خادم PostgreSQL واعرضها بصريًا في ClickStack باستخدام مستقبِل OTel
filelog (بتنسيق CSV). يتضمن ذلك مجموعة بيانات تجريبية ولوحة معلومات مُعدّة مسبقًا.التكامل مع PostgreSQL الحالي
المتطلبات الأساسية
- مثيل ClickStack قيد التشغيل
- تثبيت PostgreSQL حالي (الإصدار 9.6 أو أحدث)
- إمكانية تعديل ملفات تكوين PostgreSQL
- مساحة قرص كافية لملفات السجل
تهيئة تسجيل PostgreSQL
يدعم PostgreSQL عدة تنسيقات للسجلات. ولإجراء parsing منظَّم باستخدام OpenTelemetry، نوصي باستخدام تنسيق CSV لأنه يوفّر مخرجات متسقة وقابلة للمعالجة.يوجد ملفpostgresql.conf عادةً في:- Linux (apt/yum):
/etc/postgresql/{version}/main/postgresql.conf - macOS (Homebrew):
/usr/local/var/postgres/postgresql.confأو/opt/homebrew/var/postgres/postgresql.conf - Docker: عادةً ما يُضبط الإعداد عبر متغيرات البيئة أو من خلال ملف config مُركّب
postgresql.conf أو عدّلها فيه:يستخدم هذا الدليل تنسيق
csvlog في PostgreSQL لإجراء تحليل منظَّم وموثوق. إذا كنت تستخدم التنسيقين stderr أو jsonlog، فستحتاج إلى تعديل إعدادات OpenTelemetry Collector وفقًا لذلك.إنشاء تهيئة مخصصة لـ OTel collector
يتيح لك ClickStack توسيع التهيئة الأساسية لـ OpenTelemetry Collector من خلال تحميل ملف تهيئة مخصص وتعيين متغير بيئة. وتُدمج التهيئة المخصصة مع التهيئة الأساسية التي يديرها HyperDX عبر OpAMP.أنشئ ملفًا باسمpostgres-logs-monitoring.yaml يتضمن التهيئة التالية:- يقرأ سجلات PostgreSQL بتنسيق CSV من موقعها القياسي
- يتعامل مع مُدخلات السجل متعددة الأسطر (فغالبًا ما تمتد الأخطاء عبر عدة أسطر)
- يحلّل تنسيق CSV مع جميع حقول سجل PostgreSQL القياسية
- يستخرج الطوابع الزمنية للحفاظ على التوقيت الأصلي للسجل
- يضيف السمة
source: postgresqlللتصفية في HyperDX - يوجّه السجلات إلى مُصدِّر ClickHouse عبر مسار معالجة مخصّص
- لا تُعرِّف في الإعداد المخصّص سوى
receiversوpipelinesالجديدة - إن
processors(memory_limiter,transform,batch) وexporters(clickhouse) معرّفة مسبقًا في إعداد ClickStack الأساسي — ما عليك إلا الإشارة إليها بالاسم - يستخرج العامل
csv_parserجميع حقول سجل PostgreSQL القياسية بتنسيق CSV إلى سمات منظَّمة - يستخدم هذا الإعداد
start_at: endلتجنّب إدخال السجلات مجددًا عند إعادة تشغيل المجمّع. ولأغراض الاختبار، غيّره إلىstart_at: beginningلعرض السجلات التاريخية فورًا. - عدّل المسار
includeليتوافق مع موقع دليل سجلات PostgreSQL لديك
هيّئ ClickStack لتحميل إعدادات مخصّصة
لتمكين إعدادات مخصّصة للمجمّع في عملية نشر ClickStack الحالية، يجب عليك:- ربط ملف الإعدادات المخصّص عند
/etc/otelcol-contrib/custom.config.yaml - تعيين متغير البيئة
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - ربط دليل سجلات PostgreSQL لكي يتمكن المجمّع من قراءتها
الخيار 1: Docker Compose
حدّث إعدادات نشر ClickStack:الخيار 2: Docker Run (الصورة المتكاملة)
إذا كنت تستخدم الصورة المتكاملة مع docker run:تأكد من أن جامع ClickStack يملك الأذونات المناسبة لقراءة ملفات سجلات PostgreSQL. في بيئة الإنتاج، استخدم نقاط تحميل للقراءة فقط (
:ro) والتزم بمبدأ أقل الصلاحيات اللازمة.التحقق من السجلات في HyperDX
بعد إتمام الإعداد، سجّل الدخول إلى HyperDX وتأكد من أن السجلات تتدفق:- انتقل إلى عرض البحث
- اضبط المصدر على السجلات
- صفِّ باستخدام
source:postgresqlلعرض السجلات الخاصة بـ PostgreSQL - ينبغي أن ترى سجلات منظَّمة تتضمن حقولًا مثل
user_nameوdatabase_nameوerror_severityوmessageوqueryوغيرها.
مجموعة بيانات تجريبية
التحقق من السجلات في HyperDX
بعد تشغيل ClickStack:- افتح HyperDX وسجّل الدخول إلى حسابك (قد تحتاج إلى إنشاء حساب أولًا)
- انتقل إلى عرض Search واضبط source على
Logs - اضبط النطاق الزمني على 2025-11-09 00:00:00 - 2025-11-12 00:00:00
عرض المنطقة الزمنيةيعرض HyperDX الطوابع الزمنية وفقًا للمنطقة الزمنية المحلية في متصفحك. تغطي البيانات التجريبية الفترة 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC). يضمن اتساع النطاق الزمني ظهور السجلات التجريبية لك بغض النظر عن موقعك. وبعد ظهور السجلات، يمكنك تضييق النطاق إلى فترة 24 ساعة للحصول على تصورات أوضح.
لوحات المعلومات والتصورات المرئية
إعدادات لوحة المعلومات
استيراد لوحة المعلومات الجاهزة مسبقًا
- افتح HyperDX وانتقل إلى قسم Dashboards
- انقر على Import Dashboard في الزاوية العلوية اليمنى ضمن قائمة النقاط الثلاث
- ارفع ملف
postgresql-logs-dashboard.jsonوانقر على Finish Import
عرض لوحة المعلومات
سيتم إنشاء لوحة المعلومات مع ضبط جميع التصورات مسبقًا:بالنسبة إلى مجموعة البيانات التجريبية، اضبط النطاق الزمني على 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC) (عدّله وفقًا لمنطقتك الزمنية المحلية). لن تتضمن لوحة المعلومات المستوردة نطاقًا زمنيًا محددًا افتراضيًا.
استكشاف الأخطاء وإصلاحها
تعذّر تحميل الإعدادات المخصّصة
عدم ظهور سجلات في HyperDX
الخطوات التالية
- أعدّ التنبيهات للأحداث الحرجة (فشل الاتصال، والاستعلامات البطيئة، والارتفاعات المفاجئة في الأخطاء)
- اربط السجلات بـمقاييس PostgreSQL للحصول على مراقبة شاملة لقاعدة البيانات
- أنشئ لوحات معلومات مخصصة لأنماط الاستعلامات الخاصة بتطبيقك
- اضبط
log_min_duration_statementلتحديد الاستعلامات البطيئة بما يتوافق مع متطلبات الأداء لديك