মাঝেমধ্যে ঘোরানো লেজের সাথে লগগুলি অবিচ্ছিন্নভাবে নিরীক্ষণ করুন


21

আমরা নিয়মিতভাবে বেশ কয়েকটি লগ পর্যবেক্ষণ করতে লেজ ব্যবহার করছি, তবে যখন কোনও লগটি ঘোরানো হয় তখন সেই ফাইলটির জন্য লেজটি বন্ধ হয়ে যায়।

যতদূর আমি বুঝতে পারি, সমস্যাটি হ'ল লগটি যখন ঘোরানো হয় তখন একটি নতুন ফাইল তৈরি হয় এবং চলমান লেজ প্রক্রিয়াটি নতুন ফাইল হ্যান্ডেল সম্পর্কে কিছুই জানে না।

উত্তর:


34

আহ, এটির জন্য একটি পতাকা আছে।

পরিবর্তে আমাদের ব্যবহার করা tail -f /var/log/fileউচিতtail -F /var/log/file


tail -Ftail --follow=name --retryহিসাবে হিসাবে অনুবাদ ;

  • --follow=name: ফাইল বর্ণনাকারীর পরিবর্তে ফাইলটির নাম অনুসরণ করুন
  • --retry: ফাইলটি যদি অ্যাক্সেসযোগ্য হয় তবে মৃত্যুর পরিবর্তে পরে আবার চেষ্টা করুন

তাদের কেন এমনকি "-f" বিকল্প থাকবে? এটি ডিফল্ট হওয়া উচিত!
ডোমিনিক সেরিসানো

27
# tail --follow=mylog.log

মানুষের লেজ থেকে :

With --follow (-f), tail defaults to  following  the  file  descriptor,
       which  means that even if a tail’ed file is renamed, tail will continue
       to track its end.  This default behavior  is  not  desirable  when  you
       really want to track the actual name of the file, not the file descrip‐
       tor (e.g., log rotation).  Use --follow=name in that case.  That causes
       tail  to track the named file by reopening it periodically to see if it
       has been removed and recreated by some other program.

সুতরাং এই ক্ষেত্রে -Fবিকল্পটি ব্যবহার করা সঠিক হবে।

-F     same as --follow=name --retry

11

সঠিক উত্তরটি আপনার ওএসের উপর নির্ভর করে - তবে অনেক ক্ষেত্রে tail -Fসঠিক কাজটি করবে।


3
যদি লেজ -F কাজ না করে তবে লেজ -F এর একটি সংস্করণ সংকলন করুন। অন্য বিকল্প পাগল শহরে একটি সংক্ষিপ্ত রাস্তা।
ক্রিস


2

আইএমএইচও, আপনার লগ ফাইলটি তারিখের পরিবর্তে সাইজে আকারে পরিবর্তন করা একটু অদ্ভুত। বেশিরভাগ সিস্টেমে লগগুলি (ইউনিক্স বা লিনাক্সে) একটি সাপ্তাহিক বা মাসিক ভিত্তিতে ঘোরানো হয়, এবং আকারের উপর ভিত্তি করে না ... এটি বিভিন্ন কারণে আমার পছন্দ হয় এবং এটি বাস্তবায়িত হলে আপনার সমস্যার সমাধান করবে would

আট বছর পরে, আমি জানি না আমি এখানে কীসের কথা বলছিলাম: এমন অনেকগুলি জায়গা রয়েছে যেখানে আপনি আকারের সাথে ঘুরতে চান কারণ দৈনিক / সাপ্তাহিক / মাসিক আবর্তনগুলি ম্যাসিভ ফাইল আনতে পারে যা গুরুতর সমস্যার কারণ হতে পারে।

আরও অভিজ্ঞ দৃষ্টিকোণ থেকে, আসল প্রশ্নটি হল আপনি কেন এমন একটি ফাইলকে বসাতে এবং অবিচ্ছিন্নভাবে লেগেই রাখতে চান যে আপনি এটি দৈনিকের চেয়ে বেশি ঘোরান ... এটি ম্যাট্রিক্স স্ট্রিমটি দেখার মতো হবে।

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


আমি সম্মতি জানাই এবং এটি আমি বুঝতে পারি যে এটি একটি জিনিস। আশা করি log4j এটি সমর্থন করে। ধন্যবাদ!
DivideByHero

1
আকার দ্বারা আবর্তনের একটি স্পষ্ট সুবিধা হ'ল আপনি নিশ্চিত হতে পারেন যে লগগুলির পুরো সেটটি কিছু জানা আকারের চেয়ে কম হবে।
জিম জাজকোভস্কি

1

আমি আমার প্রোডাকশন সার্ভারে কমান্ড ব্যবহার করি:

tail --follow var/log/apache-access_log --retry

-1

এছাড়াও, এটি আপনার উদ্দেশ্যগুলির জন্য সামান্য ভারী শুল্ক হতে পারে তবে আপনি যা চান ঠিক তা করতে স্প্ল্যাঙ্কের একটি লেজের বৈশিষ্ট্য রয়েছে। এটি 500 এমবি / দিন অবধি বিনামূল্যে, তবে যদি আপনার ডেটা আকারের চেয়ে বেশি হয় তবে এটি ব্যয় করার উপযুক্ত হবে না।

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