باختصارراقب مقاييس أداء Apache Kafka في ClickStack باستخدام OTel JMX Metric Gatherer. يتضمن مجموعة بيانات تجريبية ولوحة معلومات مُعدّة مسبقًا.
التكامل مع نشر Kafka حالي
المتطلبات الأساسية
- مثيل ClickStack قيد التشغيل
- تثبيت Kafka قائم (الإصدار 2.0 أو أحدث) مع تمكين JMX
- إمكانية الوصول عبر الشبكة بين ClickStack وKafka (منفذ JMX 9999، ومنفذ Kafka 9092)
- ملف JAR الخاص بـ OpenTelemetry JMX Metric Gatherer (تعليمات التنزيل أدناه)
1
الحصول على مفتاح API لـ ClickStack
يرسل JMX Metric Gatherer البيانات إلى نقطة نهاية OTLP الخاصة بـ ClickStack، والتي تتطلب المصادقة.- افتح HyperDX على عنوان URL الخاص بـ ClickStack (على سبيل المثال، http://localhost:8080)
- أنشئ حسابًا أو سجّل الدخول إذا لزم الأمر
- انتقل إلى إعدادات الفريق → مفاتيح API
- انسخ مفتاح API للإدخال الخاص بك
- عيّنه كمتغير بيئة:
2
3
تحقّق من تفعيل Kafka JMX
تأكّد من أن JMX مفعّل على وسطاء Kafka لديك. بالنسبة إلى عمليات نشر Docker:4
نشر JMX Metric Gatherer باستخدام Docker Compose
يوضح هذا المثال إعدادًا كاملًا يضم Kafka وJMX Metric Gatherer وClickStack. عدّل أسماء الخدمات ونقاط النهاية لتتوافق مع عملية النشر الحالية لديك:service:jmx:rmi:///jndi/rmi://kafka:9999/jmxrmi- عنوان URL للاتصال عبر JMX (استخدم اسم مضيف Kafka الخاص بك)otel.jmx.target.system=kafka- يفعّل المقاييس الخاصة بـ Kafkahttp://clickstack:4318- نقطة نهاية OTLP عبر HTTP (استخدم اسم مضيف ClickStack الخاص بك)authorization=\${CLICKSTACK_API_KEY}- مفتاح API للمصادقة (مطلوب)service.name=kafka,kafka.broker.id=broker-0- سمات المورد لأغراض التصفية10000- الفاصل الزمني للتجميع بالمللي ثانية (10 ثوانٍ)
5
تحقّق من المقاييس في HyperDX
سجّل الدخول إلى HyperDX وتأكد من أن المقاييس تصل بشكل صحيح:- انتقل إلى Chart Explorer
- ابحث عن
kafka.message.countأوkafka.partition.count - يجب أن تظهر المقاييس كل 10 ثوانٍ
kafka.message.count- إجمالي الرسائل المُعالجةkafka.partition.count- إجمالي الأقسامkafka.partition.under_replicated- يجب أن تكون القيمة 0 في عنقود سليمkafka.network.io- معدل نقل الشبكةkafka.request.time.*- المئينات لزمن استجابة الطلب
عند تشغيل أوامر عميل Kafka (kafka-topics وkafka-console-producer وما إلى ذلك) من داخل حاوية Kafka، فاسبِقها بـ
unset JMX_PORT && لتجنّب تعارض منفذ JMX.مجموعة البيانات التجريبية
1
نزّل مجموعة بيانات المقاييس النموذجية
نزّل ملفات المقاييس المُولَّدة مسبقًا (29 ساعة من مقاييس Kafka بأنماط واقعية):- 06:00-08:00: ذروة الصباح - ارتفاع حاد في حركة المرور انطلاقًا من خط الأساس الليلي
- 10:00-10:15: تخفيضات خاطفة - قفزة كبيرة إلى 3.5 أضعاف حركة المرور المعتادة
- 11:30: حدث نشر - قفزة بمقدار 12 ضعفًا في تأخر المستهلك مع التقسيمات غير المكررة بما يكفي
- 14:00-15:30: ذروة التسوق - حركة مرور مرتفعة مستمرة عند 2.8 ضعف خط الأساس
- 17:00-17:30: ذروة ما بعد العمل - ذروة ثانوية في حركة المرور
- 18:45: إعادة توازن المستهلك - قفزة بمقدار 6 أضعاف في التأخر أثناء إعادة التوازن
- 20:00-22:00: تراجع المساء - انخفاض حاد إلى مستويات الليل
2
3
4
تحقّق من المقاييس في HyperDX
بعد التحميل، أسرع طريقة لرؤية مقاييسك هي عبر لوحة المعلومات المُعَدّة مسبقًا.انتقل إلى قسم لوحات المعلومات والتصور لاستيراد لوحة المعلومات وعرض جميع مقاييس Kafka دفعةً واحدة.عرض المنطقة الزمنيةيعرض HyperDX الطوابع الزمنية وفقًا للمنطقة الزمنية المحلية في متصفحك. تمتد البيانات التجريبية عبر 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC). اضبط النطاق الزمني على 2025-11-04 16:00:00 - 2025-11-07 16:00:00 لضمان ظهور المقاييس التجريبية مهما كان موقعك. وبعد رؤية المقاييس، يمكنك تضييق النطاق إلى فترة 24 ساعة للحصول على تصورات أوضح.
لوحات المعلومات والتصورات
1
إعدادات لوحة المعلومات
2
استورد لوحة المعلومات الجاهزة مسبقًا
- افتح HyperDX وانتقل إلى قسم Dashboards
- انقر على Import Dashboard في الزاوية العلوية اليمنى ضمن قائمة النقاط الثلاث
- ارفع ملف
kafka-metrics-dashboard.jsonوانقر على Finish Import
3
اعرض لوحة المعلومات
ستُنشأ لوحة المعلومات مع إعداد جميع التصورات مسبقًا:بالنسبة إلى مجموعة البيانات التجريبية، اضبط النطاق الزمني على 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC) (عدّله وفقًا لمنطقتك الزمنية المحلية). لن تتضمن لوحة المعلومات المستوردة نطاقًا زمنيًا محددًا تلقائيًا.
استكشاف الأخطاء وإصلاحها
عدم ظهور أي مقاييس في HyperDX
أخطاء المصادقة
Authorization failed أو 401 Unauthorized:
- تحقّق من مفتاح API في واجهة مستخدم HyperDX (الإعدادات → مفاتيح API → مفتاح API للإدخال)
- أعِد التصدير ثم أعِد التشغيل:
تعارضات المنافذ مع أوامر عميل Kafka
unset JMX_PORT &&:
مشكلات الاتصال بالشبكة
Connection refused:
تحقّق من أن جميع الحاويات على شبكة Docker نفسها:
الخطوات التالية
- قم بإعداد التنبيهات للمقاييس الحرجة (التقسيمات غير المكررة بما يكفي، وزيادة تأخر المستهلك، والارتفاعات المفاجئة في زمن استجابة الطلبات)
- أنشئ لوحات معلومات إضافية لحالات استخدام محددة (معدل النقل لكل topic، ومراقبة consumer group)
- راقب عدة وسطاء Kafka عبر إضافة مثيلات إضافية من JMX Metric Gatherer مع resource attributes فريدة لـ
kafka.broker.id