मैं अभी भी अपने आप में एक विलय / विभाजन के दृष्टिकोण की तलाश कर रहा हूं, लेकिन इस बीच कुबेरनेट्स प्रलेखन द्वारा अनुशंसित यह दृष्टिकोण एक ध्वनि समाधान की तरह लगता है: अपने प्रत्येक अलग लॉग के लिए एक साइडकार कंटेनर का उपयोग करें ।
एक "साइडकार" कोई भी डॉकटर कंटेनर होता है जिसे आप किसी अन्य डॉकटर कंटेनर के साथ किसी तरह से काम करने के लिए उपयोग करते हैं। इस मामले में आपके प्रत्येक तीन लॉग के लिए आपके पास एक अलग कंटेनर होगा जो स्केडआउट में लॉग और आउटपुट को स्कैन करता है या पूंछता है।
इस तरह से आपके प्रत्येक लॉग-साइडकार-कंटेनरों का अपना डॉक-लॉग होता है जो अपने स्वयं के स्टडआउट से होता है। इस तरह अलग होने के नाते, आप अलग करने या एकत्र करने के लिए मानक डॉकटर (और कुबेरनेट्स, आदि) प्रथाओं का उपयोग कर सकते हैं। यहां बताया गया है कि कुबेरनेट्स पृष्ठ का क्या कहना है:
यह दृष्टिकोण आपको अपने एप्लिकेशन के विभिन्न हिस्सों से कई लॉग स्ट्रीम को अलग करने की अनुमति देता है, जिनमें से कुछ में स्टडआउट या ग्रेडर को लिखने के लिए समर्थन की कमी हो सकती है। लॉग पुनर्निर्देशित करने के पीछे तर्क न्यूनतम है, इसलिए यह शायद ही एक महत्वपूर्ण ओवरहेड है। इसके अतिरिक्त, क्योंकि स्टडआउट और स्टेडर को क्यूबलेट द्वारा नियंत्रित किया जाता है, तो आप कुबेकल लॉग जैसे अंतर्निहित टूल का उपयोग कर सकते हैं।
डॉकिंग दस्तावेज़ों में वर्णित विभिन्न कंटेनरों से लॉग पर लागू होने वाले टैगिंग में "अलग लॉग स्ट्रीम" स्टेम, डॉकटर पर लागू होता है:
टैग लॉग विकल्प निर्दिष्ट करता है कि टैग को कैसे प्रारूपित किया जाए जो कंटेनर के लॉग संदेशों की पहचान करता है। डिफ़ॉल्ट रूप से, सिस्टम कंटेनर आईडी के पहले 12 अक्षरों का उपयोग करता है। इस व्यवहार को ओवरराइड करने के लिए, एक टैग विकल्प निर्दिष्ट करें