pg_stat_ch،
وهي إضافة Postgres مفتوحة المصدر تبث العدادات على مستوى كل عبارة إلى
ClickHouse Cloud. تُطبَّع بيانات القياس عن بُعد داخل Postgres قبل أن تغادر
قاعدة البيانات — تُزال القيم الحرفية وتُستبدل بعلامات نائبة، بحيث لا تدخل
القيم الدقيقة التي تستعلم عنها مطلقًا إلى دفق بيانات القياس عن بُعد.
افتح Query insights
- قسم نظرة عامة يوفّر ملخصًا لحالة قاعدة البيانات في شاشة واحدة.
- جدول الأنماط البطيئة يرتّب كل نمط استعلام شغّلته قاعدة البيانات لديك، ومفرزًا وفقًا لما تشتبه فيه.
- لوحة الاستعلامات الحديثة تسرد عمليات التنفيذ الفردية بترتيب زمني عكسي.
- لوحة اللوحة الجانبية للتفاصيل تجمع كل Counter لنمط واحد.
نظرة عامة
| اللوحة | ما الذي تعرضه |
|---|---|
| الاستعلامات / ثانية | حجم الاستعلامات محسوبًا كمعدل عبر النافذة المحددة. |
| زمن استجابة الاستعلام | متوسط وp50 وp95 وp99 في مخطط واحد، بحيث يمكنك رؤية متى يتباعد الذيل عن الوسيط. |
| تفصيل العمليات | مخطط دائري حلقي يوضح مزيج عمليات SELECT وINSERT وUPDATE وغيرها من العمليات التي يتكوّن منها حمل العمل لديك فعليًا. |
| الصفوف المُعادة / المتأثرة | إجمالي الصفوف التي عالجها حمل العمل خلال النافذة. |
| نسبة إصابة المخزن المؤقت | مخطط دائري حلقي يوضح الكتل المشتركة المصابة مقابل الكتل المشتركة المقروءة، مع إجمالي وقت CPU في وسيلة الإيضاح. |
| الأخطاء | إجمالي عدد الأخطاء، موزعًا بمرور الوقت. |
الأنماط البطيئة
رتّب بحسب ما تشكّ فيه
- إجمالي زمن التشغيل — حيث قضت قاعدة البيانات أكبر قدر من الوقت الفعلي.
- وقت CPU — الأنماط كثيفة المعالجة.
- الاستدعاءات — الأنماط عالية التكرار.
- الأخطاء — الإخفاقات المتكررة.
- متوسط / P50 / P95 / P99 / الحد الأقصى لزمن الاستجابة — القيم الشاذة، بحسب النسبة المئوية.
- الصفوف المُعادة، الكتل المقروءة، الكتل المخدَّمة من الذاكرة المؤقتة، بايتات WAL — الأنماط التي حرّكت أكبر قدر من البيانات عبر المحرك، أو الذاكرة المؤقتة، أو سجل الكتابة المسبقة.
تضييق نطاق الجدول
- قاعدة البيانات
- المستخدم
- العملية (
SELECT,INSERT,UPDATE,DELETE, …) - التطبيق —
application_nameمن سلسلة الاتصال
sales”
تصبح قائمتَي اختيار منسدلتين. وتُملأ قيم التصفية تلقائيًا استنادًا إلى ما
شغّله مثيلك فعليًا.
الاستعلامات الحديثة
اللوحة الجانبية للتفاصيل
- نمط الاستعلام — SQL المُطبَّع مع استبدال القيم الحرفية بـ
$1،$2، … وزر للنسخ إلى الحافظة. - الاستخدام المُجمَّع للموارد — شبكة من 13 بطاقة إحصائية تغطي إجمالي الاستدعاءات، ومتوسط/P95/P99/الحد الأقصى لزمن الاستجابة، وإجمالي زمن التشغيل، والصفوف المُعادة، ونسبة إصابة الذاكرة المؤقتة، والكتل المقروءة، والكتل الموجودة في ذاكرة التخزين المؤقت، ووقت CPU، وبايتات WAL، والأخطاء.
- سياق الاستعلام — قاعدة البيانات، والمستخدم، والعملية، والتطبيق الذي صدر عنه هذا النمط.
- التنفيذات البارزة — الأخطاء، وعمليات التشغيل البطيئة بشكل غير معتاد، والتنفيذات ذات النتائج الكبيرة، وتظهر قبل القائمة الكاملة للتنفيذات الأخيرة.
- التنفيذات الأخيرة — عمليات التشغيل الفردية للنمط نفسه، مع عدادات لكل تنفيذ.
العدادات لكل تنفيذ
- الكتل المشتركة — يظهر دائمًا كلٌّ من القراءة والإصابات؛ وتظهر الكتابة والتعليم كمتّسخة عندما لا تكون القيم صفرية.
- عمليات الكتل المحلية والمؤقتة — تشير قيم عمليات الكتل المؤقتة غير الصفرية إلى أن عملية sort أو hash قد نُقلت إلى القرص.
- وقت القراءة / الكتابة — وقت I/O، منفصلًا عن وقت CPU.
- وقت CPU — وقت المستخدم ووقت النظام، كلٌّ على حدة.
- العاملون المتوازيون — العدد المخطَّط له مقابل العدد الذي أُطلق فعليًا.
- JIT — إجمالي وقت تجميع JIT وعدد الدوال.
- WAL — عدد البايتات وعدد السجلات.
واجهة برمجة تطبيقات Query insights
آلية العمل
تُطبَّع في Postgres قبل الإرسال عبر الشبكة
pg_stat_ch مرحلة التحليل النحوي والدلالي، ويستبدل كل قيمة حرفية بعنصر نائب
($1, $2, …)، ويخزّن النمط الناتج مؤقتًا في ذاكرة LRU خاصة بكل backend
ومفهرسة بواسطة queryid. وعندما ينتهي المنفّذ من تنفيذ التعليمة، يكون ذلك
النمط المخزَّن مؤقتًا هو ما يُرفق بالحدث. ولا تغادر التعليمة الفعلية مع القيم
قاعدة البيانات مطلقًا.
من دون إعاقة قاعدة البيانات
أحداث أولية، لا بيانات مجمّعة
pg_stat_ch حدثًا أوليًا واحدًا لكل تعليمة مُنفَّذة (على المستوى الأعلى
والمتداخلة)، مع مراعاة أخذ العينات. وكل مئين وترتيب وتفصيل
في واجهة المستخدم هو استعلام في ClickHouse على تدفّق الأحداث نفسه.
نفس المحرك الذي يستخدمه عملاؤنا
مفتوح المصدر
pg_stat_ch مرخّص بموجب Apache 2.0. شغِّله مع أي Postgres، وأرسل البيانات إلى أي
ClickHouse. الكود المصدري وتقارير المشكلات متاحة على
github.com/clickhouse/pg_stat_ch.
- لوحة معلومات المراقبة — مخططات مدمجة للموارد والنشاط
- نقطة نهاية Prometheus — اجمع مقاييس على مستوى المضيف إلى حزمة observability الخاصة بك
- Managed Postgres OpenAPI — استعلم برمجيًا عن الأنماط البطيئة وعمليات التنفيذ الأخيرة
- الامتدادات — الامتدادات المتاحة على مثيلات Managed Postgres
pg_stat_chon GitHub — الامتداد مفتوح المصدر الذي يدعم Query Insights