باختصاراجمع سجلات وصول Nginx (بتنسيق JSON) واعرضها بصريًا في ClickStack باستخدام مستقبل
filelog من OTel. يتضمن مجموعة بيانات تجريبية ولوحة معلومات مُعدّة مسبقًا.التكامل مع Nginx الحالي
المتطلبات الأساسية
- مثيل ClickStack قيد التشغيل
- تثبيت حالي لـ Nginx
- صلاحية تعديل ملفات تهيئة Nginx
إعداد تنسيق سجلات Nginx
أولًا، اضبط Nginx لإخراج السجلات بتنسيق JSON لتسهيل تحليلها. أضف تعريف تنسيق السجلات هذا إلى ملفnginx.conf:يوجد ملف nginx.conf عادةً في:- Linux (apt/yum):
/etc/nginx/nginx.conf - macOS (Homebrew):
/usr/local/etc/nginx/nginx.confأو/opt/homebrew/etc/nginx/nginx.conf - Docker: عادةً ما يُركَّب ملف الإعدادات كـ volume
http:أنشئ إعدادًا مخصصًا لـ OTel collector
يتيح لك ClickStack توسيع الإعداد الأساسي لـ OpenTelemetry Collector من خلال إرفاق ملف إعداد مخصص وتعيين متغير بيئة. ويُدمج هذا الإعداد المخصص مع الإعداد الأساسي الذي يديره HyperDX عبر OpAMP.أنشئ ملفًا باسم nginx-monitoring.yaml بالمحتوى التالي:- يقرأ سجلات Nginx من مواقعها القياسية
- يحلّل إدخالات السجل بتنسيق JSON
- يستخرج الطوابع الزمنية الأصلية للسجل ويحافظ عليها
- يضيف السمة source: Nginx لتسهيل التصفية في HyperDX
- يوجّه السجلات إلى مُصدِّر ClickHouse عبر مسار معالجة مخصّص
- ما عليك سوى تعريف المستقبِلات ومسارات المعالجة الجديدة في التكوين المخصّص
- المعالِجات (memory_limiter وtransform وbatch) والمُصدِّرات (clickhouse) معرّفة بالفعل في تكوين ClickStack الأساسي — ما عليك إلا الإشارة إليها بالاسم
- يستخرج العامل time_parser الطوابع الزمنية من الحقل time_local في Nginx للحفاظ على التوقيت الأصلي للسجل
- توجّه مسارات المعالجة البيانات من المستقبِلات لديك إلى مُصدِّر ClickHouse عبر المعالِجات الحالية
هيّئ ClickStack لتحميل تهيئة مخصصة
لتمكين تهيئة مخصصة للمجمّع في عملية نشر ClickStack الحالية، يجب عليك:- تركيب ملف التهيئة المخصص في /etc/otelcol-contrib/custom.config.yaml
- تعيين متغير البيئة CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
- تركيب أدلة سجلات Nginx لكي يتمكن المجمّع من قراءتها
الخيار 1: Docker Compose
حدّث تهيئة نشر ClickStack لديك:الخيار 2: Docker Run (الصورة الشاملة)
إذا كنت تستخدم الصورة الشاملة مع docker run:تأكد من أن مجمّع ClickStack لديه الأذونات المناسبة لقراءة ملفات سجلات nginx. في بيئة الإنتاج، استخدم نقاط ربط للقراءة فقط (:ro) واتبع مبدأ الحد الأدنى من الامتيازات.
التحقق من السجلات في HyperDX
بعد اكتمال الإعداد، سجّل الدخول إلى HyperDX وتحقق من أن السجلات تتدفّق:- انتقل إلى Search view
- عيّن source إلى Logs، وتحقق من ظهور إدخالات السجل مع حقول مثل request وrequest_time وupstream_response_time وما إلى ذلك.
مجموعة البيانات التجريبية
نزّل مجموعة البيانات التجريبية
- إدخالات سجلات بأنماط حركة مرور واقعية
- نقاط نهاية وطرائق HTTP متنوعة
- مزيجًا من الطلبات الناجحة والأخطاء
- أزمنة استجابة وأعداد بايتات واقعية
شغّل ClickStack باستخدام تهيئة العرض التجريبي
شغّل ClickStack باستخدام سجلات العرض التجريبي وهذه التهيئة:تحقّق من السجلات في HyperDX
بمجرد تشغيل ClickStack:- افتح HyperDX وسجّل الدخول إلى حسابك (قد تحتاج إلى إنشاء حساب أولًا)
- انتقل إلى عرض Search واضبط المصدر على
Logs - اضبط النطاق الزمني على 2025-10-19 11:00:00 - 2025-10-22 11:00:00
عرض المنطقة الزمنيةيعرض HyperDX الطوابع الزمنية وفقًا للمنطقة الزمنية المحلية في متصفحك. تمتد البيانات التجريبية عبر الفترة 2025-10-20 11:00:00 - 2025-10-21 11:00:00 UTC. يضمن النطاق الزمني الواسع ظهور سجلات العرض التجريبي بغض النظر عن موقعك. وبعد ظهور السجلات، يمكنك تضييق النطاق إلى فترة 24 ساعة للحصول على تصورات أوضح.
لوحات المعلومات والتصورات
إعداد لوحة المعلومات
استيراد لوحة المعلومات المُعدّة مسبقًا
- افتح HyperDX وانتقل إلى قسم لوحات المعلومات.
- انقر على “Import Dashboard” في الزاوية العلوية اليمنى ضمن قائمة النقاط الثلاث.
- ارفع ملف nginx-logs-dashboard.json ثم انقر على Finish Import.
ستُنشأ لوحة المعلومات مع تهيئة جميع المرئيات مسبقًا
بالنسبة إلى مجموعة البيانات التجريبية، اضبط النطاق الزمني على 2025-10-20 11:00:00 - 2025-10-21 11:00:00 (UTC) (مع تعديله وفقًا لمنطقتك الزمنية المحلية). لن تتضمن لوحة المعلومات المستوردة نطاقًا زمنيًا محددًا بشكل افتراضي.
استكشاف الأخطاء وإصلاحها
عدم تحميل الإعدادات المخصّصة
- تحقّق من ضبط متغير البيئة CUSTOM_OTELCOL_CONFIG_FILE بشكل صحيح
- تحقّق من أن ملف الإعدادات المخصّص مُثبّت في /etc/otelcol-contrib/custom.config.yaml
- اعرض محتوى ملف الإعدادات المخصص للتحقق من إمكانية قراءته
عدم ظهور السجلات في HyperDX
- تأكد من أن nginx يكتب السجلات بصيغة JSON
- تحقّق من أن المُجمِّع يمكنه قراءة السجلات
- تحقّق من أن التهيئة الفعلية تتضمن مستقبِل filelog
- راجِع سجلات المجمِّع بحثًا عن أخطاء
الخطوات التالية
- أعدّ التنبيهات للمقاييس الحرجة (معدلات الخطأ، عتبات زمن الاستجابة)
- أنشئ لوحات معلومات إضافية لحالات استخدام محددة (مراقبة واجهات برمجة التطبيقات، أحداث الأمان)