ইউনিট 7 / 12

লগ বিশ্লেষণ এবং পর্যবেক্ষণযোগ্যতা

লাভ:

  • AI-তে মাস্কিং এবং ফিল্টার করে বড় লগ ডাম্পের সংক্ষিপ্তসার এবং একটি টাইমলাইন তৈরি করার ক্ষমতা
  • AI দ্বারা প্রতিষ্ঠিত সময়ের সম্পর্কগুলিকে অনুমান হিসাবে মূল্যায়ন করতে সক্ষম হওয়া, কার্যকারণ নয়
  • মেট্রিক্স এবং কোড সহ মূল কারণ অনুমান যাচাই করার ক্ষমতা এবং একটি পোস্টমর্টেম স্কেচ প্রস্তুত

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

এই ইউনিটে, আমরা পর্যবেক্ষণযোগ্যতার পরিপ্রেক্ষিতে AI ব্যবহার করতে শিখি — একটি সিস্টেমের বাহ্যিক আউটপুট দেখে তার অভ্যন্তরীণ অবস্থা বোঝার ক্ষমতা: লগ নয়েজ থেকে অর্থ বের করা, একটি বাগ-এর টাইমলাইন প্রতিষ্ঠা করা, পুনরাবৃত্তির ধরণ খুঁজে বের করা এবং পোস্টমর্টেম তৈরি করা। সামনে সমালোচনামূলক সতর্কতা: কাঁচা উত্পাদন লগ প্রায়ই ব্যক্তিগত তথ্য এবং গোপনীয়তা ধারণ করে; অযৌক্তিকভাবে এগুলিকে একটি এআই টুলে আটকানো একটি গুরুতর লঙ্ঘন।

কেন লগগুলি কঠিন, কেন এআই সহায়ক?

লগগুলি তিনটি কারণে কঠিন: ভলিউম (অনেকগুলি আছে), শব্দ (অনেক লাইন অপ্রাসঙ্গিক), এবং বিশৃঙ্খল (একটি ইভেন্ট বিভিন্ন পরিষেবার লগগুলিতে ছড়িয়ে ছিটিয়ে আছে)৷ মানুষের চোখ এই স্তূপে ক্লান্ত হয়ে পড়ে এবং গুরুত্বপূর্ণ লাইন মিস করে।

AI পাঠ্যের বড় ব্লকের সংক্ষিপ্তসারে, পুনরাবৃত্তির ধরণগুলি গণনা করতে এবং "ত্রুটির বিস্ফোরণের ঠিক আগে কী পরিবর্তন হয়েছে?" এটি সময় সম্পর্ক স্থাপনে শক্তিশালী যেমন যাইহোক, দুটি সীমা আছে। প্রথমটি হল প্রসঙ্গ উইন্ডো: একটি মডেলে আপনি যে পরিমাণ লগ ফিট করতে পারেন তা সীমিত, তাই আপনাকে প্রথমে ফিল্টার এবং নমুনা করতে হবে। দ্বিতীয়ত, বৈধতা: AI বলছে "এখানে মূল কারণ" একটি অনুমান; মেট্রিক্স এবং কোড দিয়ে নিশ্চিত না করে সিদ্ধান্ত নেবেন না।

সতর্কতা: কাঁচা উৎপাদন লগগুলিতে IP ঠিকানা, ইমেল, টোকেন, সেশন আইডি এবং কখনও কখনও খোলা গোপনীয়তা থাকতে পারে। তাদের AI খাওয়ানোর আগে মাস্ক করুন, অথবা শুধুমাত্র এন্টারপ্রাইজ-অনুমোদিত, ডেটা-সুরক্ষিত টুল ব্যবহার করুন। আমরা ইউনিট 10 এ এই বিষয়টিকে গভীর করি।

