باختصاراجمع سجلات خادم Redis واستعرضها بصريًا في ClickStack باستخدام receiver OTel
filelog. يتضمن ذلك مجموعة بيانات تجريبية ولوحة معلومات جاهزة مسبقًا.التكامل مع Redis الحالي
المتطلبات الأساسية
- مثيل ClickStack قيد التشغيل
- وجود Redis مثبّت (الإصدار 3.0 أو أحدث)
- الوصول إلى ملفات سجل Redis
1
تحقّق من إعدادات تسجيل Redis
أولاً، تحقّق من إعدادات تسجيل Redis لديك. اتصل بـ Redis وتحقّق من مسار ملف السجل:- Linux (apt/yum):
/var/log/redis/redis-server.log - macOS (Homebrew):
/usr/local/var/log/redis.log - Docker: غالبًا ما تُسجَّل السجلات في
stdout، لكن يمكن تهيئته للكتابة إلى/data/redis.log
stdout، فقم بتهيئته للكتابة إلى ملف عبر تحديث redis.conf:2
أنشئ تهيئة مخصصة لـ OTel collector
يتيح لك ClickStack توسيع تهيئة OpenTelemetry Collector الأساسية عبر إرفاق ملف تهيئة مخصص وتعيين متغير بيئة. وتُدمَج هذه التهيئة المخصصة مع التهيئة الأساسية التي يديرها HyperDX عبر OpAMP.أنشئ ملفًا باسمredis-monitoring.yaml بالتكوين التالي:- يقرأ سجلات Redis من موقعها القياسي
- يحلّل تنسيق سجلات Redis باستخدام Regex لاستخراج الحقول المنظَّمة (
pid,role,timestamp,log_level,message) - يضيف السمة
source: redisلتسهيل التصفية في HyperDX - يوجّه السجلات إلى مُصدِّر ClickHouse عبر خط أنابيب مخصّص
- ما عليك سوى تعريف receivers وخطوط الأنابيب الجديدة في الإعداد المخصّص
- إن المعالجات (
memory_limiter,transform,batch) والمُصدِّرات (clickhouse) معرّفة مسبقًا في إعداد ClickStack الأساسي، وما عليك إلا الإشارة إليها بالاسم - يستخرج المشغّل
time_parserالطوابع الزمنية من سجلات Redis للحفاظ على توقيتها الأصلي - يستخدم هذا الإعداد
start_at: beginningلقراءة جميع السجلات الموجودة عند بدء تشغيل المُجمِّع، ما يتيح لك رؤية السجلات فورًا. أمّا في عمليات النشر في بيئات الإنتاج، حيث تريد تجنّب إعادة إدخال السجلات عند إعادة تشغيل المُجمِّع، فغيّره إلىstart_at: end.
3
تهيئة ClickStack لتحميل إعدادات مخصّصة
لتمكين إعدادات المجمِّع المخصّصة في عملية نشر ClickStack الحالية لديك، يجب عليك:- تحميل ملف الإعدادات المخصّص إلى
/etc/otelcol-contrib/custom.config.yaml - تعيين متغيّر البيئة
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - تحميل دليل سجلات Redis لديك حتى يتمكّن المجمِّع من قراءتها
الخيار 1: Docker Compose
حدّث إعدادات نشر ClickStack لديك:الخيار 2: Docker Run (الصورة الشاملة)
إذا كنت تستخدم الصورة الشاملة مع Docker، فشغّل:تأكد من أن مجمّع ClickStack لديه الأذونات المناسبة لقراءة ملفات سجلات Redis. في بيئة الإنتاج، استخدم نقاط تركيب للقراءة فقط (
:ro) واتبع مبدأ أقل الصلاحيات.4
التحقق من السجلات في HyperDX
بعد إكمال الإعداد، سجّل الدخول إلى HyperDX وتحقّق من أن السجلات تصل كما ينبغي:مجموعة البيانات التجريبية
1
2
3
تشغيل ClickStack باستخدام الإعداد التجريبي
شغّل ClickStack باستخدام السجلات والإعداد التجريبي:يؤدي ذلك إلى ربط ملف السجل مباشرةً داخل الحاوية. ويُستخدم هذا لأغراض الاختبار مع بيانات تجريبية ثابتة.
التحقق من السجلات في HyperDX
بعد تشغيل ClickStack:- افتح HyperDX وسجّل الدخول إلى حسابك (قد تحتاج أولًا إلى إنشاء حساب)
- انتقل إلى Search view واضبط source على
Logs - اضبط time range على 2025-10-26 10:00:00 - 2025-10-29 10:00:00
عرض المنطقة الزمنيةيعرض HyperDX الطوابع الزمنية بحسب المنطقة الزمنية المحلية في متصفحك. تمتد البيانات التجريبية عبر 2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC). يضمن النطاق الزمني الواسع ظهور السجلات التجريبية بغض النظر عن موقعك. وبعد ظهور السجلات، يمكنك تضييق النطاق إلى فترة 24 ساعة للحصول على مرئيات أوضح.
لوحات المعلومات والتصورات
1
إعدادات لوحة المعلومات
2
استيراد لوحة معلومات مُعدّة مسبقًا
- افتح HyperDX وانتقل إلى قسم لوحات المعلومات.
- انقر على “استيراد لوحة معلومات” في الزاوية العلوية اليمنى ضمن قائمة النقاط الثلاث.
- ارفع ملف redis-logs-dashboard.json ثم انقر على إنهاء الاستيراد.
3
ستُنشأ لوحة المعلومات مع تهيئة جميع التصورات مسبقًا
بالنسبة إلى مجموعة البيانات التجريبية، اضبط النطاق الزمني على 2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC) (عدّله وفقًا لمنطقتك الزمنية المحلية). لن تتضمن لوحة المعلومات المستوردة نطاقًا زمنيًا محددًا افتراضيًا.
استكشاف الأخطاء وإصلاحها
عدم تحميل إعدادات مخصّصة
عدم ظهور سجلات في HyperDX
السجلات لا تُحلَّل على نحو صحيح
regex_parser. التنسيق القياسي هو:
pid:role timestamp level message- مثال:
12345:M 28 Oct 2024 14:23:45.123 * Server started
الخطوات التالية
- أعدّ التنبيهات للمقاييس المهمة (معدلات الخطأ، عتبات زمن الاستجابة)
- أنشئ لوحات معلومات إضافية لحالات استخدام محددة (مراقبة واجهة برمجة التطبيقات، أحداث الأمان)