ProbeDeck هو عميل لنظامَي iOS وiPadOS للتحقق من سلامة خادم ClickHouse، وفحص
جداول system، وتشغيل استعلامات SQL. يتصل بواجهة ClickHouse HTTP عبر شبكة الجهاز
أو من خلال مضيف bastion عبر SSH؛ ولا يتطلب خادم ترحيل.
قبل البدء
- ثبّت ProbeDeck من App Store.
- استخدم iOS أو iPadOS 17.0 أو إصدارًا أحدث.
- اسمح للجهاز بالوصول إلى نقطة نهاية ClickHouse عبر HTTP أو HTTPS من خلال شبكته أو شبكة VPN أو مضيف bastion عبر SSH.
- أنشئ مستخدم ClickHouse لديه حق الوصول إلى قواعد البيانات التي تريد الاستعلام عنها.
- امنح المستخدم صلاحية
SELECTعلى جداولsystemذات الصلة لأغراض المراقبة.
| ProbeDeck | ClickHouse Cloud | ClickHouse المستضاف ذاتيًا | ملاحظات |
|---|---|---|---|
| 1.1.7 أو أحدث | الخدمة الحالية | لا يوجد حد أدنى ثابت لإصدار الخادم | يستخدم واجهة HTTP(S). اختبر الاتصال وتحقق من كل قسم للمراقبة وفقًا لإصدار الخادم والصلاحيات الممنوحة لديك. |
تعتمد بعض أقسام المراقبة على جداول السجل الاختيارية أو جداول النظام الأحدث. على سبيل المثال،
يتطلب system.server_settings، الذي يستخدمه ProbeDeck لمعرفة حد الذاكرة المُهيأ، ClickHouse
23.3 أو إصدارًا أحدث. يضع ProbeDeck علامة «محدود» على القسم المتأثر عندما يكون مصدره غير متاح.
آلية العمل
- يرسل ProbeDeck طلبات SQL إلى نقطة نهاية ClickHouse عبر HTTP(S).
- يقرأ بيانات المراقبة من جداول
systemباستخدام مستخدم ClickHouse المُهيأ. - يعرض التطبيق نتائج الاستعلام وعروض المراقبة على الجهاز. ويمكن لمضيف bastion عبر SSH تمرير اتصال HTTP(S) نفسه عندما لا يتوفر مسار مباشر إلى نقطة النهاية من الجهاز.
الاتصال بـ ClickHouse Cloud
جمع تفاصيل الاتصال بالخدمة
في وحدة تحكم ClickHouse Cloud، افتح خدمتك، واختر Connect، ثم اختر HTTPS.
للاتصال بـ ClickHouse باستخدام HTTP(S)، تحتاج إلى المعلومات التالية:
| المعلمات | الوصف |
|---|---|
HOST and PORT |
عادةً ما يكون المنفذ 8443 عند استخدام TLS، أو 8123 عند عدم استخدام TLS. |
DATABASE NAME |
افتراضيًا، توجد قاعدة بيانات باسم default. استخدم اسم قاعدة البيانات التي تريد الاتصال بها. |
USERNAME and PASSWORD |
افتراضيًا، يكون اسم المستخدم default. استخدم اسم المستخدم المناسب لحالة الاستخدام لديك. |
تتوفر تفاصيل خدمة ClickHouse Cloud الخاصة بك في ClickHouse Cloud console. حدِّد خدمة ثم انقر على Connect:

اختر HTTPS. ستظهر تفاصيل الاتصال في مثال لأمر curl.