ধাপে ধাপে: লগ থেকে মূল কারণ পর্যন্ত

  1. সময় জানালা সংকুচিত. ইভেন্ট শুরু হলে মিনিট নির্ধারণ করুন; পুরো দিন নয়, সেই উইন্ডোটি পরীক্ষা করুন।
  2. আওয়াজ ফিল্টার আউট. পরিচিত পুনরাবৃত্তিমূলক, নিরীহ লাইন আগাছা; ত্রুটি (ERROR), সতর্কতা (WARN) এবং প্রথম বিচ্যুতি মুহূর্তটিতে ফোকাস করুন।
  3. মাস্ক সংবেদনশীল তথ্য. এআইকে দেওয়ার আগে ব্যক্তিগত ডেটা এবং গোপনীয়তাগুলি পরিষ্কার করুন।
  4. একটি সারাংশ এবং টাইমলাইন তৈরি করুন। AI কে ঘটনাটি একটি কালানুক্রমিকভাবে সংক্ষিপ্ত করতে বলুন ("প্রথমে এটি, তারপরে")।
  5. মেট্রিক্স এবং কোড সহ হাইপোথিসিস যাচাই করুন। AI দ্বারা নির্দেশিত কারণ; প্রযোজ্য হলে ড্যাশবোর্ড, প্রাসঙ্গিক কোড এবং স্থাপনার টাইমলাইন দিয়ে নিশ্চিত করুন।
  6. যা শিখেছি তা লিখতে দিন। একটি পোস্টমর্টেম স্কেচ তৈরি করুন এবং প্রতিরোধমূলক কর্মের তালিকা করুন।

তিনটি মিনি কেস

কেস 1 — 40,000 লাইন 5 মিনিটে সংক্ষিপ্ত করা হয়েছে। একটি অর্থপ্রদান পরিষেবা 12 মিনিটের জন্য একটি অন্তর্বর্তী ত্রুটি রিপোর্ট করেছে৷ দলটি AI-তে মুখোশযুক্ত লগগুলির প্রাসঙ্গিক 20-মিনিটের উইন্ডো (প্রায় 40,000 লাইন, নমুনাযুক্ত) ফিড করেছে এবং একটি টাইমলাইন তৈরি করেছে। মডেলটি দেখিয়েছে যে ত্রুটিটি সেই মুহূর্তের সাথে মিলে যায় যখন একটি নির্ভরতা পরিষেবার প্রতিক্রিয়া সময় 200 ms থেকে 8 সেকেন্ডে বৃদ্ধি পায়। দলটি ড্যাশবোর্ডে এটি নিশ্চিত করেছে এবং 10 মিনিটের মধ্যে কারণটি সংকুচিত করেছে।

কেস 2 - বিভ্রান্তিকর সম্পর্ক। অন্য একটি ঘটনায়, AI এটিকে দোষারোপ করেছে যে ত্রুটিগুলি "একই সময়ে" ক্রোন (নির্ধারিত কাজ) চালানোর মতো ঘটছিল। যখন দলটি মেট্রিক্স পরীক্ষা করে, তারা দেখেছিল যে ক্রন আসলে ইভেন্টের আগেই শেষ হয়ে গেছে; পারস্পরিক সম্পর্ক ছিল কাকতালীয়। আসল কারণ ছিল মেমরি লিক। পাঠ: AI দ্বারা প্রতিষ্ঠিত সময়ের পারস্পরিক সম্পর্ক একটি সূত্র, প্রমাণ নয়।

কেস 3 — পোস্টমর্টেম ত্বরান্বিত। বিভ্রাটের পরে, দলটি (মুখোশ) বার্তা প্রতিলিপি এবং টাইমলাইন ইভেন্ট চ্যানেল থেকে এআই-তে ফিড করে এবং এটি একটি পোস্টমর্টেম স্কেচ তৈরি করেছিল: সারাংশ, প্রভাব, সময়রেখা, মূল কারণ, ক্রিয়া। মানব সম্পাদক ঘটনাগুলি সংশোধন করেছেন এবং অ্যাকশন মালিকদের নিয়োগ করেছেন। নথিটি, যা সাধারণত 2 ঘন্টা সময় নেয়, একটি আরও সামঞ্জস্যপূর্ণ কাঠামোর সাথে প্রায় 40 মিনিটের মধ্যে সম্পন্ন হয়েছিল।

চারটি অনুলিপিযোগ্য টেমপ্লেট

লগ সারাংশ এবং সময়রেখা (মাস্কড লগ সহ):

নীচে মুখোশযুক্ত উত্পাদন লগের একটি ইভেন্ট উইন্ডো রয়েছে৷ 1) একটি কালানুক্রমিক টাইমলাইনে ইভেন্টটি ঢেলে দিন (প্রথম বিচ্যুতির মুহূর্তটি চিহ্নিত করুন)৷ 2) সর্বাধিক বারবার পুনরাবৃত্তি হওয়া ত্রুটি/সতর্কতা প্রকারগুলি গণনা করুন এবং গোষ্ঠী করুন৷ 3) "শুধু আগে কী পরিবর্তন হয়েছে?" প্রশ্নের জন্য প্রার্থী ঘটনা তালিকা. এগুলো অনুমান; এটিকে "যাচাই করা আবশ্যক" হিসেবে চিহ্নিত করুন। {{লগ}}

