Skip to main content
تمثل Grafana أداة التصور المفضلة لبيانات Observability في ClickHouse. ويتحقق ذلك باستخدام إضافة ClickHouse الرسمية لـ Grafana. يمكنك اتباع تعليمات التثبيت الموجودة هنا. يجعل الإصدار V4 من الإضافة السجلات والتتبعات جزءًا أساسيًا من تجربة جديدة في منشئ الاستعلامات. وهذا يقلل من حاجة مهندسي موثوقية الموقع (SREs) إلى كتابة استعلامات SQL، ويبسّط Observability المعتمدة على SQL، ويدفع هذا النهج الناشئ إلى الأمام. ويتمثل جزء من ذلك في وضع OpenTelemetry (OTel) في صميم الإضافة، لأننا نعتقد أن هذا سيكون أساس Observability المعتمدة على SQL خلال السنوات القادمة، والطريقة التي ستُجمع بها البيانات.

تكامل OpenTelemetry

عند تهيئة مصدر بيانات ClickHouse في Grafana، تتيح الإضافة للمستخدم تحديد قاعدة بيانات وجدول افتراضيين لكل من السجلات والتتبعات، وما إذا كانت هذه الجداول تتوافق مع مخطط OTel. ويتيح ذلك للإضافة إرجاع الأعمدة المطلوبة لعرض السجلات والتتبعات بشكل صحيح في Grafana. وإذا كنت قد أجريت تغييرات على مخطط OTel الافتراضي وتفضّل استخدام أسماء الأعمدة الخاصة بك، فيمكنك تحديدها. ويعني استخدام أسماء أعمدة OTel الافتراضية لأعمدة مثل الوقت (Timestamp) أو مستوى السجل (SeverityText) أو متن الرسالة (Body) أنه لا حاجة إلى إجراء أي تغييرات.
HTTP أو Nativeيمكنك توصيل Grafana بـ ClickHouse عبر بروتوكول HTTP أو البروتوكول Native. ويوفّر الأخير مزايا طفيفة في الأداء، ومن غير المرجّح أن تكون ملحوظة في استعلامات التجميع التي يجريها مستخدمو Grafana. في المقابل، يكون بروتوكول HTTP عادةً أبسط من حيث استخدام proxy وفحصه.
يتطلب إعداد السجلات عمودًا للوقت وعمودًا لمستوى السجل وعمودًا للرسالة كي تُعرض السجلات بشكل صحيح. أما إعداد التتبعات فهو أكثر تعقيدًا قليلًا (القائمة الكاملة هنا). فالأعمدة المطلوبة هنا ضرورية لكي يمكن تجريد الاستعلامات اللاحقة التي تُنشئ ملف تتبّع كاملًا. وتفترض هذه الاستعلامات أن البيانات منظَّمة بطريقة مشابهة لـ OTel، لذا سيحتاج المستخدمون الذين ينحرفون كثيرًا عن المخطط القياسي إلى استخدام views للاستفادة من هذه الميزة. بمجرد اكتمال التهيئة، يمكنك الانتقال إلى Grafana Explore وبدء البحث في السجلات والتتبعات.

السجلات

إذا كنت تلتزم بمتطلبات Grafana الخاصة بالسجلات، يمكنك اختيار Query Type: Log في منشئ الاستعلامات ثم النقر على Run Query. سيُنشئ منشئ الاستعلامات استعلامًا لسرد السجلات والتأكد من عرضها بشكل صحيح، على سبيل المثال.
يوفّر منشئ الاستعلامات طريقة بسيطة لتعديل الاستعلام من دون الحاجة إلى كتابة SQL. كما يمكن إجراء التصفية، بما في ذلك العثور على السجلات التي تحتوي على كلمات مفتاحية، من خلال منشئ الاستعلامات. ويمكن للمستخدمين الذين يرغبون في كتابة استعلامات أكثر تعقيدًا التبديل إلى محرر SQL. وإذا أُعيدت الأعمدة المناسبة وتم اختيار logs بوصفه نوع الاستعلام، فستُعرض النتائج على هيئة سجلات. الأعمدة المطلوبة لعرض السجلات مُدرجة هنا.

من السجلات إلى التتبعات

إذا كانت السجلات تتضمن معرّفات تتبّع، يمكنك الاستفادة من إمكانية الانتقال من سطر سجل معيّن إلى التتبّع المرتبط به.

