কীভাবে ডকারে একাধিক লগ স্ট্রিম থাকবে


21

আমাদের কাছে একটি অ্যাপ্লিকেশন রয়েছে যা তিনটি পৃথক ফাইলে তিন ধরণের লগ লেখায়: অ্যাক্সেস লগ, জেনেরিক অ্যাপ্লিকেশন লগ এবং সিস্টেম লগ। এই লগগুলির বিন্যাস (এবং উদ্দেশ্য) খুব আলাদা are এবং আমাদের পৃথক লগফোরওয়ার্ডার রয়েছে যা সেগুলি আমাদের কেন্দ্রীয়ীকৃত লগিং সিস্টেমে পৃথকভাবে প্রেরণ করে।

ইভেন্ট স্ট্রীম নীতি হিসাবে ট্রিট লগের উপর ভিত্তি করে , আমরা স্টাডআউট থেকে ফাইলগুলি ব্যবহার করা থেকে সরানোর বিষয়ে ভাবছি। যদিও আমরা এই পদ্ধতির কিছু উপকারিতা জানি, এর অর্থ এইও হবে যে আমরা বিভিন্ন বিন্যাসিত লগগুলির একত্রীকরণ প্রবাহ পাব, যা আমাদের কেন্দ্রীয় সিস্টেমে প্রেরণের আগে আমাদের আবার বিভক্ত হওয়া দরকার (কিবানা / স্প্লঙ্ক) / ইত্যাদি), বা ভিতরে

আমরা কীভাবে এই পরিস্থিতিতে আমাদের কাছে আসা উচিত সে সম্পর্কে কোনও সরঞ্জাম বা প্রস্তাবনা রয়েছে কিনা তা আমরা ভাবছি।


4
আমি মনে করি এটির মূল্য নেই। কেন কেবল কিছু "নীতিগত" কারণে লগ স্ট্রিমগুলিকে একীভূত করতে এবং তারপরে আরও কঠোর পরিশ্রম করা যায়? ফাইল ভাল। ফাইল কাজ। এই শব্দ অত্যধিক সুরক্ষিত। আমি বলব সম্ভবত সমস্ত লগকে সিগ্লগে, বিভিন্ন ট্যাগ ইত্যাদির সাথে পাইপ করুন তবে আমি অবশ্যই বলব, যদি আমার দলের কেউ এই পরামর্শ দেয় তবে আমি হতাশ হব ..
আসফ লাভি

কারণ ফাইলগুলি ব্যবহার করার জন্য ম্যানেজমেন্টের দুঃস্বপ্নের অন্যান্য ধরণের কিছু রয়েছে, বিশেষত যদি সেগুলি ডকারের ধারক থেকে তৈরি করা হয়। আপাতত এটি দেখতে আমাদের ব্যবহারের ক্ষেত্রে সুবিধাগুলি ছাড়িয়ে স্টাডাউটে স্যুইচিং করা থেকে অসুবিধাগুলির মতো দেখায়, তবে আমরা ইতিমধ্যে আমাদের ফাইল ভিত্তিক পদ্ধতির সাথে
সমস্যায় পড়ছি

3
আমি "দুঃস্বপ্ন" সম্পর্কে জানি না। আমি জানি যে এগুলিই এখন কিছুক্ষণের জন্য হয়ে গেছে, এবং সেখানে প্রচুর সফ্টওয়্যার রয়েছে যা আপনাকে এটি করতে সহায়তা করে। লগ ফাইলগুলি ঘোরানো হয়, চেকপয়েন্টগুলি সহ পড়া হয় - একটি ফাইল এটির জন্য দুর্দান্ত বিমূর্তি। পুরানো, পরিচিত নিদর্শনগুলির ভয়ের কারণে আমি এমন নীতিটি কিনব না যা আমাকে নতুন স্বপ্নগুলি বিক্রি করে। আপনার লগ রেকর্ডগুলি হয় কোনও ফাইলে লেখা হয়, বা মেমরির সাহায্যে পরিচালিত হয় (কমপক্ষে যতক্ষণ সেগুলি ধারকটির চারপাশে সরানো হচ্ছে)। মেমরি স্ট্রিম বিভাজন এবং সংযুক্তির সাহায্যে লগ ফাইলগুলির নির্ভরযোগ্যতা অর্জন করার জন্য সৌভাগ্য
আসফ লাভি

@ অ্যাসাফল্যাভি আপনার উচিৎ এমন উত্তরে লিখতে হবে যা উত্সাহ পেতে পারে। আইএমএইচও এটি একদম বৈধ দৃষ্টিকোণ।
ড্যান কর্নিলিস্কু

2
আমি একই প্রশ্ন নিয়ে এখানে এসেছি। সরল সত্যটি হ'ল ডকারের অন্তর্নির্মিত লগিং কার্যকারিতা স্ট্ডআউট / স্ট্ডার যাবতীয় সমস্ত কিছুর উপর নির্ভর করে, সুতরাং লগিং ড্রাইভার এবং এর চারপাশে তৈরি করা তৃতীয় পক্ষের সরঞ্জামগুলির বাস্তুতন্ত্রগুলিও এটি করে। আমি আমার সমস্ত লগগুলি একটি হোস্ট ভলিউমেও ফেলে দিতে প্ররোচিত করছি, তবে আমি জানি আমার পিছন ফিরে এবং পরিচালনা চালিয়ে যেতে হবে যখন আমার পাত্রে কে 8 এস বা ওপেনশিফ্ট বা গেক বা অন্য কিছু যাবেন, আমি যদি ডকার অনুসরণ করি তবে স্টাডাউট পদ্ধতির এটি অনেক মসৃণ হবে। এদিকে আমি এই বৈধ প্রশ্নের উত্তর খুঁজতে থাকব
রোববার

