লিনাক্সে সাধারণ লগিং / লোগ্রোটেশন সম্পর্কে শিখছেন?


13

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

লগিংয়ের বিষয়ে কেউ যদি সেই পরিস্থিতিতে কেউ (টিউটোরিয়াল, ম্যান পেজ, বই) ব্যবহার করতে চান তবে আপনি কোন সংস্থানগুলির পরামর্শ দেবেন?

কোনও লিনাক্স ব্যবহারকারীকে দৈনিক / মাসিক ভিত্তিতে কোন লগগুলি পড়া উচিত? অনুমানটি কি আরও সঠিক যে এগুলি মানব পাঠযোগ্যতার জন্য রচিত বা এগুলি সাধারণত মূল্যায়ন করা হয় এবং অন্যান্য সরঞ্জাম দ্বারা ব্যবহৃত হয়?

এই লগগুলি সম্পর্কে সাধারণ * নিক্স ব্যবহারকারী এবং সফ্টওয়্যার বিকাশকারীকে কী জানতে হবে?

লগ রোটেশন সম্পর্কে আপনার কী জানা দরকার, যদি আপনি প্রচুর পরিমাণে ইভেন্টের সাথে পেশাদার ওয়েব সার্ভারগুলি পরিচালনা করার আশা করেন না?


এগুলি মূলত একই প্রশ্ন (আমার উত্তর দেখুন) যেহেতু আমি (বা আপনি) "উবুন্টুতে" পরিবর্তে "লিনাক্সে" পড়ার জন্য শিরোনামটি সম্পাদনা করি তাতে কি আপত্তি আছে? সঙ্গে শেষ যে আমরা যেভাবে সম্ভাবনা কম হয় বদ্ধ ডুপ্লিকেট "খিলান উপর লগিং শেখার", "CentOS উপর লগিং শেখার", ইত্যাদি প্রশ্ন
স্বর্ণকেশ

উত্তরগুলি যতক্ষণ ভাল হবে ততক্ষণ আমি এই জাতীয় পরিবর্তনগুলিতে কিছু মনে করি না :)
এরিকবওয়ার্ক

উত্তর:


18

[এটি সিস্টেমড সিস্টেমে জার্নাল্ডগুলি ব্যাপকভাবে গ্রহণের কয়েক বছর আগে লেখা হয়েছিল এবং এটি এতে স্পর্শ করে না। বর্তমানে (2018 এর শেষের দিকে) নীচে বর্ণিত জার্নাল্ড এবং (আর) সিসলগ উভয়ই ডিবিয়ানের মতো ডিস্ট্রোজে ব্যবহার করা হয়। অন্যদের কাছে, আপনি যদি পাশাপাশি এটি ব্যবহার করতে চান তবে আপনাকে আরএসস্লগ ইনস্টল করতে হতে পারে তবে জার্নাল্ডের সাথে সংহতকরণ সোজা ward]

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

অনুমানটি কি আরও সঠিক যে এগুলি মানব পাঠযোগ্যতার জন্য রচিত বা এগুলি সাধারণত মূল্যায়ন করা হয় এবং অন্যান্য সরঞ্জাম দ্বারা ব্যবহৃত হয়?

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

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

syslog- র

"সিসলগ" আসলেই একটি মান যা ডেমোনের প্রক্রিয়া প্রয়োগ করে সাধারণভাবে সিজলগড (ডি ডেমনের জন্য!) বলা হয়। উবুন্টু সহ বর্তমানে লিনাক্সে ব্যবহৃত সিম্লগ ডেমন বর্তমানে ব্যবহৃত হয় rsyslogd। Rsyslogd অনেক কিছু করতে পারে, তবে বেশিরভাগ ডিস্ট্রোজে বাক্সের বাইরে কনফিগার করা হিসাবে এটি একটি aতিহ্যবাহী সিসলগকে অনুকরণ করে যা এতে সরল পাঠ্য ফাইলগুলিতে স্টাফ সাজায় /var/log। আপনি এটির জন্য ডকুমেন্টেশন পেতে পারেন /usr/share/doc/rsyslog-doc-[version](সাবধান, একটিও রয়েছে /usr/share/doc/rsyslog-[version], তবে এটি উত্স প্যাকেজ যেমন NEWSএবং এর থেকে কেবলমাত্র বিজ্ঞপ্তিগুলি ChangeLog)। যদি এটি সেখানে থাকে তবে এটি এইচটিএমএল, তবে স্ট্যাক এক্সচেঞ্জ স্থানীয় ফাইল লিঙ্কগুলি এম্বেড করার অনুমতি দেয় না:

file://usr/share/doc/rsyslog-doc/index.html

সুতরাং আপনি এটি অনুলিপি করার চেষ্টা করতে পারেন। যদি এটি সেখানে না থাকে তবে এটি কোনও পৃথক প্যাকেজের অংশ হতে পারে যা ইনস্টল করা হয়নি। আপনার প্যাকেজিং সিস্টেমের জিজ্ঞাসা করুন (যেমন, apt-cache search rsyslog | grep doc)।

