كيفية عرض وإدارة سجلات Docker بشكل فعال


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

ما هي سجلات عامل الميناء

سجلات Docker هي سجلات لكل ما يحدث داخل حاوية Docker قيد التشغيل. وهي تتضمن كلا من الإخراج القياسي (stdout) ورسائل الخطأ (stderr)، وتسمح لك بمعرفة كيفية أداء الحاوية الخاصة بك وما إذا كانت هناك أية مشكلات.

افتراضيًا، يحفظ Docker هذه السجلات كملفات JSON على النظام المضيف في الدليل “/var/lib/docker/containers”. تحتوي كل حاوية على ملف سجل خاص بها يسمى “[container_id]-json.log”. يمكنك فتح هذه الملفات مباشرة أو استخدام ملف docker logs الأمر لعرضها في المحطة.

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

لإدارة السجلات بكفاءة، يستخدم Docker برامج تشغيل التسجيل. يحدد برنامج تشغيل التسجيل مكان وكيفية تخزين السجلات أو إرسالها. يقوم برنامج التشغيل الافتراضي، ملف json، بحفظ السجلات محليًا بتنسيق JSON، ولكن يمكنك اختيار برامج تشغيل أخرى لإرسال السجلات إلى أنظمة خارجية لتسهيل الإدارة والتحليل.

كيفية الحصول على/عرض سجلات عامل الميناء

ال docker logs يتيح لك الأمر عرض السجلات من حاوية قيد التشغيل تستخدم “ملف json” أو برنامج تشغيل تسجيل Journald. يمكنك تشغيله على النحو التالي:

docker logs [OPTIONS] CONTAINER_NAME_OR_ID

يستبدل CONTAINER_NAME_OR_ID بالاسم أو المعرف الفعلي للحاوية التي تريد التحقق منها. لرؤية قائمة الحاويات قيد التشغيل، استخدم هذا الأمر:

docker ps

يعرض هذا الأمر قائمة بالحاويات النشطة بالإضافة إلى معرفاتها وأسمائها وحالتها ومعلومات أخرى مفيدة.

في المثال أعلاه، يقوم Docker بتشغيل حاويتين: openwebui وollama. لعرض السجلات الخاصة بحاوية معينة، ما عليك سوى استخدام اسمها. على سبيل المثال، للتحقق من سجلات حاوية openwebui، قم بتشغيل هذا الأمر.

docker logs openwebui
تحقق من سجلات عامل الميناء

يمكنك أيضًا استخدام معرف الحاوية بدلاً من اسمها لعرض السجلات. على سبيل المثال:

docker logs 1f351684ae30
تحقق من سجلات Docker باستخدام معرف الحاوية

خيارات وأعلام سجلات Docker الشائعة

يتيح لك Docker استخدام خيارات مختلفة مع أمر docker logs للتحكم في كيفية عرض السجلات. وهنا بعض منها مفيدة.

خيار وصف أمر المثال
-تفاصيل يظهر معلومات إضافية في السجلات. سجلات عامل الإرساء – تفاصيل اسم الحاوية
-متابعة، -ف يستمر في عرض إدخالات السجل الجديدة في الوقت الفعلي. سجلات عامل الإرساء -f Container_name
-منذ يعرض السجلات التي تم إنشاؤها بعد وقت أو مدة محددة (على سبيل المثال، 2024-07-08T13:42:13Z أو 10 دقائق). سجلات عامل الإرساء – منذ 10 أمتار اسم الحاوية
-الذيل، -ن يُظهر فقط عددًا محددًا من الأسطر من نهاية السجلات. سجلات عامل الإرساء – ذيل 50 حاوية_اسم
-الطوابع الزمنية، -ر يضيف الطوابع الزمنية إلى كل سطر سجل. سجلات عامل الإرساء -t Container_name
-حتى يعرض السجلات التي تم إنشاؤها قبل وقت محدد. سجلات عامل الإرساء – حتى 2024-07-08T14:00:00Z Container_name

على سبيل المثال، لرؤية أحدث 50 إدخال سجل لحاوية معينة، قم بتشغيل الملف docker logs الأمر مع --tail خيار.

docker logs --tail 50 openwebui
أحدث سجلات N

وبالمثل، يمكنك استخدام خيارات أخرى، مثل --follow لمشاهدة السجلات مباشرة أو --since لتصفية السجلات حسب الوقت وفقًا لاحتياجاتك.

حفظ سجلات Docker في ملف

يمكنك حفظ سجلات Docker في ملف باستخدام عامل إعادة التوجيه البسيط أو خيارات الأوامر المضمنة. على سبيل المثال، يحفظ الأمر التالي سجلات Docker في ملف يسمى “container_logs.txt”.

docker logs container_name > container_logs.txt
حفظ سجلات Docker في الملف

يمكنك فتح هذا الملف لاحقًا باستخدام أي محرر نصوص (مثل Notepad أو VS Code أو nano) لعرض السجلات المحفوظة.

افتح سجلات Docker المحفوظة

عرض السجلات في Docker Compose

يمكنك بسهولة عرض السجلات من الحاويات التي يديرها Docker Compose باستخدام الملف docker compose logs يأمر. على سبيل المثال، لرؤية سجلات كافة الحاويات في مشروع Compose، قم بتشغيل الأمر التالي:

docker compose logs

ومع ذلك، إذا كنت تريد سجلات من خدمة واحدة فقط، فاذكر اسمها بعد الأمر.

docker compose logs service_name

ملحوظة: إذا كنت تستخدم إصدارًا أقدم من Docker، فقد يكون الأمر كذلك docker-compose logs (مع واصلة). يعمل كلاهما بشكل مشابه، اعتمادًا على إصدار Docker لديك.

نصائح لإدارة سجلات Docker

يستخدم Docker برامج تشغيل التسجيل لالتقاط وتخزين مخرجات الحاوية. افتراضيًا، يستخدم برنامج تشغيل “ملف json”، الذي يحفظ السجلات بتنسيق JSON على النظام المضيف. يمكنك التبديل إلى برامج تشغيل أخرى لإرسال سجلات إلى خدمات خارجية أو استخدام برنامج تشغيل مخصص إذا كنت بحاجة إلى مزيد من التحكم.

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

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

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

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

التفاف

تعد سجلات Docker ضرورية لمراقبة أداء الحاوية وحل المشكلات بسرعة. يمكنك استخدام أوامر مثل docker logs واتبع أفضل الممارسات، مثل التخزين المستمر وبرامج تشغيل التسجيل المناسبة، لضمان إدارة موثوقة للسجل. من خلال إعداد التسجيل المنظم، يمكنك الحفاظ على استقرار حاوياتك وتشغيل تطبيقاتك بسلاسة. لتحسين مراقبة السجل وتحليله، فكر في استخدام أدوات مثل ELK Stack وFluentd وPrometheus وGrafana.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى