RSSyslogd (8) এর মাধ্যমে অ্যাসিঙ্ক্রোনাস লগিং এবং বাফার বৃদ্ধি লেখুন


10

ভার্চুয়াল কনটেইনারগুলিতে (ভিএমওয়্যার) চলমান এবং স্থানীয় স্টোরেজের অভাবের খুব উচ্চতর ট্র্যাফিক ওয়েবসাইটটিতে আমরা সরাসরি লগ-ফাইলে (যা দূরবর্তী নেটওয়ার্ক স্টোরেজটিতে থাকে) লগইন করে সুইচিংয়ের মাধ্যমে থ্রুটপুট (প্রতি সেকেন্ডের অনুরোধগুলি) উল্লেখযোগ্যভাবে বাড়িয়ে নিয়েছি to rsyslogd

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

এ পর্যন্ত সব ঠিকই. সমস্যাটি হ'ল আত্মিকভাবে rsyslogd লেখা (যেমন একটি ক্ষণিকের / দীর্ঘায়িত নেটওয়ার্ক বিচ্ছিন্নতা) রোধ করা হয় এবং আগত বাফার দ্রুত পূরণ করতে পারে ills

আমার প্রশ্নগুলি হ'ল:

  • Syslog (3) ব্যবহার করে rsyslogd এ লেখার সময় কোনও ক্লায়েন্ট কি কখনও ব্লক করতে পারে ?
  • আরএসস্লগড পরিসংখ্যানগুলিতে দেখার কোনও উপায় আছে , যেমন বাফারটি কত বড় / পূর্ণ?
  • আরএসস্লগড ইনকামিং বাফারের আকার বাড়ানোর কোনও উপায় আছে কি ?

2
আপনি কি কখনও এই সমাধান করেছেন? যদি তা হয় তবে আমি আপনার উত্তরটি পড়তে আগ্রহী।
djeikyb

1
@ ডিজেইকিব: দুঃখিত না। আমি আগ্রহ দেখছি (প্রশ্নে ভোট) তবে এখনও কেউ এর উত্তর দেয়নি। দেখে মনে হচ্ছে এটির জন্য একটি উত্স-কোড ডাইভ দরকার।
আরিফেল

1
আপনি কোন ওয়েব সার্ভার ব্যবহার করছেন তা বলবেন না। হতে পারে আপনি মোটেও সিসলগ ব্যবহার করা উচিত নয়। উদাহরণস্বরূপ, আপাচি লগ করার জন্য সিসলগ ব্যবহার করে, বা কেবল ফাইল লগ করতে লিখছেন? ডাটাবেসে লগইন করা আরেকটি সম্ভাবনা।
blujay

উত্তর:


1

যতদূর আমি মনে করি আরএসস্লাগে মূল বার্তা সারিটির জন্য ডিফল্ট মোডটি স্থির আকারের অ্যারে। এটির 10k উপাদান বা তার জন্য সীমা রয়েছে। এটি লিঙ্কযুক্ত তালিকার সারিতে পরিবর্তন করার চেষ্টা করুন এটি আপনার মাঝে মাঝে বার্তাটি আরও ভালভাবে ফেটে যায়।

হ্যাঁ, আছে FixedArrayএবং LinkedListসারি আছে।


"পরিবর্তন করার চেষ্টা করুন" ... আপনি আরও সুস্পষ্ট হতে পারেন? এ খুঁজছেন /etc/rsyslog.conf: আমি যে ধরণের সারির উল্লেখ করেছি তার সাথে সম্পর্কিত কিছুই দেখতে পাচ্ছি না। এর জন্য কি কোনও কোড পরিবর্তন দরকার? এগুলি কোথায় এবং কীভাবে কনফিগার করা যায়? ধন্যবাদ!
আরিফেল

1

আপনার প্রথম প্রশ্নের উত্তরটি হ'ল:

হ্যাঁ, সিসলগ () এর কোনও কলই অবরুদ্ধ। সম্ভবত খুব অল্প সময়ের জন্য, তবে এটি এখনও একটি ফাইল বর্ণনাকারীর সাথে জড়িত একটি সিঙ্ক্রোনাস কল। দেখুন man 3 syslogআরো detials জন্য।

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

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

প্রথমত , "উত্সাহিত" সার্ভারগুলিতে আপনার সমস্ত লগিং সিসলগের মাধ্যমে ঘটে তা নিশ্চিত করা দরকার। উদাহরণস্বরূপ, অ্যাপাচি 2 এ আপনাকে উল্লেখ করতে হবে:

ErrorLog "syslog:daemon"

অন্যান্য সার্ভারের জন্য দয়া করে সঠিক ম্যান পৃষ্ঠাটি দেখুন। যদি আপনি এটি নিশ্চিত করতে না পারেন তবে দয়া করে মনে রাখবেন ফাইল সিস্টেমে লগইন তৈরি করতে পারে

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

daemon.* @192.168.128.1
daemon.* @192.168.254.1

লগগুলির দুটি অনুলিপি একই সাথে দুটি পৃথক সার্ভারে প্রেরণ করতে হবে।

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

$ModLoad imudp
$UDPServerRun 514

চতুর্থ , butচ্ছিক তবে উচ্চ প্রস্তাবিত, আমি উচ্চ রেজোলিউশন টাইমস্ট্যাম্পগুলি সক্ষম করব:

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

এছাড়াও এই বিকল্পটি সাধারণত ডিফল্টরূপে অক্ষম থাকে (কেন পৃথিবীতে?)

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