Печалби:
- Възможност за обобщаване на големи дъмпове на регистрационни файлове чрез маскиране и филтриране към AI и създаване на времева линия
- Да можеш да оцениш времевите връзки, установени от AI като хипотези, а не причинно-следствена връзка
- Възможност за валидиране на хипотезата за първопричината с показатели и код и изготвяне на скица след смъртта
Когато даден софтуер работи в производствена среда (жива среда), само следите, показателите и регистрационните файлове (редове с щамповано време, генерирани от приложението, докато работи) ви казват какво прави. Извличането на смислен сигнал от хиляди, понякога милиони редове на журнал по време на прекъсване е най-стресиращият и критичен за времето момент от реакцията на инцидент. Тук AI може да бъде помощник, обобщавайки масивен текст, извличайки модели и генерирайки хипотези – стига да спазвате ограниченията за поверителност и проверка.
В този модул се научаваме да използваме AI в контекста на наблюдаемостта – способността да разбираме вътрешното състояние на системата, като разглеждаме нейните външни изходи: извличане на значение от шума в дневника, установяване на времевата линия на грешка, намиране на повтарящи се модели и изготвяне на следсмъртно изследване. Критично предупреждение отпред: необработените производствени регистрационни файлове често съдържат лични данни и тайни; случайното им поставяне в AI инструмент е сериозно нарушение.
Защо регистрационните файлове са трудни, защо AI е полезен?
Регистрите са трудни поради три причини: обем (има твърде много), шум (много редове са без значение) и безпорядък (събитие е разпръснато в регистрите на различни услуги). Човешкото око се уморява в тази купчина и пропуска важния ред.
AI е добър в обобщаването на големи блокове от текст, преброяването на повтарящи се модели и питането „какво се е променило точно преди този изблик от грешки?“ Той е мощен при установяването на времеви взаимоотношения като Въпреки това, има две ограничения. Първият е контекстният прозорец: количеството регистрационни файлове, които можете да поберете в модел, е ограничено, така че първо трябва да филтрирате и вземете проби. Второ, потвърждение: ИИ казва, че „ето основната причина“ е хипотеза; Не вземайте решение, без да го потвърдите с показатели и код.
Внимание: Необработените производствени регистрационни файлове може да съдържат IP адрес, имейл, токен, идентификатор на сесия и понякога открита тайна. Маскирайте ги, преди да ги подадете към AI, или използвайте само одобрени от предприятието инструменти, защитени с данни. Задълбочаваме тази тема в раздел 10.
Стъпка по стъпка: От дневника до първопричината
- Стеснете времевия прозорец. Определете минутите, когато е започнало събитието; Разгледайте прозореца, а не целия ден.
- Филтрирайте шума. Отстранете известните повтарящи се, безобидни редове; Фокусирайте се върху грешката (ERROR), предупреждението (WARN) и първия момент на отклонение.
- Маскиране на чувствителни данни. Почистете личните данни и тайните, преди да ги дадете на AI.
- Създайте резюме и времева линия. Помолете AI да обобщи събитието в хронология („първо това, после това“).
- Валидирайте хипотезата с показатели и код. Причината, посочена от AI; Потвърдете с табло за управление, съответен код и времева линия за внедряване, ако е приложимо.
- Напишете наученото. Направете следсмъртна скица и избройте превантивните действия.
Три мини калъфа
Случай 1 — 40 000 реда, обобщени в 5 минути. Платежна услуга съобщи за периодична грешка в продължение на 12 минути. Екипът подаде съответния 20-минутен прозорец от маскирани регистрационни файлове (приблизително 40 000 реда, взети проби) към AI и генерира времева линия. Моделът показа, че избликът на грешка съвпадна с момента, в който времето за реакция на услуга за зависимост се увеличи от 200 ms на 8 секунди. Екипът потвърди това на таблото и стесни причината в рамките на 10 минути.
Случай 2 — Подвеждаща корелация. В друг инцидент AI го обвини, като каза, че грешките се случват „по едно и също време“ с изпълнение на cron (планирана задача). Когато екипът провери показателите, те видяха, че cron всъщност е приключил преди събитието; Корелацията беше съвпадение. Истинската причина беше изтичане на памет. Урок: Времевата корелация, установена от AI, е улика, а не доказателство.
Случай 3 — Посмъртно ускорено. След прекъсване екипът захрани (маскирания) препис на съобщението и времевата линия от канала на събитието към AI и го накара да създаде следсмъртна скица: резюме, въздействие, времева линия, първопричина, действия. Човешкият редактор коригира фактите и назначи собственици на действие. Документът, който обикновено отнема 2 часа, беше завършен за приблизително 40 минути с по-последователна структура.
Четири копируеми шаблона
Резюме на регистрационния файл и времева линия (с маскиран журнал):
По-долу има прозорец на събитието на маскирания производствен дневник.1) Изсипете събитието в хронологична времева линия (отбележете момента на първото отклонение).2) Пребройте и групирайте най-често повтарящите се типове грешки/предупреждения.3) „Какво се промени малко преди?“ Избройте кандидат събития за въпроса. Това са хипотези; Маркирайте го като „трябва да се провери“. {{дневници}}
Извличане на модел на грешка:
Намерете модели на повтарящи се грешки в тези редове на регистрационния файл. За всеки модел: примерен ред (маскиран), приблизителен източник и възможно значение. Събирайте редки, но критични единични грешки в отделен списък за внимание.{{logs}}
Генериране на структурирана заявка/филтър:
За {{log tool: grep/jq/Kibana KQL/CloudWatch Insights}} напишете заявка, която отговаря на следното условие: {{напр. 5xx грешки през последните 15 минути, с изключение на потребител X}}. Обяснете заявката; Уверете се, че не измисляте имената на домейни, попитайте, ако не сте сигурни.
Посмъртна скица:
Напишете следсмъртна скица от следната (маскирана) времева линия на събитие: Резюме / Въздействие (продължителност, засегнат потребител) / Времева линия / Основна причина / Какво се е случило добре / Действия (оставете полето за собственика празно за всяко). НЕ използвайте обвинителен език; Бъдете фактологични и проактивни.{{timeline}}
Слаба подкана / Силна подкана
Слаб: "Вижте тези трупи, какво не е наред?" (Необработен дневник за целия ден, с лични данни, ненасочен.)
Силно: „По-долу е маскираният производствен дневник от 14:02–14:20 (филтриран до 5xxs). В този прозорец намерете момента, в който е започнала избухването на грешката, пребройте най-честия тип грешка и избройте отклоненията, които са се появили през 60-те секунди непосредствено преди експлозията; маркирайте ги всички като „хипотеза за проверка“.“
Мощна версия; Той стеснява времевия прозорец, филтрира и маскира дневника, задава ясен въпрос и установява от самото начало, че резултатът е хипотеза.
Мисия
AI е силен
Лимит / проверка
Голямо резюме на дневника
Да, бързо
Може да има загуба на проби
Установяване на времева връзка
генерира подсказки
Корелация ≠ причинно-следствена връзка
Генериране на заявка/филтър
добра чернова
Реални ли са имената на домейни?
Посмъртна скица
Структура и език
Случаите са потвърдени от хора
Корелацията не е причинно-следствена връзка
Най-честата клопка в анализа на регистрационните файлове е заблудата „случи се по едно и също време, така че затова“. AI попада в този капан толкова лесно, ако не и по-лесно, отколкото хората; защото смята, че едновременността в текста е силен сигнал. Да можем да кажем, че едно събитие всъщност води до друго; изисква се време, механизъм и, ако е възможно, повторяемост. За всяко твърдение за причинно-следствена връзка, което AI установява, ние питаме „какви други доказателства потвърждават това?“ Тествайте го с въпроса.
Съвет: Когато влизате в AI, вместо текстов дъмп, ако е възможно, първо отпечатайте заявка/филтър и го стартирайте във вашето превозно средство; По този начин едновременно намалявате чувствителните данни и разделяте контекстния прозорец на модела на наистина важните редове.
Често срещани грешки
- Поставяне на необработен, немаскиран дневник. Разкриване на лични данни и тайни; сериозно нарушение на поверителността.
- Предоставяне на целия ден наведнъж. Той надхвърля прозореца на контекста, сигналът е потънал в шум.
- Грешна корелация за причинно-следствена връзка. Времевата връзка, установена от AI, е улика, а не доказателство.
- Разчитане на заявка с измислено име на домейн. Моделът може да предложи име на лог поле, което не съществува; проверете със схемата.
- Публикуване на следсмъртното изследване без проверка. Фактите и данните за въздействието трябва да бъдат потвърдени от хора.
В обобщение
AI е мощен инструмент за преодоляване на силата на звука и шума при анализ на регистрационни файлове: обобщаване на големи преписи, установяване на времеви линии, извличане на модели и подготовка на скици след смъртта. Но запомнете три ограничения: не експортирайте чувствителни данни, без да ги маскирате, филтрирайте ги и ги извадете, за да паснат на контекстния прозорец, и проверете всяко твърдение за причинно-следствена връзка с показатели и код. Корелацията не е причинно-следствена връзка; AI дава улики, вие вземате решение с доказателства.
Задача за приложение
Изберете 15–20 минутен прозорец от регистрационен файл на събитие или тестова среда, който имате. Първо маскирайте лични данни и тайни (или създайте синтетичен дневник). След това извлечете хронология и най-често срещаните типове грешки от AI с шаблона „обобщение на журнала и времева линия“. Опитайте се да проверите хипотезата за основната причина, изложена от AI с метрика или част от кода, който имате: издържа ли хипотезата или беше подвеждаща корелация? Запишете констатацията си с едно изречение.
контролен списък
- [ ] Маскирам лични данни и тайни, преди да дам дневника на AI.
- [ ] Свеждам анализа до тесен времеви прозорец и филтър.
- [ ] Виждам времевите връзки, установени от AI, като хипотези, а не причинно-следствена връзка.
- [ ] Потвърждавам твърдението за първопричината с показатели и код.
- [ ] Потвърждавам, че имената на домейни на заявките/филтрите, които генерирам, са реални.
- [ ] Човешки удостоверявам фактите и цифрите в следсмъртната скица.