ত্রুটি প্যাটার্ন নিষ্কাশন:

এই লগ লাইনে পুনরাবৃত্তি ত্রুটির নিদর্শন খুঁজুন। প্রতিটি প্যাটার্নের জন্য: নমুনা লাইন (মুখোশ), আনুমানিক উত্স এবং সম্ভাব্য অর্থ। একটি পৃথক "মনোযোগ" তালিকায় বিরল কিন্তু গুরুতর একক ত্রুটি সংগ্রহ করুন৷{{logs}}

স্ট্রাকচার্ড ক্যোয়ারী/ফিল্টার জেনারেশন:

{{log tool: grep/jq/Kibana KQL/CloudWatch Insights}}-এর জন্য, নিম্নলিখিত শর্ত পূরণ করে এমন একটি প্রশ্ন লিখুন: {{যেমন গত 15 মিনিটে 5xx ত্রুটি, ব্যবহারকারী X}} বাদ দিয়ে। প্রশ্নটি ব্যাখ্যা করুন; আপনি ডোমেন নাম তৈরি করছেন না তা নিশ্চিত করুন, আপনি নিশ্চিত না হলে জিজ্ঞাসা করুন।

পোস্টমর্টেম স্কেচ:

নিম্নলিখিত (মাস্কড) ইভেন্ট টাইমলাইন থেকে একটি পোস্টমর্টেম স্কেচ লিখুন: সারাংশ / প্রভাব (সময়কাল, ব্যবহারকারী প্রভাবিত) / সময়রেখা / মূল কারণ / কী ভাল হয়েছে / ক্রিয়াকলাপ (প্রতিটির জন্য মালিকের ক্ষেত্রটি ফাঁকা রাখুন)। অভিযুক্ত ভাষা ব্যবহার করবেন না; বাস্তবসম্মত এবং সক্রিয় হন।{{timeline}}

দুর্বল প্রম্পট / শক্তিশালী প্রম্পট

দুর্বল: "এই লগগুলি দেখুন, কি ভুল?" (ব্যক্তিগত ডেটা সহ সারা দিনের কাঁচা লগ, লক্ষ্যহীন।)
শক্তিশালী: "নীচে 14:02–14:20 থেকে মাস্কড প্রোডাকশন লগ (5xxs এ ফিল্টার করা হয়েছে)৷ এই উইন্ডোতে, ত্রুটিটি বিস্ফোরণ শুরু হওয়ার মুহূর্তটি খুঁজুন, সবচেয়ে ঘন ঘন ত্রুটির ধরন গণনা করুন এবং বিস্ফোরণের ঠিক আগে 60 সেকেন্ডের মধ্যে প্রদর্শিত বিচ্যুতিগুলি তালিকাভুক্ত করুন; সেগুলিকে 'অনুমানিত' হিসাবে চিহ্নিত করুন৷"

শক্তিশালী সংস্করণ; এটি টাইম উইন্ডোকে সংকুচিত করে, লগটিকে ফিল্টার করে এবং মাস্ক করে, একটি পরিষ্কার প্রশ্ন জিজ্ঞাসা করে এবং শুরু থেকেই প্রতিষ্ঠিত করে যে আউটপুটটি একটি হাইপোথিসিস।

কোয়েস্ট

এআই শক্তিশালী

সীমা/যাচাই

বড় লগ সারাংশ

হ্যাঁ, দ্রুত

নমুনা ক্ষতি হতে পারে

একটি সময় সম্পর্ক স্থাপন

ইঙ্গিত তৈরি করে

পারস্পরিক সম্পর্ক ≠ কার্যকারণ

ক্যোয়ারী/ফিল্টার জেনারেশন

ভাল খসড়া

ডোমেইন নাম কি আসল?

পোস্টমর্টেম স্কেচ

গঠন এবং ভাষা

কেস মানুষের নিশ্চিত করা হয়

পারস্পরিক সম্পর্ক কারণ নয়

