পাঠ্য ফাইল বা ডাটাবেসে লগ ইন?


25

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





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

উত্তর:


16

খুব সাধারণ পদে, কোনও পাঠ্য ফাইলে লগইন করা ডেটাবেজে লগ করার চেয়ে অনেক দ্রুত। এটি আপনাকে লগিংয়ের মূল দিকটি বিবেচনা করা উচিত।

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

আদর্শ হ'ল স্থানীয়ভাবে কোনও ফাইলে লগইন করা, এবং পরে যদি প্রয়োজন হয় তবে পরিদর্শন করার জন্য এই ডেটা একটি ডিবিতে স্থানান্তরিত করুন।

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


1
আরেকটি ব্যবস্থা আমি দেখেছি হ'ল স্থানীয়ভাবে লগগুলি প্রথমে লেখার জন্য এবং পরে কোনও ধরণের পটভূমির কাজ করে ডিবিতে ঠেলা যায়।
রবি ডি

@ রবিডিআই এই ধারণাটি পছন্দ করি। আমার একধরণের সদৃশ প্রশ্ন রয়েছে: সীমিত সময়সীমার লগ ফাইলগুলি (যেমন শেষ 30 দিনের মধ্যে কেবলমাত্র) সাধারণ থাকে তবে লগগুলিকে ডাটাবেসে ঠেলা যায় (উদাহরণস্বরূপ সাপ্তাহিক), তারপরে সমস্ত লগ ডাটাবেস => লগ ফাইলগুলিতে সঞ্চিত থাকে কেবল বাফারের মতো এবং সমস্ত পঠিত অপারেশন ডাটাবেসে করা হয়? ডিবিতে যেমন লিখতে বিলম্ব হচ্ছে, পারফরম্যান্স নিয়ে কোনও উদ্বেগ নেই, তাই না।
আল আন আন

9

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

অ্যাপ্লিকেশন ব্রেডক্র্যাম্বস

পেশাদাররা: কার্যকর করা সহজ এবং সরাসরি ব্যবহারকারীর কাছে দৃশ্যমান

কনস: তথ্য প্রয়োগের সময় কেবল অবিচ্ছিন্ন থাকে

লেখার ফাইল

পেশাদাররা: কার্যকর করা সহজ

কনস: ফাইল লকিং না ঘটে তা নিশ্চিত করা দরকার। লগ ড্রাইভে ডিস্কের স্থান ফুরিয়ে গেলে কী করবেন?

ইভেন্ট লগ

পেশাদাররা: কার্যকর করা সহজ

কনস: সঠিকভাবে সেট আপ না করা হলে ইভেন্ট লগ সম্পূর্ণ হয়ে উঠতে পারে বা ধরে রাখার নীতি / ক্লিয়ারডাউনের কারণে পুরানো লগগুলি হারিয়ে যেতে পারে।

ডেটাবেস

পেশাদাররা: কার্যকর করা সহজ

কনস: আরও ডিবি ট্রাফিক। কীভাবে ডিবি বা অন্যান্য ডিবি সমস্যার ক্ষতি করতে পারেন?

বার্তা (এমকিউ)

পেশাদাররা: আগুন এবং ভুলে যাও

কনস: অন্য একটি স্তর ভুল হতে। সেট আপ করা দরকার


আপনি সিসলগ ডেমন এবং এসএনএমপি লগ গন্তব্যগুলিও অন্তর্ভুক্ত করতে চাইতে পারেন।
gbjbaanb

@gbjbaanb আসলেই - কিছু OS এর মধ্যে এ জাতীয় কার্যকারিতা রয়েছে - এটি অবশ্যই একটি বিস্তৃত তালিকা নয়। উচ্চ প্রাপ্যতা সিস্টেমগুলি নীচে গেলে এসএমএসগুলিও পাঠাতে পারে।
রবি ডি

2

আপনার ডাটাবেসের সামগ্রীতে সম্পূর্ণরূপে ন্যায়সঙ্গত করার লক্ষ্যে নিরীক্ষণের উদ্দেশ্যে অডিট লগগুলিকে আরও বেশি সময়ের জন্য ক্রিয়াকলাপের পুরো সন্ধানের বিষয়টি নিশ্চিত করতে হবে।

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

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

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


1

ডিবাগ লগিংয়ের জন্য ডিবি ব্যবহার করার অনেকগুলি কারণ হ'ল ইভেন্ট ইভেন্ট বা পাঠ্য ফাইলগুলি দেখার জন্য যখন আপনার কাছে অ্যাপ্লিকেশন বা ওয়েব সার্ভারের অ্যাক্সেস নেই

অডিট লগগুলি আলাদা হয় তারপরে ওয়েব অ্যাপ্লিকেশনের প্রেক্ষিতে লগগুলি ডিবাগ করুন, কিছু অ্যাপ্লিকেশনগুলিতে আপনাকে তাদের শেষ ব্যবহারকারী হিসাবে দেখাতে হবে যাতে তাদের সহজে পুনরুদ্ধারের জন্য ডাটাবেসে যেতে হবে।

আপনি ফিল্টারিং এবং খুব সহজে দেখার জন্য ডিবি সরঞ্জাম ব্যবহার করতে পারেন।


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

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