أنا أقوم بتشغيل 3 عمليات باستخدام المشرف ، و nginx ، و nodejs api ، و sidekiq ، فهل هناك على أي حال لوضع علامة على السجلات بحيث يمكنني لاحقًا تصفية السجلات القادمة فقط من nodejs api ، أو sidekiq وما إلى ذلك؟
تعديل
أريد أن تدخل جميع السجلات إلى stdout لأنني أقوم بتشغيل هذا داخل حاوية عامل إرساء
شكرا
سيطبع المكون الإضافي supervisor-stdout
رسائل سجل العملية الفرعية إلى stdout مسبوقة باسم العملية الفرعية.
يمكنك أيضًا طباعة رسائل سجل العملية الفرعية إلى stdout عن طريق تعيين loglevel = debug
في supervisord.conf
، ولكن هذا سيطبع أيضًا الكثير من معلومات التصحيح الأخرى.
mnaberez لسوء الحظ ، لا يعمل supervisor-stdout
مع المشرف المثبت عبر apt-get على Ubuntu 16.04. يطرح الخطأ Error: supervisor_stdout:event_handler cannot be resolved within [eventlistener:stdout]
.
البديل (التثبيت عبر النقطة) أكثر تعقيدًا. تمكنت من تشغيله بشيء مثل هذا:
/path/to/supervisord -c /path/to/supervisord.conf
يعمل بشكل صحيح:
stdout RUNNING pid 1294, uptime 0:03:16
tornado-8000 RUNNING pid 1295, uptime 0:03:16
tornado-8001 RUNNING pid 1296, uptime 0:03:16
لكنها لا تسبق اسم العملية الفرعية. إذا كنت أستخدم
[supervisord]
nodaemon = true
في ملف التكوين الخاص بي ، أحصل على البادئة معروضة في الإخراج ، لكن لم يتم كتابتها في ملفات السجل.
أنا أستخدم إعدادًا قياسيًا إلى حد ما (عمليتان من عمليات الإعصار والمشرف_stdout) مع:
[program:tornado-8000]
command = /path/to/python myfile.py
stdout_events_enabled = true
stderr_events_enabled = true
...
[eventlistener:stdout]
command = /path/to/supervisor_stdout
buffer_size = 100
events = PROCESS_LOG
result_handler = supervisor_stdout:event_handler
هل هناك تحديث لهذه المشكلة أو حل بديل؟
أتساءل نفس @ katsar0v . أي حل بديل لهذا؟
أبحث عن حل لهذا أيضا.
التعليق الأكثر فائدة
أتساءل نفس @ katsar0v . أي حل بديل لهذا؟