واحد 7 / 12

تجزیه و تحلیل گزارش و قابلیت مشاهده

سود:

  • امکان خلاصه کردن لاگ های بزرگ با پوشاندن و فیلتر کردن آنها به هوش مصنوعی و ایجاد یک جدول زمانی
  • توانایی ارزیابی روابط زمانی ایجاد شده توسط هوش مصنوعی به عنوان فرضیه، نه علیت
  • امکان اعتبار سنجی فرضیه علت اصلی با متریک و کد و تهیه طرح پس از مرگ

هنگامی که یک نرم افزار در حال اجرا است (محیط زنده)، تنها ردیابی ها، معیارها و گزارش ها (خطوط ثبت با مهر زمانی که برنامه در حال اجرا تولید می کند) به شما می گوید که چه کاری انجام می دهد. کشیدن یک سیگنال معنی دار از هزاران، گاهی اوقات میلیون ها، خط ورود به سیستم در طول یک قطع، استرس زاترین و بحرانی ترین لحظه واکنش یک حادثه است. در اینجا، هوش مصنوعی می‌تواند کمکی باشد، متن‌های عظیم را خلاصه می‌کند، الگوها را استخراج می‌کند، و فرضیه‌ها را ایجاد می‌کند - تا زمانی که به حریم خصوصی و محدودیت‌های تأیید احترام بگذارید.

در این بخش، ما یاد می‌گیریم که از هوش مصنوعی در زمینه مشاهده‌پذیری استفاده کنیم - توانایی درک وضعیت داخلی یک سیستم با نگاه کردن به خروجی‌های خارجی آن: استخراج معنا از نویز گزارش، تعیین جدول زمانی یک اشکال، یافتن الگوهای تکراری، و تهیه پیش‌نویس پس از مرگ. اخطار بحرانی از قبل: سیاهههای مربوط به تولید خام اغلب حاوی اطلاعات و اسرار شخصی هستند. چسباندن تصادفی آنها به ابزار هوش مصنوعی یک نقض جدی است.

چرا لاگ ها سخت هستند، چرا هوش مصنوعی مفید است؟

گزارش‌ها به سه دلیل دشوار هستند: حجم (بیش از حد وجود دارد)، نویز (بسیاری از خطوط بی‌ربط هستند)، و درهم‌هم‌روی (یک رویداد در لاگ‌های سرویس‌های مختلف پراکنده است). چشم انسان در این توده خسته می شود و خط مهم را از دست می دهد.

هوش مصنوعی در خلاصه کردن بلوک‌های بزرگ متن، شمارش الگوهای تکراری و پرسیدن «چه چیزی درست قبل از این انبوه خطاها تغییر کرده است؟» خوب است. در برقراری روابط زمانی قدرتمند است، اما دو محدودیت وجود دارد. اولی پنجره زمینه است: میزان گزارش هایی که می توانید در یک مدل قرار دهید محدود است، بنابراین ابتدا باید فیلتر و نمونه برداری کنید. دوم، اعتبارسنجی: هوش مصنوعی که می‌گوید «علت اصلی اینجاست» یک فرضیه است. بدون تایید آن با معیارها و کد تصمیمی نگیرید.

احتیاط: گزارش‌های تولید خام ممکن است حاوی آدرس IP، ایمیل، رمز، شناسه جلسه و گاهی اوقات محرمانه باشد. قبل از اینکه آنها را با هوش مصنوعی تغذیه کنید، آنها را بپوشانید، یا فقط از ابزارهای مورد تایید سازمانی و ایمن داده شده استفاده کنید. این موضوع را در بخش 10 تعمیق می دهیم.

گام به گام: از لاگ تا علت اصلی

  1. پنجره زمان را باریک کنید. دقیقه شروع رویداد را تعیین کنید. آن پنجره را بررسی کنید، نه کل روز را.
  2. نویز را فیلتر کنید خطوط شناخته شده تکراری و بی ضرر را از بین ببرید. روی خطا (ERROR)، هشدار (WARN) و اولین لحظه انحراف تمرکز کنید.
  3. داده های حساس را ماسک کنید اطلاعات و اسرار شخصی را قبل از دادن آنها به هوش مصنوعی پاک کنید.
  4. یک خلاصه و جدول زمانی ایجاد کنید. از هوش مصنوعی بخواهید رویداد را در یک زمان بندی خلاصه کند («اول این، سپس آن»).
  5. فرضیه را با معیارها و کد تأیید کنید. دلیل اشاره شده توسط AI; در صورت وجود، با داشبورد، کد مربوطه و جدول زمانی استقرار تأیید کنید.
  6. آموخته ها را به صورت مکتوب بنویسید. یک طرح پس از مرگ تهیه کنید و اقدامات پیشگیرانه را فهرست کنید.