إذا كنت تستخدم ClickHouse مُدارًا ذاتيًا، فسيُحدِّد مسؤول ClickHouse لديك تفاصيل الاتصال.
إضافة اتصال في ProbeDeck
- في شاشة اتصال، اضغط على +.
- أدخل اسمًا للاتصال واسم المضيف من دون
https://. - اضبط Port على
8443وفعّل TLS. - أدخل اسم مستخدم قاعدة البيانات وكلمة المرور من مربع الحوار Connect. اسم قاعدة البيانات اختياري.
- اضغط على اختبار الاتصال. يعرض ProbeDeck إصدار الخادم وزمن الرحلة ذهابًا وإيابًا بعد نجاح التحقق.
- اضغط على حفظ.
يُصادق ProbeDeck طلبات SQL المرسلة إلى نقطة نهاية الخدمة باستخدام بيانات اعتماد قاعدة البيانات هذه. يستخدم ClickHouse Cloud مفاتيح على مستوى المؤسسة من صفحة API Keys لواجهة برمجة تطبيقات Cloud ونقاط نهاية واجهة برمجة تطبيقات الاستعلام. ولا يستخدم مسار اتصال SQL في ProbeDeck هذه المفاتيح.

الاتصال بـ ClickHouse المستضاف ذاتيًا
اختيار نقطة نهاية HTTP
استخدم المنفذ 8123 لواجهة HTTP الافتراضية غير المشفّرة. لاستخدام HTTPS، فعّل TLS واستخدم
المنفذ المهيأ على خادمك؛ ويُعد 8443 خيارًا شائعًا.
إضافة الاتصال واختباره
- في شاشة الاتصالات، اضغط على +.
- أدخل مضيف الخادم من دون مخطط URL.
- اضبط منفذ HTTP(S) وخيار TLS.
- أدخل اسم مستخدم ClickHouse وكلمة المرور وقاعدة البيانات الاختيارية.
- اضغط على اختبار الاتصال، ثم حفظ.
بالنسبة إلى خادم على الشبكة المحلية، قد يطلب iOS إذن الوصول إلى الشبكة المحلية. وصّل الجهاز أولًا بشبكة VPN الخاصة به إذا كانت نقطة النهاية متاحة فقط من شبكة الشركة.
الاتصال عبر مضيف Bastion لـ SSH
فعّل SSH Tunnel في نموذج الاتصال وأدخل:
- مضيف Bastion ومنفذ SSH (الافتراضي هو
22). - اسم مستخدم SSH.
- إما كلمة مرور SSH أو مفتاحًا خاصًا.
يفتح ProbeDeck قناة SSH من نوع direct-tcpip من مضيف Bastion إلى مضيف ClickHouse ومنفذ HTTP(S)
في قسم Server. عند الاتصال لأول مرة، قارن بصمة مفتاح مضيف Bastion بتنسيق SHA-256
بالقيمة التي يزوّدك بها مسؤول الخادم قبل قبولها.
تهيئة المصادقة وTLS
يرسل ProbeDeck اسم مستخدم قاعدة البيانات وكلمة المرور في ترويسات الطلب X-ClickHouse-User و
X-ClickHouse-Key. ولا يضع بيانات الاعتماد في عنوان URL.
لاستخدام TLS المتبادل، فعّل TLS Client Certificate واستورد ملف PKCS#12 (.p12) يحتوي على
شهادة العميل ومفتاحه الخاص، ثم أدخل عبارة المرور الخاصة به.
عندما تعرض نقطة نهاية مستضافة ذاتيًا شهادة موقعة ذاتيًا أو شهادة صادرة عن CA خاصة، يعرض ProbeDeck بصمة SHA-256 والجهة المُصدِرة والموضوع وفترة الصلاحية. قارن البصمة بالقيمة التي يقدمها مسؤول الخادم قبل قبولها. يربط ProbeDeck هذا القرار بذلك الاتصال؛ ويؤدي تغيير الشهادة إلى إيقاف الاتصال حتى تراجعه.
يخزن ProbeDeck أسرار الاتصال ومواد المفاتيح المستوردة في سلسلة مفاتيح iOS على الجهاز.
مراقبة ClickHouse
افتح الاتصال المحفوظ واختر المراقبة. تعرض لوحة المعلومات ملخصًا للمصادر التالية:
| المجال | مصدر ClickHouse |
|---|---|
| الاستعلامات قيد التشغيل، والوقت المنقضي، والذاكرة، والصفوف المقروءة | system.processes |
| حالة النسخ المتماثل وقائمة الانتظار | system.replicas, system.replication_queue |
| الأقراص، والأجزاء، وعمليات الدمج | system.disks, system.parts, system.merges |
| الطفرات | system.mutations |
| مقاييس الذاكرة والخادم | system.metrics, system.asynchronous_metrics, system.server_settings |
| المعدلات السابقة للاستعلامات والأقراص | system.metric_log, system.asynchronous_metric_log |