কনফিগারেশনটি রয়েছে /etc/rsyslog.conf, যার একটি ম্যানুয়াল পৃষ্ঠা রয়েছে, man rsyslog.confযদিও ম্যানুয়াল পৃষ্ঠাটি একটি সূক্ষ্ম রেফারেন্স তৈরি করে, এটি পরিচিতি হিসাবে কম কম অনুভূত হতে পারে। ভাগ্যক্রমে, স্টক এর মূলসূত্রগুলি rsyslog.conf traditionalতিহ্যবাহী syslog.conf এর সাথে সামঞ্জস্য করে, যার জন্য চারপাশে প্রচুর পরিচিতি এবং টিউটোরিয়াল রয়েছে। এটি একটি উদাহরণস্বরূপ; তুমি কি, যখন আপনার স্থানীয় rsyslog.conf এ পীয়ারিং, যে থেকে দূরে নিতে চান একটি বোঝা সুবিধা এবং অগ্রাধিকার ( "অগ্রাধিকার" কখনও কখনও হিসাবে উল্লেখ করা হয় loglevel), যেহেতু এগুলি পূর্বোক্ত সিসলগ স্ট্যান্ডার্ডের অংশ। এই স্ট্যান্ডার্ডটি গুরুত্বপূর্ণ হওয়ার কারণটি হ'ল আরএসস্লগ আসলে কর্নেলের মাধ্যমে তার স্টাফ পেয়ে থাকে এবং কার্নেলটি প্রয়োগ করে তা স্ট্যান্ডার্ড।

$Rsyslog.conf- র নির্দেশাবলী সম্পর্কিত, এগুলি rsyslog নির্দিষ্ট এবং আপনি যদি thatচ্ছিক ডক প্যাকেজটি ইনস্টল করেন তবে আপনি তাদের জন্য একটি গাইড খুঁজে পাবেন rsyslog_conf_global.html

মজা করুন ... অ্যাপ্লিকেশনগুলি সিস্টেম লগার কীভাবে ব্যবহার করে সে সম্পর্কে আপনি যদি আগ্রহী হন তবে দেখুন man loggerএবং man 3 syslog

লগ রোটেশন

লগগুলি ঘোরানোর আদর্শিক উপায়গুলি একটি সরঞ্জাম logrotate(যা একটি রয়েছে man logrotate) এর মাধ্যমে। লোগ্রোটেট ব্যবহারের আদর্শিক পদ্ধতিটি ক্রোন ডেমনের মাধ্যমে হয় , যদিও এটি সেভাবে করা হয় না (উদাহরণস্বরূপ, আপনি যদি প্রতিদিন আপনার ডেস্কটপটি বন্ধ করে রাখেন তবে সিসলগ শুরু হওয়ার আগে আপনি এটি একবার বুটে একবার করতে পারেন তবে, স্পষ্টতই, ফাইল সিস্টেমটি মাউন্ট করার পরে rw)।

লোগ্রোটেটের এখানে একটি ভাল ভূমিকা রয়েছে । নোট করুন যে লোগ্রোটেটটি কেবল সিসলগ স্টাফের জন্য নয় , এটি কোনও ফাইলের সাথেই ব্যবহার করা যেতে পারে। বেস কনফিগারেশন ফাইলটি /etc/logrotate.conf, তবে যেহেতু কনফিগারেশনের একটি "অন্তর্ভুক্ত" নির্দেশিকা থাকে তাই সাধারণত বেশিরভাগ স্টাফ /etc/logrotate.dডিরেক্টরিতে পৃথক ফাইলে যায় (এখানে ডি ডিরেক্টরিটি ডিমন হিসাবে নয়; লোগ্রোটেটটি ডিমন নয়)।

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


2
আপনি যদি উল্লেখ syslog-ngকরেন তবে লিনাক্স-লগিংয়ের জন্য যা আছে তা লিখে রেখেছেন written দুর্দান্ত উত্তর।
নীল

আমি অনেক কিছু শিখেছি এবং পড়ার আরও উত্স রয়েছে। ধন্যবাদ! BTW। অ্যাপাচে সিস্টেম লগিং ব্যবহার করা খারাপ হবে কেন? এবং কোন লগগুলি পড়তে চাই?
এরিকবওয়ার্ক

@ এরিকবি 85 1) বেশিরভাগ কারণ অ্যাপাচি প্রচুর আউটপুট উত্পন্ন করে। আমাকে দীর্ঘদিনে অ্যাপাচি কনফিগার করতে হয়নি, সুতরাং সিসলোগে নির্দিষ্ট জিনিস প্রেরণে ডাব্লুআরটি কতটা নমনীয় তা আমি মনে করতে পারি না (তবে আমি খুব নমনীয় অনুমান করতে পারি) 2) আপনি যে ডাব্লুআরটি লগগুলি পড়তে চান তা একবার দেখুন আপনার যুক্তিতে /etc/rsyslog.conf। উদাহরণস্বরূপ: প্রায়শই একটি নির্দিষ্ট অগ্রাধিকারের উপরের জিনিসগুলি .ুকে যাবে /var/log/messagesএবং এর নীচে স্টাফগুলি প্রবেশ করবে /var/log/notice। আমি এমন একটি লগও রাখতে চাই যাতে সমস্ত কিছু থাকে যা দ্বিগুণ এবং ট্রিপল ওভারল্যাপ তৈরি করে, তবে আপনি যদি এগুলি ঘোরান রাখেন তবে এটি কোনও বড় বিষয় নয়।
স্বর্ণলোকস

শুধু নিশ্চিত করার জন্য, rsyslogডেমনের মোড়ক প্রায় নয় , তাই না logrotate? কেন এমন?
টমাস

@ থমাস তারা বিভিন্ন উদ্দেশ্য সম্পাদন করে, যদিও (আর) সিসলোগ লোগ্রোটেটের প্রয়োজনীয়তা রক্ষা করতে ঘূর্ণন বাস্তবায়ন করতে পারে। তবে এগুলি আলাদা করার অর্থ আপনি সিসলগ ফাইল ব্যতীত অন্য কোনও জিনিসগুলিতে লোগ্রোটেট ব্যবহার করতে পারেন।
স্বর্ণলোকগুলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.