أود أن أعرف ما هي أسهل طريقة لإعادة توجيه سجلات حاوية عامل الميناء الخاصة بي إلى خادم إلك ، حتى الآن الحلول التي جربتها بعد البحث في الإنترنت لم تنجح على الإطلاق.
أساسا لدي صورة عامل الميناء التي أقوم بتشغيل باستخدام عامل الميناء يؤلف ، هذه الحاوية لا يسجل أي شيء محليا (وهو يتألف من خدمات مختلفة ولكن أيا منها لوغستاش أو أيا كان) ولكن أرى تسجيل الدخول من خلال docker logs -tf imageName أو docker-compose logs. منذ أن بدأت الحاويات مع يؤلف لا أستطيع الاستفادة (أو على الأقل أنا لا أعرف كيف) من --logs-driver خيار عامل الميناء.
وهكذا كنت أتساءل عما إذا كان شخص ما قد ينير لي قليلا بشأن كيفية إعادة توجيه تلك السجلات إلى حاوية الأيائل على سبيل المثال.
شكرا مقدما,
التحيات
الحل:
بفضل ماديدي يمكنني تحقيق حل مشكلتي بالطريقة التالية ، أذكر أنني استخدمت الأساسية الأيائل كومة في الحاويات التي اقترح ماديدي في منصبه.
أولا أقوم بتحديث docker-compose.yml ملف الحاوية الخاصة بي لإضافة إدخالات لمرجع التسجيل كما أخبرني ماديدي ، قمت بتضمين إدخال لكل خدمة ، يبدو مقتطف من تكوين عامل الإرساء الخاص بي كما يلي
إذا كنت على سبيل المثال استخدام هذا إعداد الأيائل الأساسي-المكدس في الحاويات، يمكنك تحديث ملف إنشاء عامل الميناء وإضافة منفذ - "12201:12201/udp" لوغستاش.
تحرير logstash.conf قسم الإدخال إلى:
input { tcp { port => 5000 } gelf { }}
ثم قم بتكوين الحاويات الخاصة بك لاستخدام برنامج تشغيل التسجيل gelf (لا سيسلوغ) والخيار gelf-address=udp://ip_of_logstash:12201 (بدلا من سيسلوغ عنوان).
السحر الوحيد سيكون لديك لرعاية هو كيف عامل الميناء سوف تجد عنوان إب أو اسم المضيف من حاوية لوغستاش. هل يمكن حل ذلك من خلال تسمية عامل الميناء يؤلف ، وصلات عامل الميناء أو يدويا فقط.
عامل الميناء والأيائل قوية ومرنة ، ولكن أيضا الوحوش الكبيرة والمعقدة. الاستعداد لوضع في بعض الوقت خطيرة ، في القراءة والتجريب.
لا تخف من فتح أسئلة جديدة (ويفضل أن تكون محددة جدا) تصادفها أثناء استكشاف كل هذا.
لا تفتح الكلمة الرئيسية للتسجيل منفذا للاستماع إليه ، بل تقوم بتكوين المكان الذي يربط فيه عامل الإرساء _ إلى_. أنا أتحدث عن تعيينات المنافذ التي تقوم بها على كل حاوية ، يمكنك فقط _ فتح _ منفذ مرة واحدة ، ولكن لا يجب فتح منفذ لتسجيل الدخول كل حاوية ، فقط لوغستاش واحد. المشكلة تكمن في استخدامك ل “لوكالهوست” كمضيف لنقطة النهاية إخص ، بدلا من لوكالهوست يجب عليك استخدام إب من الجهاز حيث يتم تشغيل حاوية لوغستاش أو 172.17.0.1 إذا كانت جميع الحاويات على نفس المضيف أو استخدام “لوغستاش” إذا بدأت جميع الحاويات مع نفس ملف الإنشاء.
@ماديدي أنا تواجه مشكلة صغيرة مع أن كومة الأيائل, أستطيع أن أرى أن كيبانا أو إلاستيكشيرتش إعادة تمهيد حول 2 ساعات أو نحو ذلك, هل رأيت هذا السلوك كذلك? إذا قمت بتعيين صوري على الأحدث بدلا من الصور المبنية, هل لا يزال هذا المكدس يعمل?
أنا أعرف ما تعنيه الآن ، وأعتقد أنني حاولت ذلك قبل الحصول على الخطأ أن المنفذ كان بالفعل قيد الاستخدام ، ولكن يمكنني إعطاء المحاولة الثانية. شكرا مرة أخرى
@ماديدي من أجل الحصول على تحميل أقل في الخادم الخاص بي ، أردت تغيير فواردينغ الميناء ، ومع ذلك ، لا أستطيع مانيج لجعلها تعمل. أضفت خط مثل هذا 'جيلف-عنوان: أودب:/ / 172.17.0.1: 12201 في كل خدمة ، والحصول على خطأ عند بدء تشغيل الخدمات بسبب المنفذ في الاستخدام' خطأ: ل رديس سائق فشل برمجة الاتصال الخارجي على نقطة النهاية تنباكند_رديس_1: ربط ل 0.0.0.0: 12201 فشل: تم تخصيص المنفذ بالفعل خطأ: لسائق وسيط فشل برمجة الاتصال الخارجي على نقطة النهاية تنباكند_بروكر_1: ربط ل 0.0.0.0: 12201 فشل: تم تخصيص المنفذ بالفعل
نعم ، لأنك تفتح منفذا لوغستاش على كل حاوياتك ، بينما يجب عليك فتحه فقط لحاوية لوغستاش. ليست هناك حاجة لجميع الحاويات الأخرى للاستماع لاتصالات لوغستاش ، لذلك ، فإنها لا تحتاج إلى فتح منفذ لذلك.