লগ বিশ্লেষণের সবচেয়ে সাধারণ সমস্যা হল "এটি একই সময়ে ঘটেছে, তাই এই কারণে" ভুল। এআই এই ফাঁদে পড়ে যতটা সহজে, যদি না সহজে, মানুষের চেয়ে; কারণ এটি মনে করে পাঠ্যের একযোগে একটি শক্তিশালী সংকেত। বলতে সক্ষম হওয়া যে একটি ঘটনা আসলে অন্যটির দিকে নিয়ে যায়; সময়, প্রক্রিয়া এবং, যদি সম্ভব হয়, পুনরাবৃত্তিযোগ্যতা প্রয়োজন। AI প্রতিষ্ঠিত প্রতিটি কার্যকারণ দাবির জন্য, আমরা জিজ্ঞাসা করি "আর কোন প্রমাণ এটি নিশ্চিত করে?" প্রশ্ন দিয়ে পরীক্ষা করুন।

টিপ: AI-তে লগিং করার সময়, টেক্সট ডাম্পের পরিবর্তে, যদি সম্ভব হয়, প্রথমে একটি ক্যোয়ারী/ফিল্টার প্রিন্ট করুন এবং আপনার গাড়িতে চালান; এইভাবে আপনি উভয়ই সংবেদনশীল ডেটা হ্রাস করবেন এবং মডেলের প্রসঙ্গ উইন্ডোটিকে সত্যিই গুরুত্বপূর্ণ সারিগুলিতে আলাদা করবেন।

সাধারণ ভুল

  • কাঁচা, মুখোশমুক্ত লগ আটকানো হচ্ছে। ব্যক্তিগত তথ্য এবং গোপনীয়তা প্রকাশ; গোপনীয়তার একটি গুরুতর লঙ্ঘন।
  • একযোগে সারাদিন দেওয়া। এটি প্রসঙ্গ উইন্ডো অতিক্রম করে, সংকেত শব্দে নিমজ্জিত হয়।
  • কার্যকারণ জন্য ভুল পারস্পরিক সম্পর্ক. AI দ্বারা প্রতিষ্ঠিত সময়ের সম্পর্ক একটি সূত্র, প্রমাণ নয়।
  • একটি তৈরি করা ডোমেন নাম সহ একটি প্রশ্নের উপর নির্ভর করা। মডেলটি এমন একটি লগ ক্ষেত্রের নাম প্রস্তাব করতে পারে যা বিদ্যমান নেই; স্কিম্যাটিক দিয়ে যাচাই করুন।
  • পোস্টমর্টেম যাচাই না করেই প্রকাশ করা। তথ্য এবং প্রভাব পরিসংখ্যান মানুষের নিশ্চিত হতে হবে.

সংক্ষেপে

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

আবেদন টাস্ক

আপনার কাছে থাকা একটি ইভেন্ট বা পরীক্ষার পরিবেশ লগ থেকে একটি 15-20 মিনিটের উইন্ডো নির্বাচন করুন। প্রথমে ব্যক্তিগত তথ্য এবং গোপনীয়তাগুলি মাস্ক করুন (বা একটি সিন্থেটিক লগ তৈরি করুন)। তারপর "লগ সারাংশ এবং টাইমলাইন" টেমপ্লেট সহ AI থেকে একটি কালানুক্রম এবং সবচেয়ে ঘন ঘন ত্রুটির ধরন বের করুন। আপনার কাছে থাকা একটি মেট্রিক বা কোডের টুকরো দিয়ে AI সামনে রাখা মূল কারণ অনুমান যাচাই করার চেষ্টা করুন: অনুমানটি কি ধরেছিল, নাকি এটি একটি বিভ্রান্তিকর সম্পর্ক ছিল? একটি বাক্যে আপনার অনুসন্ধান লিখুন।

চেকলিস্ট

  • [ ] আমি এআইকে লগ দেওয়ার আগে ব্যক্তিগত তথ্য এবং গোপনীয়তাগুলিকে মাস্ক করি৷
  • [ ] আমি বিশ্লেষণটিকে একটি সংকীর্ণ সময় উইন্ডো এবং ফিল্টারে কমিয়ে দিই৷
  • [ ] আমি AI দ্বারা প্রতিষ্ঠিত সময়ের সম্পর্কগুলিকে অনুমান হিসাবে দেখি, কার্যকারণ নয়।
  • [ ] আমি মেট্রিক্স এবং কোড দিয়ে মূল কারণ দাবি যাচাই করি।
  • [ ] আমি নিশ্চিত করছি যে আমার তৈরি করা প্রশ্ন/ফিল্টারগুলির ডোমেন নামগুলি আসল৷
  • [] পোস্টমর্টেম স্কেচের তথ্য এবং পরিসংখ্যান আমি মানবিকভাবে প্রত্যয়ন করি।