openmega.net

→ المقالات

إدارة السجلات مركزيًا باستخدام Loki وGrafana

الوسوم: المراقبة السجلات Grafana المختبر المنزلي

تتيح السجلات المركزية تتبّع مشكلة عبر أجهزة متعددة. يمكن لبيئة صغيرة جمع أحداث Windows وسجلات syslog من Linux، وتخزينها في Loki، واستكشافها في Grafana. أول نتيجة مفيدة ليست لوحة معلومات كبيرة، بل معرفة ما تغيّر ومتى في كل الأنظمة المرتبطة بالمشكلة، دون تسجيل الدخول إلى كل مضيف على حدة.

ابدأ بسؤال واضح

قبل اختيار التسميات ومدة الاحتفاظ ومعدل استقبال السجلات، اكتب الأسئلة التي تريد الإجابة عنها. مثلًا: أي مضيف رفض محاولة مصادقة خلال الساعة الماضية؟ وماذا كتبت الخدمة قبل توقفها عن الاستجابة؟ وأي أجهزة لم ترسل شيئًا اليوم؟ إذا لم تستطع تحديد السؤال، فلن تستطيع تصميم مسار السجلات للإجابة عنه.

اختر بعدها تسميات تساعدك على تضييق البحث. قد تجمع الأحداث وفق دور المضيف، أو نظام تشغيله، أو الخدمة التي يشغّلها. تجنّب قيمًا تختلف في كل حدث، مثل نص الرسالة كاملًا أو معرّف طلب فريد.

تسميات مستقرة وتفاصيل داخل السجل

يعتمد Loki على تسميات قليلة ومستقرة، بينما يبقى محتوى الحدث في سطر السجل. توصي الوثائق بتسميات تصف مصدر السجلات ولها عدد محدود من القيم، وتحذّر من ارتفاع عدد القيم المميزة. وتقترح استهداف حد أقصى بين 10 و15 تسمية، واختيارها وفق ما يبحث عنه المستخدمون فعلًا (فهم التسميات في Loki).

قد تصلح تسمية مثل host أو role، بخلاف request_id الذي يحمل قيمة مختلفة لكل حدث. لا يفهرس Loki نص كل سطر، ولذلك لا يلزم تحويل كل تفصيل تريد تصفيته لاحقًا إلى تسمية. وتناسب البيانات الوصفية المنظمة التفاصيل المفيدة ذات القيم المتغيرة، ومنها أسماء المضيفين المؤقتين قصيرة العمر.

اختر التسميات التي تساعد التحقيق، مع فحص عدد تدفقات السجلات المميزة التي تنشئها. قد تهمك معلومة نادرًا أثناء حادثة؛ والاحتفاظ بها في النص أو البيانات الوصفية يحفظ فائدتها دون تحويلها إلى تسمية مفهرسة. يساعد تقليل التسميات على إبقاء الاستقبال والاستعلامات سريعين وقت الحاجة.

إيصال السجلات إلى المخزن

تحقق من الوكيل الذي تفترضه ملاحظاتك قبل نسخ إعداد قديم. انتهى دعم Promtail في 2 مارس 2026، وتوجّه وثائق Loki المستخدمين إلى Grafana Alloy. فقد يعتمد إعداد كُتب قبل عامين على وكيل لم يعد يتلقى تحديثات (حالة Promtail).

تؤثر وسيلة النقل في ما يحدث أثناء الانقطاع. UDP بسيط، لكن إعادة تشغيل المستقبل أو انقطاع الشبكة قد يفقدان رسائل دون علم المرسل. يوفر TCP تغذية راجعة للنقل ما دام الاتصال قائمًا. وإذا كانت السجلات لا تحتمل الفقد، فاجمع بين النقل وطابور إرسال محفوظ على القرص، حيث يدعم الوكيل ذلك، لتنتظر الأحداث محليًا عندما يتعذر الوصول إلى المخزن المركزي.

حدّد سعة الطابور وما يحدث عند امتلائه. لا يمكن لأي مخزن محدود استيعاب انقطاع بلا نهاية. قد تُحذف الأحداث الأقدم، أو الأحدث، أو يتوقف استقبال أحداث جديدة محليًا. لكل خيار أثر يختلف بحسب الغرض من السجلات.

راقب مسار السجلات نفسه. قد تعني لوحة هادئة أن الأنظمة سليمة، وقد تعني أن الوكيل توقف عن الإرسال. تتبّع تأخر وصول الأحداث، ومساحة المخزن، ووقت آخر ظهور لكل مصدر، حتى يُلاحظ المضيف الصامت بدل افتراض أنه خامل.

مدة الاحتفاظ ومن يقرأ السجلات

اختر مدة الاحتفاظ وفق احتياجات التحقيق، وسعة التخزين، ومتطلبات الخصوصية. لا تحتفظ إلا بالحقول والفترات التي لها غرض واضح. فقد تتضمن السجلات تفاصيل شخصية أو تشغيلية، وتزيد مدة حفظها المسؤولية المرتبطة بها.

افهم آلية Loki قبل الاعتماد عليها. يتولى Compactor تطبيق الاحتفاظ، مع تفعيل retention_enabled وإعداد delete_request_store، ويتطلب ذلك فترة فهرسة قدرها 24 ساعة. وتوضح الوثائق أن تغيير مدة الاحتفاظ لا يسري بأثر رجعي على السجلات التي سبق إدخالها؛ لذلك لا تفترض أن تقصير المدة سيمحو السجلات القديمة تلقائيًا (الاحتفاظ بالسجلات في Loki).

احصر القراءة فيمن يحتاج إليها. قد يبدو الحساب المشترك سهلًا في بيئة صغيرة، لكنه يصعّب معرفة من اطّلع على ماذا. استخدم هويات مسماة، وسجّل الوصول إلى مخزن السجلات كما تسجّل الوصول إلى الأنظمة التي تصفها.

تنبيهات تساعد على قرار

ينبغي أن يشير التنبيه إلى تغيّر يستدعي عملًا: محاولات مصادقة فاشلة تتجاوز حدًا مناسبًا، أو فشل نسخة احتياطية، أو انقطاع غير متوقع لمصدر سجلات. اجمع الأحداث المرتبطة وحدّد شرط التعافي لتقليل تكرار الضوضاء.

راجع فائدة التنبيهات بعد الحوادث، واحذف ما لا يساعد على قرار. التنبيه الذي يظهر كل أسبوع ويُتجاهَل دائمًا يشتت الانتباه عن التنبيهات المهمة.

قائمة تحقق