باختصارراقب مقاييس أداء Redis في ClickStack باستخدام مستقبِل Redis في OTel. يتضمن مجموعة بيانات تجريبية ولوحة معلومات معدّة مسبقًا.
التكامل مع Redis الحالي
المتطلبات الأساسية
- مثيل ClickStack قيد التشغيل
- تثبيت Redis موجود بالفعل (الإصدار 3.0 أو أحدث)
- إمكانية وصول شبكي من ClickStack إلى Redis (المنفذ الافتراضي 6379)
- كلمة مرور Redis إذا كانت المصادقة مفعّلة
تحقّق من الاتصال بـ Redis
أولًا، تحقّق من أنك تستطيع الاتصال بـ Redis وأن الأمر INFO يعمل:- التثبيت المحلي:
localhost:6379 - Docker: استخدم اسم الحاوية أو اسم الخدمة (مثلًا،
redis:6379) - عن بُعد:
<redis-host>:6379
أنشئ إعدادًا مخصصًا لـ OTel collector
يتيح لك ClickStack توسيع الإعداد الأساسي لـ OpenTelemetry collector من خلال تحميل ملف إعداد مخصص وتعيين متغير بيئة. ويُدمج الإعداد المخصص مع الإعداد الأساسي الذي يديره HyperDX عبر OpAMP.أنشئ ملفًا باسمredis-metrics.yaml بالإعداد التالي:redis-metrics.yaml
- يتصل بـ Redis على
localhost:6379(عدّل نقطة النهاية بما يناسب بيئتك) - يجمع المقاييس كل 10 ثوانٍ
- يجمع مقاييس الأداء الرئيسية (الأوامر، والعملاء، والذاكرة، وإحصاءات مساحة المفاتيح)
- يعيّن سمة المورد
service.nameالمطلوبة وفقًا لـ OpenTelemetry semantic conventions - يوجّه المقاييس إلى مُصدّر ClickHouse عبر مسار معالجة مخصص
redis.commands.processed- عدد الأوامر التي تمت معالجتها في الثانيةredis.clients.connected- عدد العملاء المتصلينredis.clients.blocked- العملاء المحجوبون بسبب الاستدعاءات الحاجزةredis.memory.used- الذاكرة التي يستخدمها Redis بالبايتredis.memory.peak- ذروة استخدام الذاكرةredis.keyspace.hits- عمليات البحث الناجحة عن المفاتيحredis.keyspace.misses- عمليات البحث الفاشلة عن المفاتيح (لاحتساب معدل إصابات cache)redis.keys.expired- المفاتيح التي انتهت صلاحيتهاredis.keys.evicted- المفاتيح التي أُزيلت بسبب ضغط الذاكرةredis.connections.received- إجمالي الاتصالات المستلَمةredis.connections.rejected- الاتصالات المرفوضة
- ما عليك سوى تعريف receivers وprocessors وpipelines جديدة في الإعداد المخصص
- إن معالجي
memory_limiterوbatchومُصدّرclickhouseمعرّفة بالفعل في إعداد ClickStack الأساسي، وما عليك إلا الرجوع إليها بالاسم - يعيّن معالج
resourceسمةservice.nameالمطلوبة وفقًا لـ OpenTelemetry semantic conventions - في بيئات production التي تستخدم authentication، خزّن كلمة المرور في متغير بيئة:
${env:REDIS_PASSWORD} - عدّل
collection_intervalوفقًا لاحتياجاتك (القيمة الافتراضية 10 ثوانٍ؛ والقيم الأقل تزيد حجم البيانات) - عند استخدام عدة نُسخ من Redis، خصّص
service.nameللتمييز بينها (مثل:"redis-cache"و"redis-sessions")
تكوين ClickStack لتحميل إعدادات مخصصة
لتمكين إعدادات المجمّع المخصصة في عملية نشر ClickStack الحالية، يجب عليك:- تركيب ملف الإعدادات المخصص في
/etc/otelcol-contrib/custom.config.yaml - تعيين متغير البيئة
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - التأكد من توفر اتصال شبكي بين ClickStack وRedis
الخيار 1: Docker Compose
حدّث تكوين نشر ClickStack:الخيار 2: تشغيل Docker (الصورة المتكاملة)
إذا كنت تستخدم الصورة المتكاملة معdocker run:تحقّق من المقاييس في HyperDX
بمجرد اكتمال الإعداد، سجّل الدخول إلى HyperDX وتحقّق من أن المقاييس تتدفّق:- انتقل إلى مستكشف المقاييس
- ابحث عن المقاييس التي تبدأ بـ
redis.(مثلredis.commands.processedوredis.memory.used) - يُفترض أن ترى نقاط بيانات المقاييس تظهر وفق الفاصل الزمني الذي حددته للجمع
مجموعة البيانات التجريبية
تنزيل مجموعة بيانات نموذجية للمقاييس
نزّل ملفات المقاييس المُولَّدة مسبقًا (24 ساعة من Redis Metrics بأنماط واقعية):- حدث إحماء الذاكرة المؤقتة (06:00) - يرتفع معدل الإصابة من 30% إلى 80%
- طفرة في الزيارات (14:30-14:45) - زيادة في الزيارات بمقدار 5x مع ضغط على الاتصالات
- ضغط على الذاكرة (20:00) - بدء طرد المفاتيح وتراجع أداء الذاكرة المؤقتة
- أنماط الزيارات اليومية - ذروات خلال ساعات العمل، وانخفاضات مسائية، وارتفاعات طفيفة عشوائية
التحقق من المقاييس في HyperDX
بعد تحميلها، أسرع طريقة لرؤية مقاييسك هي عبر لوحة المعلومات الجاهزة مسبقًا.انتقل إلى قسم لوحات المعلومات والتصورات لاستيراد لوحة المعلومات وعرض جميع بيانات Redis Metrics دفعةً واحدة.النطاق الزمني لمجموعة البيانات التجريبية هو من 2025-10-20 00:00:00 إلى 2025-10-21 05:00:00. تأكد من أن النطاق الزمني في HyperDX يطابق هذه النافذة.ابحث عن هذه الأنماط اللافتة:
- 06:00 - إحماء الذاكرة المؤقتة (ارتفاع تدريجي في معدل الإصابة من مستوى منخفض)
- 14:30-14:45 - طفرة في الزيارات (ارتفاع في اتصالات العميل، مع بعض حالات الرفض)
- 20:00 - ضغط على الذاكرة (بدء طرد المفاتيح)
لوحات المعلومات والتصورات المرئية
تهيئة لوحة المعلومات
استيراد لوحة المعلومات المعدّة مسبقًا
- افتح HyperDX وانتقل إلى قسم Dashboards
- انقر على Import Dashboard في الزاوية العلوية اليمنى ضمن قائمة النقاط الثلاث
- ارفع ملف
redis-metrics-dashboard.jsonوانقر على Finish Import
عرض لوحة المعلومات
ستُنشأ لوحة المعلومات مع إعداد جميع التصورات المرئية مسبقًا:بالنسبة إلى مجموعة البيانات التجريبية، اضبط النطاق الزمني على 2025-10-20 05:00:00 - 2025-10-21 05:00:00 (UTC) (عدّله وفقًا لمنطقتك الزمنية المحلية). لن تتضمن لوحة المعلومات المستوردة نطاقًا زمنيًا محددًا افتراضيًا.
استكشاف الأخطاء وإصلاحها
تعذّر تحميل ملف الإعداد المخصّص
CUSTOM_OTELCOL_CONFIG_FILE بشكل صحيح:
/etc/otelcol-contrib/custom.config.yaml:
عدم ظهور أي مقاييس في HyperDX
أخطاء المصادقة
مشكلات في اتصال الشبكة
docker run تضمن وضع كلتا الحاويتين على الشبكة نفسها.
الخطوات التالية
- قم بإعداد التنبيهات للمقاييس الحرجة (حدود استخدام الذاكرة، وحدود الاتصال، وانخفاض معدل إصابة ذاكرة التخزين المؤقت)
- أنشئ لوحات معلومات إضافية لحالات استخدام محددة (تأخر النسخ المتماثل، وأداء التخزين المستمر)
- راقب عدة مثيلات Redis من خلال تكرار تهيئة المستقبِل باستخدام نقاط نهاية وأسماء خدمات مختلفة