উত্তর:


13

আমি এখনও নিজেকে একত্রীকরণ / বিভাজক পদ্ধতির জন্য সন্ধান করছি, তবে ইতিমধ্যে কুবেরনেটস ডকুমেন্টেশন দ্বারা প্রস্তাবিত এই পদ্ধতির একটি সাউন্ড সলিউশন বলে মনে হচ্ছে: আপনার প্রতিটি পৃথক লগের জন্য সিদেকার ধারক ব্যবহার করুন

একটি "সিডিকার" হ'ল যে কোনও ডকার পাত্র যা আপনি অন্য ডকারের ধারক পাশাপাশি এটির সাথে কাজ করার জন্য ব্যবহার করেন। এক্ষেত্রে আপনার তিনটি লগের জন্য আপনার একটি পৃথক ধারক থাকবে যা লগ এবং আউটপুটগুলি স্টডআউট স্ক্যান করে বা লেজ দেয়।

এইভাবে আপনার প্রতিটি লগ-সিডিকার-ধারকটির নিজস্ব স্টডআউট থেকে নিজস্ব ডকার-লগ রয়েছে। এর মতো পৃথক হওয়ার কারণে, পৃথক বা একত্রিত করার জন্য আপনি স্ট্যান্ডার্ড ডকার (এবং কুবেরনেটস, ইত্যাদি) ব্যবহার করতে পারেন। কুবেরনেটস পৃষ্ঠাতে যা বলা হয়েছে তা এখানে:

এই পদ্ধতির সাহায্যে আপনি আপনার অ্যাপ্লিকেশনের বিভিন্ন অংশ থেকে বেশ কয়েকটি লগ স্ট্রিম পৃথক করতে পারবেন, যার মধ্যে কিছু স্টাডাউট বা স্ট্ডার লেখার জন্য সমর্থনটির অভাব হতে পারে। পুনঃনির্দেশিত লগগুলির পিছনে যুক্তিটি ন্যূনতম, সুতরাং এটি খুব কমই একটি উল্লেখযোগ্য ওভারহেড। অতিরিক্ত হিসাবে, যেহেতু স্টডআউট এবং স্টডারার কুবেলেট দ্বারা পরিচালিত হয়, আপনি কুবেক্টেল লগের মতো অন্তর্নির্মিত সরঞ্জামগুলি ব্যবহার করতে পারেন।

ডকার ডকুমেন্টেশনে বর্ণিত বিভিন্ন পাত্রে লগগুলিতে ডকার বিভিন্ন ক্ষেত্রে প্রয়োগ করে বিল্ট-ইন ট্যাগিং থেকে "পৃথক লগ স্ট্রিমস" স্টেমটি :

ট্যাগ লগ বিকল্পটি কীভাবে এমন কোনও ট্যাগ ফর্ম্যাট করতে পারে যা ধারকটির লগ বার্তাগুলি সনাক্ত করে। ডিফল্টরূপে, সিস্টেমটি ধারক আইডির প্রথম 12 টি অক্ষর ব্যবহার করে। এই আচরণটি ওভাররাইড করতে একটি ট্যাগ বিকল্প নির্দিষ্ট করুন


এই লগ-সিডেকার-ধারক পন্থাগুলির নেতিবাচক দিকটি উল্লেখ করা উচিত, উদ্ধৃতি: "দ্রষ্টব্য, কম সিপিইউ এবং মেমরির ব্যবহার সত্ত্বেও কোনও ফাইলে লগ লিখতে এবং তারপরে স্ট্রাউডে স্ট্রিমিং ডিস্কের ব্যবহার দ্বিগুণ করতে পারে"। কেউ যদি বাস্তবে এই পদ্ধতির চেষ্টা করে তবে আমি অবাক হই।
ইউসুং

8

এগুলি কেবল পরে ভাগ করার জন্য এগুলি একটি স্ট্রিমে মার্জ করার ধারণাটি বেদনাদায়ক শোনায়। আমার নিজের এটি করার কোনও কারণ নেই, তবে এখানেই আমি শুরু করেছি:

  • আপনি যখন ডকারের ধারকটি চালাবেন, এমন একটি ভলিউম তৈরি করুন যাতে হোস্টের কাছ থেকে / জাহাজের লগগুলি দেখতে সহজ হবে।
  • লগগুলি আপনার লগ সংগ্রহে প্রেরণ করতে রিমোট_সিসলগ 2 এর মতো কিছু ব্যবহার করুন

হোস্টটিতে কিছু সেটআপ করার জন্য এটি কিছুটা কম-মার্জিত মনে হয়, তবে আপনি যদি উত্তরসূর মতো এমন কিছু ব্যবহার করেন যেখানে আপনি প্লেবুক চালাতে পারেন এবং আপনার স্থাপনার বাক্সে সেটআপ করার সময় এটি খুব বেশি হওয়া উচিত নয় খারাপ।


এই সমাধানটি নামযুক্ত পাইপগুলির সাথে একত্রিত করা যেতে পারে, নামযুক্ত পাইপগুলির সাথে একমাত্র সমস্যা হ'ল তারা এখনই সমস্ত সিস্টেমে কাজ করে না। তারা ম্যাক
জেনস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.