এসএলএফ 4 জে / লগব্যাকে চিহ্নিতকারীদের ব্যবহারের জন্য সেরা অনুশীলন


127

আমরা এখন আমাদের প্রকল্পে কিছুক্ষণের জন্য এসএলএফ 4 জে + লগব্যাক সংমিশ্রণটি ব্যবহার করছি এবং এটিতে বেশ খুশি, তবে আমাদের লগিং কৌশলটি মোটামুটি সহজ, সোজা শ্রেণি ভিত্তিক লগার এবং এমডিসি বা মার্কারগুলির মতো কোনও অভিনব জিনিস নেই।

আমি যা জানতে চাই তা হল সম্প্রদায়ের কেউ যদি এই বৈশিষ্ট্যগুলি ব্যবহার করে এবং লগিং / ফিল্টারিং উন্নত করতে কীভাবে সেগুলি ব্যবহার করা হয়।

আমি বিশেষভাবে যেখানে, কেন এবং কিভাবে আগ্রহী এক ব্যবহার করেন [1] লগিং জন্য চিহ্নিতকারী। তারা আমাকে লগিংয়ে অর্থগত প্রসঙ্গ যুক্ত করার জন্য একটি সুন্দর ঝরঝরে বৈশিষ্ট্য হিসাবে আঘাত করেছে - যেমন কোনও শ্রেণি একাধিক উদ্বেগ মোকাবেলা করতে পারে, লগের বিবৃতিগুলিকে বৈষম্যমূলকভাবে চিহ্নিত করার জন্য কোনও নির্দিষ্ট টাস্ক / উদ্বেগ নির্দিষ্ট মার্কার ব্যবহার করতে পারে।

লগিংয়ে চিহ্নিতকারী তৈরি ও ব্যবহারের জন্য সেরা অনুশীলন, সম্মেলন বা কৌশলগুলি কী হতে পারে।

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


[1] - মার্কারগুলি কীভাবে ব্যবহার করবেন তা জিজ্ঞাসা করে আমি কীভাবে এপিআই ব্যবহার করতে হবে তা জিজ্ঞাসা করছি না (এটি সত্যিই বেশ সোজা এগিয়ে রয়েছে) - আমি বরং আরও সাধারণ স্তরের উল্লেখ করছি যেভাবে কীভাবে কোনওভাবে ধারাবাহিকভাবে মার্কার ব্যবহার করে লগিং সেট আপ করা যায়?

উত্তর:


98

প্রথমে, যেমন @ দারিও বলেছেন:

  • MDC একাধিক ইভেন্টকে কয়েকটি "সত্ত্বার" সাথে যুক্ত করার জন্য ব্যবহৃত হয়
  • [চিহ্নিতকারী] "বিশেষ" ইভেন্টগুলির জন্য ব্যবহার করা হয় যা আপনি সাধারণ ইভেন্ট থেকে ফিল্টার করতে চান

সুতরাং আপনার দাবি যে আপনি এটির জন্য এমডিসি ব্যবহার করতে চান। চিহ্নিতকারীরা "বিশেষ" ইভেন্টগুলি হাইলাইট করার জন্য - ফিল্টারিং, যদি আপনি "টুকরো টুকরো" না করেই চান। উদাহরণস্বরূপ, আপনি কোনও নির্দিষ্ট ব্যবহারকারীর উপর ভিত্তি করে স্লাইস করতে পারেন তবে কোনও অপ্রত্যাশিত ব্যতিক্রমের ভিত্তিতে ফিল্টার করতে পারেন। এই ক্ষেত্রে, আপনি একটি ব্যবহারকারী MDC মাত্রা এবং একটি অপ্রত্যাশিত এক্সসেপশন মার্কার তৈরি করবেন।