التتبعات

على غرار تجربة السجلات المذكورة أعلاه، إذا كانت الأعمدة التي يحتاجها Grafana لعرض التتبعات مستوفاة (على سبيل المثال، باستخدام مخطط OTel)، فسيتمكن منشئ الاستعلامات من تكوين الاستعلامات اللازمة تلقائيًا. عند تحديد Query Type: Traces ثم النقر على Run Query، سيُنشأ استعلام مشابه لما يلي ويُنفَّذ (بحسب الأعمدة التي أعددتها، ويفترض المثال التالي استخدام OTel):
يعرض هذا الاستعلام أسماء الأعمدة التي يتوقعها Grafana، مما ينتج عنه جدول للتتبعات كما هو موضح أدناه. ويمكن التصفية حسب المدة أو الأعمدة الأخرى دون الحاجة إلى كتابة SQL. يمكن للمستخدمين الذين يرغبون في كتابة استعلامات أكثر تعقيدًا التبديل إلى SQL Editor.

عرض تفاصيل التتبّع

كما هو موضح أعلاه، تُعرَض معرّفات التتبّع كروابط قابلة للنقر. عند النقر على معرّف تتبّع، يمكن للمستخدم اختيار عرض الـ spans المرتبطة عبر الرابط View Trace. وينفّذ ذلك الاستعلام التالي (بافتراض وجود أعمدة OTel) لاسترجاع الـ spans بالبنية المطلوبة، مع عرض النتائج في مخطط شلالي.
لاحظ أن الاستعلام أعلاه يستخدم العرض المادي otel_traces_trace_id_ts لإجراء بحث عن معرّف التتبّع. راجع تسريع الاستعلامات - استخدام العروض المادية لعمليات البحث لمزيد من التفاصيل.

من التتبّعات إلى السجلات

إذا كانت السجلات تتضمن معرّفات تتبّع، يمكنك الانتقال من تتبّع إلى السجلات المرتبطة به. لعرض السجلات، انقر على معرّف التتبّع ثم اختر View Logs. يؤدي ذلك إلى تنفيذ الاستعلام التالي، بافتراض استخدام أعمدة OTel الافتراضية.

لوحات المعلومات

يمكنك إنشاء لوحات المعلومات في Grafana باستخدام مصدر بيانات ClickHouse. نوصي بالرجوع إلى توثيق مصدر البيانات لكلٍ من Grafana وClickHouse لمزيد من التفاصيل، وخاصة مفهوم وحدات الماكرو والمتغيرات. توفّر الإضافة عدة لوحات معلومات جاهزة، بما في ذلك لوحة معلومات نموذجية بعنوان “Simple ClickHouse OTel dashboarding” لبيانات التسجيل والتتبّع المتوافقة مع مواصفة OTel. ويتطلب ذلك من المستخدمين الالتزام بأسماء الأعمدة الافتراضية الخاصة بـ OTel، ويمكن تثبيت هذه اللوحة من إعدادات مصدر البيانات. نقدّم أدناه بعض النصائح البسيطة لإنشاء التصورات.

السلاسل الزمنية

إلى جانب الإحصاءات، تُعد المخططات الخطية أكثر أشكال التصور شيوعًا في حالات استخدام observability. وستعرض إضافة ClickHouse تلقائيًا مخططًا خطيًا إذا أعاد استعلامٌ عمودًا من نوع datetime باسم time وعمودًا رقميًا. على سبيل المثال:

المخططات متعددة الخطوط

سيتم عرض المخططات متعددة الخطوط تلقائيًا للاستعلام، بشرط استيفاء الشروط التالية:
  • الحقل 1: حقل datetime باسم مستعار هو time
  • الحقل 2: القيمة المطلوب التجميع حسبها. يجب أن تكون من النوع String.
  • الحقل 3+: قيم المقاييس
على سبيل المثال:

تصور البيانات الجغرافية

استعرضنا في أقسام سابقة كيفية إثراء بيانات observability بإحداثيات جغرافية باستخدام قواميس IP. وبافتراض أن لديك العمودين latitude وlongitude، يمكن تصور بيانات observability باستخدام الدالة geohashEncode. وينتج عن ذلك قيم geohash متوافقة مع مخطط Grafana Geo Map. ويظهر أدناه استعلام مثال وتصور له:
آخر تعديل في ٣ يوليو ٢٠٢٦