إرسال البيانات عبر Vector
- ClickStack المُدار
- ClickStack مفتوح المصدر
يفترض هذا الدليل أنك أنشأت بالفعل خدمة Managed ClickStack ودوّنت بيانات اعتماد الخدمة. إن لم تكن قد فعلت ذلك، اتّبع دليل البدء الخاص بـ Managed ClickStack حتى تصل إلى خطوة ضبط إعدادات Vector.أنشئ جدولًا لبياناتك. يجب أن يتطابق هذا مع مخطط إخراج بياناتك. يفترض المثال أدناه بنية Nginx تقليدية. عدّل ذلك بما يتناسب مع بياناتك، مع الالتزام بـأفضل ممارسات المخطط. نحن نوصي بشدة بالاطلاع على مفهوم المفاتيح الأساسية، واختيار مفتاحك الأساسي استنادًا إلى الإرشادات الموضحة هنا.افتراضيًا، نوصي باستخدام تنسيق
أنشئ قاعدة بيانات وجدولًا
يتطلب Vector تعريف جدول ومخطط قبل بدء استيعاب البيانات.أنشئ أولًا قاعدة بيانات. ويمكن القيام بذلك عبر ClickHouse Cloud console.في المثال أدناه، نستخدمlogs:المفتاح الأساسي لـ Nginxيفترض المفتاح الأساسي أعلاه أنماط الوصول المعتادة في واجهة ClickStack لسجلات Nginx، لكن قد يلزم تعديله بحسب حمل العمل لديك في بيئات الإنتاج.
أضِف وجهة ClickHouse إلى إعدادات Vector
عدّل إعدادات Vector لتشمل وجهة ClickHouse، مع تحديث الحقلinputs لاستقبال الأحداث من خطوط المعالجة الحالية لديك.يفترض هذا الإعداد أن خط المعالجة السابق في Vector لديك قد هيّأ البيانات بالفعل لتتوافق مع مخطط ClickHouse المستهدف، أي إن الحقول قد تم تحليلها وتسميتها بشكل صحيح وتحديد أنواعها بما يناسب الإدراج. راجع مثال Nginx أدناه للاطلاع على شرح كامل لكيفية تحليل أسطر السجل الخام وتطبيعها إلى مخطط مناسب لـ ClickStack.json_each_row، الذي يرمّز كل حدث باعتباره كائن JSON واحدًا لكل صف. وهذا هو التنسيق الافتراضي والموصى به في ClickStack عند استيعاب بيانات JSON، ويُفضَّل على التنسيقات البديلة مثل كائنات JSON المرمّزة كسلاسل نصية.كما تدعم وجهة ClickHouse أيضًا ترميز Arrow stream (وهو حاليًا في مرحلة تجريبية). وقد يوفّر هذا معدل نقل أعلى، لكنه يفرض قيودًا مهمة: يجب أن تكون قاعدة البيانات والجدول ثابتين، لأن المخطط يُجلَب مرة واحدة فقط عند بدء التشغيل، كما أن التوجيه الديناميكي غير مدعوم. لذلك، يُعد ترميز Arrow الأنسب لخطوط استيعاب ثابتة ومحددة بوضوح.نوصي بمراجعة خيارات تهيئة الوجهة المتاحة في توثيق Vector:يستخدم المثال أعلاه المستخدم default في Managed ClickStack. أما في عمليات النشر على بيئة الإنتاج، فنوصي بإنشاء مستخدم استيعاب مخصص مع الأذونات والحدود المناسبة.
الانتقال إلى واجهة ClickStack
انتقل إلى خدمة Managed ClickStack الخاصة بك، ثم اختر “ClickStack” من القائمة الجانبية اليسرى. إذا كنت قد أكملت الإعداد الأولي بالفعل، فسيؤدي ذلك إلى فتح واجهة ClickStack في علامة تبويب جديدة، وستتم مصادقتك تلقائيًا. وإذا لم تكن قد أكملت ذلك بعد، يمكنك متابعة الإعداد الأولي واختيار “Launch ClickStack” بعد تحديد Vector كمصدر للإدخال.إنشاء مصدر بيانات
أنشئ مصدر بيانات للسجلات. إذا لم تكن هناك أي مصادر بيانات، فسيُطلب منك إنشاء واحد عند تسجيل الدخول لأول مرة. وإلا، فانتقل إلى إعدادات الفريق وأضف مصدر بيانات جديدًا.يفترض هذا التكوين أعلاه مخططًا بأسلوب Nginx، مع استخدام العمودtime_local كطابع زمني. وينبغي، حيثما أمكن، أن يكون هذا هو عمود الطابع الزمني المعرَّف في المفتاح الأساسي. هذا العمود مطلوب.كما نوصي بتحديث Default SELECT لتحديد الأعمدة التي تُعرَض في عرض السجلات بشكل صريح. وإذا كانت هناك حقول إضافية متاحة، مثل اسم الخدمة أو مستوى السجل أو عمود Body، فيمكن أيضًا تهيئتها. ويمكن كذلك تجاوز عمود عرض الطابع الزمني إذا كان مختلفًا عن العمود المستخدم في المفتاح الأساسي للجدول والمُهيأ أعلاه.في المثال أعلاه، لا يحتوي البيانات على عمود Body. وبدلًا من ذلك، يُعرَّف باستخدام تعبير SQL يعيد تكوين سطر سجل Nginx من الحقول المتاحة.لخيارات أخرى ممكنة، راجع مرجع التكوين.استكشاف البيانات
انتقل إلى عرض السجلات لاستكشاف البيانات والبدء في استخدام ClickStack.مجموعة بيانات تجريبية باستخدام Vector
- ClickStack المُدار
- ClickStack مفتوح المصدر
يفترض هذا الدليل أنك أنشأت بالفعل خدمة Managed ClickStack ودوّنت بيانات اعتماد الخدمة. إن لم تكن قد فعلت ذلك، اتّبع دليل البدء الخاص بـ Managed ClickStack حتى تصل إلى خطوة تهيئة Vector.أنشئ جدولًا لبياناتك.يعيد هذا بناء سطر السجل من الحقول المنظَّمة.للاطلاع على الخيارات الأخرى المتاحة، راجع مرجع التهيئة.
تثبيت Vector
قبل المتابعة، تأكد من تثبيت Vector على النظام الذي تنوي تشغيل مسار إدخال البيانات عليه. اتبع دليل تثبيت Vector الرسمي لتثبيت ملف تنفيذي مُسبق البناء أو حزمة مناسبة لبيئتك:بعد التثبيت، تحقّق من أن الملف التنفيذيvector متاح في متغير PATH قبل متابعة خطوات الإعداد أدناه.يمكن تثبيت هذا على نفس المثيل الذي يعمل عليه ClickStack OTel collector.اتبع أفضل الممارسات المتعلقة بالبنية والأمان عند نقل Vector إلى بيئة الإنتاج.نزّل عيّنة البيانات
إذا كنت ترغب في تجربة مجموعة بيانات نموذجية، فنزّل عينة nginx التالية.جُمعت هذه البيانات من مثيل Nginx مُهيّأ لإخراج السجلات بتنسيق JSON لتسهيل تحليلها. للاطلاع على إعداد Nginx لهذه السجلات، راجع “مراقبة سجلات Nginx باستخدام ClickStack”.
أنشئ قاعدة بيانات وجدولًا
يتطلب Vector تعريف جدول ومخطط قبل إدخال البيانات.أنشئ أولًا قاعدة بيانات. يمكن إجراء ذلك عبر ClickHouse Cloud console.أنشئ قاعدة بياناتlogs:المفتاح الأساسي لـ Nginxيفترض المفتاح الأساسي المذكور أعلاه أنماط الوصول المعتادة في واجهة ClickStack لسجلات Nginx، لكنه قد يحتاج إلى تعديل وفقًا لحمل العمل لديك في بيئات الإنتاج.
انسخ تهيئة Vector
انسخ تهيئة Vector وأنشئ ملفًا باسمnginx.yaml، مع ضبط CLICKHOUSE_ENDPOINT وCLICKHOUSE_PASSWORD.يستخدم المثال أعلاه المستخدم default في Managed ClickStack. بالنسبة إلى عمليات النشر في بيئة الإنتاج، نوصي بإنشاء مستخدم مخصص للإدخال مع الأذونات والحدود المناسبة.
انتقل إلى واجهة مستخدم ClickStack
انتقل إلى خدمة Managed ClickStack الخاصة بك وحدد “ClickStack” من القائمة الموجودة على الجانب الأيسر. إذا كنت قد أكملت بالفعل عملية التهيئة، فسيؤدي ذلك إلى فتح واجهة مستخدم ClickStack في علامة تبويب جديدة، وستتم مصادقتك تلقائيًا. وإذا لم تكن قد أكملت ذلك بعد، فيمكنك متابعة عملية التهيئة وتحديد “Launch ClickStack” بمجرد اختيار Vector كمصدر للإدخال.إنشاء مصدر بيانات
أنشئ مصدر بيانات للسجلات. إذا لم تكن هناك أي مصادر بيانات، فسيُطلب منك إنشاء واحد عند أول تسجيل دخول. بخلاف ذلك، انتقل إلى إعدادات الفريق وأضف مصدر بيانات جديدًا.يفترض هذا الإعداد مخطط Nginx مع استخدام العمودtime_local كطابع زمني. وهذا هو عمود الطابع الزمني المصرَّح به في المفتاح الأساسي. هذا العمود إلزامي.لقد حدّدنا أيضًا عبارة SELECT الافتراضية لتكون time_local, remote_addr, status, request، ما يحدّد الأعمدة التي تُعرض في عرض السجلات.في المثال أعلاه، لا يوجد عمود Body في البيانات. وبدلًا من ذلك، يُعرَّف على أنه تعبير SQL:استكشاف البيانات
انتقل إلى عرض البحث ليومOctober 20th, 2025 لاستكشاف البيانات وبدء استخدام ClickStack.