سه کیف کوچک

مورد 1 - 40000 خط در 5 دقیقه خلاصه شده است. یک سرویس پرداخت یک خطای متناوب را به مدت 12 دقیقه گزارش کرد. این تیم پنجره 20 دقیقه‌ای مربوط به سیاهه‌های ماسک‌دار (تقریباً 40000 خط، نمونه‌برداری شده) را به هوش مصنوعی داده و یک جدول زمانی ایجاد کردند. این مدل نشان داد که انفجار خطا همزمان با لحظه ای است که زمان پاسخگویی یک سرویس وابستگی از 200 میلی ثانیه به 8 ثانیه افزایش یافته است. تیم این موضوع را روی داشبورد تایید کرد و در عرض 10 دقیقه علت را محدود کرد.

مورد 2 - همبستگی گمراه کننده. در یک حادثه دیگر، هوش مصنوعی با گفتن اینکه خطاها «همزمان» با اجرای cron (وظیفه برنامه‌ریزی‌شده) اتفاق می‌افتند، آن را مقصر دانست. وقتی تیم معیارها را بررسی کردند، دیدند که cron در واقع قبل از رویداد تمام شده است. همبستگی تصادفی بود. علت واقعی نشت حافظه بود. درس: همبستگی زمانی ایجاد شده توسط هوش مصنوعی یک سرنخ است، نه شواهد.

مورد 3 - پس از مرگ تسریع شد. پس از یک وقفه، تیم رونوشت پیام (نقاب‌دار) و جدول زمانی را از کانال رویداد به هوش مصنوعی داد و از آن خواست یک طرح پس از مرگ تهیه کند: خلاصه، تأثیر، جدول زمانی، علت اصلی، اقدامات. ویرایشگر انسانی حقایق را تصحیح کرد و صاحبان کنش را منصوب کرد. این سند، که معمولاً 2 ساعت طول می کشد، در حدود 40 دقیقه با ساختاری سازگارتر تکمیل شد.

چهار قالب قابل کپی

خلاصه گزارش و جدول زمانی (با گزارش ماسک شده):

در زیر یک پنجره رویداد از گزارش تولید پوشانده شده است. 1) رویداد را در جدول زمانی زمانی بریزید (لحظه اولین انحراف را علامت بزنید). رویدادهای نامزد را برای سؤال فهرست کنید. اینها فرضیه هستند. آن را به عنوان "باید تأیید شود" علامت بزنید. {{ سیاهههای مربوط}}

استخراج الگوی خطا:

الگوهای خطای تکرار شونده را در این خطوط گزارش پیدا کنید. برای هر الگو: خط نمونه (نقابدار)، منبع تخمینی و معنای احتمالی. خطاهای منفرد نادر اما مهم را در یک لیست جداگانه "توجه" جمع آوری کنید.{{logs}}

تولید پرس و جو/فیلتر ساختاریافته:

برای {{log tool: grep/jq/Kibana KQL/CloudWatch Insights}}، عبارتی بنویسید که شرایط زیر را داشته باشد: {{به عنوان مثال. 5xx خطا در 15 دقیقه گذشته، به استثنای کاربر X}}. پرس و جو را توضیح دهید. مطمئن شوید که نام دامنه را ایجاد نمی کنید، اگر مطمئن نیستید بپرسید.

طرح پس از مرگ:

یک طرح پس از مرگ از جدول زمانی رویداد زیر (نقاب‌دار) بنویسید: خلاصه / تأثیر (مدت، کاربر تحت تأثیر) / جدول زمانی / علت اصلی / چه چیزی خوب پیش رفت / اقدامات (فیلد مالک را برای هر کدام خالی بگذارید). از زبان اتهامی استفاده نکنید؛ واقعی و فعال باشید.{{خط زمان}}

اعلان ضعیف / اعلان قوی

ضعیف: "به این سیاههها نگاه کن، چه اشکالی دارد؟" (گزارش خام کل روز، با داده های شخصی، بدون هدف.)
قوی: "در زیر گزارش تولید پوشانده شده از 14:02 تا 14:20 است (فیلتر شده به 5xxs). در این پنجره، لحظه شروع خطا را پیدا کنید، بیشترین نوع خطا را بشمارید و انحرافاتی را که در 60 ثانیه بلافاصله قبل از انفجار ظاهر شده اند فهرست کنید؛ همه آنها را به عنوان "فرضیه تایید شده" علامت بزنید."

نسخه قدرتمند؛ پنجره زمانی را باریک می کند، گزارش را فیلتر و ماسک می کند، یک سوال واضح می پرسد و از همان ابتدا ثابت می کند که خروجی یک فرضیه است.