انقر على الاستعلامات قيد التشغيل لفرز الاستعلامات النشطة حسب الوقت المنقضي، وفحص الذاكرة والصفوف المقروءة.

الاستعلام عن مجموعة بيانات UK Property Price
يستخدم هذا المثال مجموعة بيانات UK Property Price.
حمّل مجموعة البيانات إلى uk_price_paid، ثم:
- افتح الاتصال واختر البيانات.
- افتح محرر SQL.
- شغّل هذا الاستعلام المحدود والقراءة فقط:
SELECT
town,
count() AS sales,
round(avg(price)) AS average_price
FROM uk_price_paid
GROUP BY town
ORDER BY sales DESC
LIMIT 10يجب أن تتضمن النتيجة عشر بلدات مع عدد المعاملات ومتوسط الأسعار لكل منها.
القيود المعروفة
- يعمل ProbeDeck على نظامَي iOS وiPadOS بالإصدار 17.0 أو أحدث.
- يمكن للمستخدمين المجانيين حفظ اتصال واحد في كل مرة. ويؤدي حذفه إلى إتاحة الخانة؛ بينما يتيح ProbeDeck Pro عددًا غير محدود من الاتصالات المحفوظة.
- يدعم واجهة ClickHouse عبر HTTP(S)، وليس البروتوكول الأصلي.
- يحمّل ProbeDeck نتائج SQL على صفحات تضم 200 صف، ويحدّ كل طلب بـ 10,000 صف. استخدم
عبارة
WHEREانتقائية وLIMITللجداول الكبيرة. - تعتمد إمكانية الوصول إلى Monitoring على أذونات مستخدم ClickHouse وعلى جداول السجل الاختيارية.
- يحتاج الجهاز إلى مسار للوصول إلى نقطة النهاية عبر شبكته أو VPN أو نفق SSH المدمج.
- لا يتطلب Monitoring وSQL للقراءة فقط عملية شراء داخل التطبيق. تتطلب
KILL QUERYوKILL MUTATION، وعبارات الكتابة وDDL، والإجراءات التشغيلية الأخرى ProbeDeck Pro.
استكشاف الأخطاء وإصلاحها
فشلت المصادقة
انسخ اسم مستخدم قاعدة البيانات وكلمة المرور مجددًا. بالنسبة إلى نقطة نهاية خدمة ClickHouse Cloud، استخدم بيانات اعتماد قاعدة البيانات من مربع الحوار Connect الخاص بالخدمة. لا تستخدم بدلًا منها مفتاحًا على مستوى المؤسسة من صفحة API Keys في ClickHouse Cloud.
رُفض الاتصال أو انتهت مهلته
تأكد من أن الجهاز يستطيع الوصول إلى المضيف ومنفذ HTTP(S). تحقق من قائمة عناوين IP المسموح لها بالوصول في Cloud، وشبكة VPN،
وجدار الحماية، وتعيين المنافذ. لا تستخدم منافذ البروتوكول الأصلي 9000 أو 9440.
يعرض Monitoring أذونات محدودة
لا يستطيع مستخدم ClickHouse قراءة جدول واحد أو أكثر من جداول system المطلوبة. اطلب من مسؤول الخادم
الحد الأدنى من أذونات SELECT اللازمة لأقسام المراقبة التي تنوي استخدامها، ثم أعد الاتصال.
تغيرت بصمة TLS
اطلب من مسؤول الخادم تأكيد تدوير الشهادة قبل قبول البصمة الجديدة. قد يشير التغيير غير المتوقع إلى نقطة نهاية مختلفة أو مسار اعتراض TLS.
الخطوات التالية
- اطّلع على موقع ProbeDeck الإلكتروني للحصول على تفاصيل خاصة بالمنتج.
- اطّلع على وثائق واجهة ClickHouse HTTP لمعرفة إعدادات الخادم.