তবে এটি আপনার মনে যে প্রশ্নটি ছিল তা আপাতভাবে সমাধান করে না। আপনি "বরং আরও সাধারণ স্তরের উল্লেখ করছেন যে কোনওভাবে কীভাবে ধারাবাহিকভাবে মার্কার ব্যবহার করে লগিং সেট আপ করা যায়।" সুতরাং আসুন যে ঠিকানা:

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

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

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

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

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


7
দুর্দান্ত উত্তর। আমি যুক্তি দিয়েছি যে MDC যা একটি থ্রেড ভিত্তিক ডেটা স্ট্রাকচার এটি ফিল্টারিংয়ের জন্যও ব্যবহার করা যেতে পারে।
Ceki

দুর্দান্ত উত্তর। তবে ইএসএল কর্মচারী কী?
ডার্মাইক

ধন্যবাদ. ইংরেজি একটি দ্বিতীয় ভাষা হিসাবে.
ব্যবহারকারী 359996

76

প্রথম, এমডিসি।

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

...[Sandy][abcd] clicked on "change profile"
...[Joe][1234] clicked on "weather reports"
...[Joe][1234] clicked on "Europe"
...[Sandy][abcd] clicked on "logout"
...[Joe][1234] clicked on "logout"
...[Sandy][efgh] logged in

এখানে, আপনি দুটি জায়গায় এমডিসি ব্যবহার করছেন: ব্যবহারকারীর নাম এবং সেশন আইডির জন্য। এইভাবে, আপনি সহজেই একজন ব্যবহারকারীর সেশনটি গ্রেপ্তার করতে পারেন তারা যা করছে তা দেখতে।

দ্বিতীয়, চিহ্নিতকারী।

চিহ্নিতকারী সাধারণত "বিশেষ" পরিস্থিতিতে যেমন কিছু গুরুতর গুরুতর ত্রুটির জন্য প্রশাসকের কাছে ইমেল প্রেরণের জন্য ব্যবহৃত হয়। সব ত্রুটি সবসময় একই বিভাগে আসে না; কিছু উপযুক্ত উপায়ে মোকাবেলা করতে হবে।

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

চলতি নিয়ম:

  • MDC একাধিক ইভেন্টকে কয়েকটি "সত্ত্বার" সাথে যুক্ত করার জন্য ব্যবহৃত হয়
  • চিহ্নিতকারীগুলি "বিশেষ" ইভেন্টগুলির জন্য ব্যবহার করা হয় যা আপনি সাধারণগুলি থেকে ফিল্টার করতে চান

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

3
@ রোল্যান্ড: আমি কয়েকটি উদাহরণ যুক্ত করেছি, তবে আমি সমস্ত উদাহরণ যুক্ত করতে পারি না কারণ সেগুলি সংজ্ঞা অনুসারে সীমাহীন। আপনি যদি চিহ্নিতকারীদের অনুপ্রেরণা এবং কারণ বুঝতে পারেন তবে তাদের ব্যবহার কেবলমাত্র আপনার কল্পনা এবং সাধারণ জ্ঞানের দ্বারা সীমাবদ্ধ।
darioo

32

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

  1. ট্রিগারিং : কিছু appender একটি নির্দিষ্ট মার্কার উপস্থিতিতে একটি পদক্ষেপ নিতে নির্দেশ যেতে পারে। উদাহরণস্বরূপ, লগ স্তরটি নির্বিশেষে চিহ্নিতকারীটির SMTPAppenderসাথে কোনও লগিং ইভেন্ট চিহ্নিত করা হলে ইমেল প্রেরণে কনফিগার করা যেতে পারে NOTIFY_ADMIN। লগব্যাক ডকুমেন্টেশনে চিহ্নিতকারী ভিত্তিক ট্রিগার দেখুন । আপনি ট্রিগার জন্য লগ স্তর এবং চিহ্নিতকারী একত্রিত করতে পারেন।

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


11

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

বিস্তারিত এখানে দেখুন:

https://github.com/logstash/logstash-logback-encoder#loggingevent_custom_event

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