تلاش

هوش مصنوعی قوی است

محدود کردن / تأیید

خلاصه سیاهه بزرگ

بله سریع

ممکن است از دست دادن نمونه وجود داشته باشد

ایجاد رابطه زمانی

نکاتی را ایجاد می کند

همبستگی ≠ علیت

تولید پرس و جو/فیلتر

پیش نویس خوب

آیا نام دامنه واقعی است؟

طرح پس از مرگ

ساختار و زبان

موارد تایید شده توسط انسان است

همبستگی علیت نیست

رایج ترین دام در تجزیه و تحلیل لاگ اشتباه "در همان زمان اتفاق افتاد، بنابراین به همین دلیل است" است. هوش مصنوعی به راحتی، اگر نگوییم آسانتر از انسان، در این دام می افتد. زیرا فکر می کند همزمانی در متن یک سیگنال قوی است. برای اینکه بتوانیم بگوییم یک رویداد در واقع به رویداد دیگری منجر می شود. زمان بندی، مکانیسم و ​​در صورت امکان تکرارپذیری مورد نیاز است. برای هر ادعای علیت که هوش مصنوعی ایجاد می‌کند، می‌پرسیم «چه شواهد دیگری این را تأیید می‌کند؟» با سوال تست کنید

نکته: هنگام ورود به هوش مصنوعی، در صورت امکان، به جای ارسال متن، ابتدا یک درخواست/فیلتر چاپ کنید و آن را در وسیله نقلیه خود اجرا کنید. به این ترتیب هم داده های حساس را کاهش می دهید و هم پنجره زمینه مدل را به ردیف های واقعا مهم جدا می کنید.

اشتباهات رایج

  • چسباندن کنده کاری خام و بدون نقاب. افشای اطلاعات شخصی و اسرار؛ نقض جدی حریم خصوصی
  • دادن کل روز به یکباره از پنجره زمینه فراتر می رود، سیگنال در نویز غرق می شود.
  • اشتباه همبستگی برای علیت رابطه زمانی ایجاد شده توسط هوش مصنوعی یک سرنخ است نه مدرک.
  • تکیه بر یک پرس و جو با نام دامنه ساخته شده. مدل ممکن است نام فیلد گزارشی را پیشنهاد کند که وجود ندارد. با شماتیک تایید کنید
  • انتشار پس از مرگ بدون تایید آن. حقایق و ارقام تاثیر باید توسط انسان تایید شود.

به طور خلاصه

هوش مصنوعی ابزاری قدرتمند برای غلبه بر حجم و نویز در تجزیه و تحلیل گزارش است: خلاصه کردن رونوشت های بزرگ، تعیین جدول زمانی، استخراج الگوها، و تهیه طرح های پس از مرگ. اما سه محدودیت را به خاطر داشته باشید: داده‌های حساس را بدون پوشاندن آن صادر نکنید، آن‌ها را فیلتر و نمونه‌برداری کنید تا با پنجره زمینه مطابقت داشته باشد و هر ادعای علیت را با معیارها و کد تأیید کنید. همبستگی علیت نیست. هوش مصنوعی سرنخ می دهد، شما با شواهد تصمیم می گیرید.

وظیفه کاربردی

یک پنجره 15 تا 20 دقیقه ای از گزارش رویداد یا محیط آزمایشی که دارید انتخاب کنید. ابتدا داده ها و اسرار شخصی را بپوشانید (یا یک گزارش مصنوعی تولید کنید). سپس با الگوی «خلاصه گزارش و جدول زمانی»، گاه‌شماری و رایج‌ترین انواع خطا را از هوش مصنوعی استخراج کنید. سعی کنید فرضیه علت اصلی را که هوش مصنوعی ارائه کرده است با معیار یا قطعه کدی که دارید تأیید کنید: آیا این فرضیه برقرار بود یا یک همبستگی گمراه کننده بود؟ یافته خود را در یک جمله بنویسید.

چک لیست

  • [ ] قبل از دادن گزارش به هوش مصنوعی، داده ها و اسرار شخصی را پنهان می کنم.
  • [ ] تجزیه و تحلیل را به یک پنجره زمانی باریک کاهش می دهم و فیلتر می کنم.
  • [ ] من روابط زمانی ایجاد شده توسط هوش مصنوعی را به عنوان فرضیه می بینم، نه علیت.
  • [ ] من ادعای علت اصلی را با معیارها و کد تأیید می کنم.
  • [ ] تایید می کنم که نام دامنه پرس و جوها/فیلترهایی که ایجاد می کنم واقعی هستند.
  • [ ] من حقایق و ارقام را در طرح پس از مرگ تأیید می کنم.