Yksikkö 3 / 11

Lokianalyysi ja perussyyanalyysi: Signaalin löytäminen kohinasta

Voitot:

  • Etsi signaali nopeasti kohinassa käyttämällä tekoälyä yhteenvedon, ryhmittelyn ja aikajanalokien tekemiseen
  • Kyky erottaa korrelaatio ja kausaliteetti ja käsitellä tekoälyn perussyyehdotuksia hypoteeseina, jotka on tarkistettava
  • Kyky päästä todelliseen perimmäiseen syyyn käyttämällä 5 Why -menetelmää tekoälyllä ja tukemalla jokaista vaihetta todellisilla todisteilla

Lokianalyysi ja perussyyanalyysi: Signaalin löytäminen melusta tekoälyn avulla

Kun järjestelmä kaatuu, katsot ensin lokit. Loki on tekstivirta, joka pitää aikaleimattua kirjaa järjestelmän tai sovelluksen "mitä tein, mitä tapahtui, mikä meni rikki". Mutta moderni infrastruktuuri tuottaa miljoonia rivejä tukkeja tunnissa; se ei ole tiedon meri, vaan usein melun valtameri. Lokianalyysi on taidetta löytää tärkeä signaali (virhe, poikkeavuus, kuvio) tästä kohinasta. Prosessia, jossa vastataan kysymykseen "mikä oli todellinen syy" tapahtuman jälkeen, kutsutaan juurisyyanalyysiksi (RCA - Root Cause Analysis). Täällä tekoäly on erittäin tehokas tiivistämään tuhansia rivejä sekunnissa, poimimaan kuvioita, määrittämään aikajanat ja luettelemaan mahdollisia syitä. Mutta varoituksen sana: tekoäly synnyttää mahdollisia syitä; Sinä olet se, joka tarkistaa järjestelmässä, kumpi on todellinen ja tekee päätöksen.

Tässä osiossa opit luomaan yhteenvedon lokeista tekoälyn avulla, miten tapahtuman aikajanan määrittäminen, miten erottaa korrelaatio (muuttuvat yhdessä) ja syy-seuraus (toinen aiheuttaa toisen) ja miten RCA-menetelmää, kuten "5 Miksi" suoritetaan tekoälyn kanssa.

Miksi korrelaatio ei ole syy-yhteyttä?

Tämä on tämän yksikön kriittisin käsite. Vain koska kaksi tapahtumaa tapahtuu samanaikaisesti, toinen ei aiheuta toista. Palvelimen CPU- ja verkkoliikenne voivat kasvaa samanaikaisesti; mutta toinen ei ole toisen tulos, molemmat voivat olla seurausta kolmannesta tapahtumasta (esimerkiksi erätyön alkamisesta). Kun tekoäly näkee mittareiden muuttuvan yhdessä, se olettaa, että "todennäköisesti X aiheutti Y:n". Tämä on lähtökohta, ei johtopäätös. Syy-seuraussuhteen tarkistamiseksi sinun on joko eristettävä muuttuja (käynnistä X testiympäristössä ja katso, tapahtuuko Y) tai todistettava mekanismi (näytä tekniset keinot, joilla X tuottaa Y:n).

Varoitus: Ota tekoälyn lause "tämä luultavasti aiheutti tämän" hypoteesina, ei havainnona. RCA:ssa väärä perimmäinen syy johtaa virheelliseen korjaukseen ja tapahtuman toistumiseen. Olet löytänyt ensimmäisen epäillyn, et syyn; Työ alkaa sieltä.

Askel askeleelta: Lokianalyysi tekoälyllä

  1. Rajoita laajuutta. Anna tapahtumaikkuna, ei koko lokia: "tapahtuma alkoi klo 14:05, kriittinen klo 14:00–14:20". Kerro tekoälylle asianmukainen aikaväli ja palvelu.
  2. Naamio. Lokit sisältävät sisäisen IP-osoitteen, isäntänimen, käyttäjän ja tunnuksen. Maski ne (10.x.x.x, host-A, user1, REDACTED) ja vie sitten.
  3. Pyydä yhteenveto ja ryhmittely. "Ryhmittele tämä loki vakavuuden mukaan, laske toistuvat virheet ja etsi ensimmäisen virheen aikaleima." Pyydä rakennetta, älä raakatukia.
  4. Aseta aikajana. "Järjestä nämä tapahtumat aikajärjestyksessä ja näytä mitä seuraa." Ensimmäisen dominon löytäminen on polku perimmäiseen syyyn.
  5. Pyydä hypoteesia, älä todisteita. "Luettelo mahdolliset perimmäiset syyt todennäköisyysjärjestyksessä ja anna minulle vahvistuskomento suorittaa järjestelmä jokaisen kohdalla." Kysy diagnoosia, älä tulosta.
  6. Tarkista järjestelmässä. Testaa jokainen hypoteesi vain luku -diagnostiikkakomennoilla (loki grep, tilakysely, metriikka). Poista, kunnes on vain yksi vahvistettu perimmäinen syy.

5 Miksi -menetelmä

RCA:n klassinen ja tehokas työkalu on "5 miksi": alkaen yhdestä oireesta ja kysymällä "miksi?" viisi kertaa. Kysymällä pääset perimmäiseen syyyn pintaoireen alla. Esimerkki: "Sivusto kaatui. Miksi? Sovellus kuoli, koska sen muisti loppui. Miksi? Kysely vei kaiken muistin. Miksi? Kysely ei käyttänyt hakemistoa. Miksi? Hakemisto poistettiin viimeisessä julkaisussa. Miksi? Tätä ei huomattu muutostarkistuksessa." Perimmäinen syy ei ole pinta "sivusto kaatui" vaan "heikko muutosten tarkistusprosessi". Tekoäly olisi hyvä kumppani tämän ketjun rakentamisessa – mutta sinun on tuettava jokainen "miksi"-vaihe todellisilla todisteilla, tai tekoäly saattaa keksiä uskottavan mutta väärän ketjun.

kolme minilaukkua

Tapaus 1 – 40 000 riviä, 3 minuuttia. Järjestelmänvalvoja oli alkanut skannata manuaalisesti 40 000 riviä sovelluslokia yön yli tapahtuneen käyttökatkon aikana. Hän antoi asiaankuuluvan 20 minuutin osan naamioidusta lokista tekoälylle ja pyysi yhteenvetoa ja ryhmittelyä. AI ilmoitti ensimmäisen OutOfMemory-virheen klo 02.14, heti lisääntyneiden aikakatkaisuvirheiden jälkeen. Insinööri sai aikaraportin 3 minuutissa; vahvisti alkuperäisen diagnoosin omassa mittaripaneelissaan.

Tapaus 2 – Paluu väärästä perimmäisestä syystä. Eräs ryhmä katsoi, että tekoälyn ensimmäinen hypoteesi ("lokit täyttivät levyn") oli oikea ja tyhjensi lokit. Mutta tapaus toistui seuraavana päivänä. Toisella kierroksella he toteuttivat "5 miksi" kurinalaisesti: todellinen syy oli se, että sovellusvirhe oli satojen ydinvedosten kirjoittaminen sekunnissa. Ensimmäinen hypoteesi oli korrelaatio; Todellinen syy oli toinen. Hyväksyminen ilman vahvistusta oli antanut vain yhden päivän lykkäyksen.

Tapaus 3 – Aikajana löysi syyllisen. Satunnaisen verkkokatkon aikana oli lokeja kymmenistä laitteista. Insinööri antoi naamioidut lokit tekoälylle ja antoi sen luoda yhtenäisen aikajanan. Kaavio osoitti, että jokainen katkos alkoi tasan 30 sekuntia redundanssikytkimen kuntotarkastusviestin jälkeen. Tämä korrelaatio oli vahva vihje; Tiimi vahvisti avaimen laiteohjelmistovirheen laitteessa ja vaihtoi sen.

Neljä kopioitavaa mallia

1) Lokin yhteenveto ja ryhmittely:

Alla on [palvelun] naamioitu loki klo 14.00-14.20. Kerro minulle: (1) ryhmittele ja laske rivit vakavuuden mukaan (ERROR/WARN/INFO), (2) luettele 5 parasta toistuvaa virhemallia, (3) etsi ensimmäisen VIRHEEN aikaleima. Älä kirjoita raakalokia uudelleen, anna vain jäsennelty yhteenveto. Valmistetun rivin lisääminen.Loki: [naamioitu loki]

2) Aikajanan määrittäminen:

Järjestimme seuraavat maskatut tapahtumatietueet yhdeksi aikajanaksi (aikaleima + lähde + tapahtuma). Näytä mitä seuraa ja merkitse tapahtuma, joka näyttää olevan ensimmäinen laukaisin. Huomaa, että tämä on HYPOTEESI ja syy-yhteys on tarkistettava. Nauhoitukset: [naamioituneet tallenteet]

3) 5 syytä RCA-kumppanille:

Roolisi: RCA-fasilitaattori. Oire: [oire]. Tee "5 Miksi" kanssani: "miksi?" jokaisessa vaiheessa. Kysy, minä vastaan ​​niillä todisteilla, jotka minulla on, sinä esität seuraavan kysymyksen. Jos todisteeni on heikko, varoita minua ja kerro, mitä tietoja minun on kerättävä. Älä julista perimmäistä syytä ilman todisteita.

4) Hypoteesi + vahvistuskomento:

Listaa mahdolliset syyt tälle oireelle [oire] todennäköisyysjärjestyksessä. Jokaisesta syystä: (a) mitä epäilet, (b) anna minulle VAIN LUKU -vahvistuskomento, joka suoritetaan järjestelmässäni (ei poista/muuta). Selitä, mikä tulos vahvistaa tai kumoaa hypoteesin.

Heikko kehote / Vahva kehote

Heikko kehote:

Mikä tässä lokissa on vikana? [10 000 riviä raakalokia]

Tämä kehottaa sekä vuotamaan arkaluontoista dataa paljastamatta että jättämään tekoälyn ilman kontekstia. Tekoäly voi kompastua satunnaiselle viivalle ja antaa pinnallisen tai jopa keksityn syyn.

Tehokas kehotus:

Roolisi: vanhempi SRE. Tapahtuma: maksupalvelu antoi 50 % virheen välillä 02:10-02:25. Alla on kyseisen ikkunan peitetty loki. Anna minulle (1) vakavuuden mukaan ryhmitelty yhteenveto, (2) ensimmäisen virheen aikaleima, (3) mahdolliset perimmäiset syyt todennäköisyysjärjestyksessä ja jokaiselle vain luku -todennuskomento. Merkitse kausaalisuusväitteet hypoteesiksi. Loki: [naamioitu loki]

askel

Tarkoitus

AI:n rooli

miehen rooli

Yhteenveto/ryhmittely

vähentää melua

Tuhansien rivien määrittäminen

Määritä laajuus ja maski

aikajanalla

Ensimmäisen dominon löytäminen

tapahtumien lajittelua

Vahvista leimat

hypoteesin luominen

epäiltyjen lajittelua

listaa mahdollisuudet

suodattaa kontekstin mukaan

vahvistusta

löytää todellinen syy

Ehdota diagnostiikkakomentoa

Suorita komento ja kommentoi sitä

päätös

Korjauksen valinta

tarjota vaihtoehtoja

Tee päätös ja vahvista

Yleisiä virheitä

  • Virheellinen korrelaatio syy-yhteydelle. Kahden yhdessä muuttuvan mittarin hyväksyminen "toinen aiheutti toisen" tuottaa virheellisen korjauksen.
  • Raa'an lokin liittäminen ilman maskia. IP-osoitteen, tunnuksen ja käyttäjän sisältävän lokin antaminen avoimelle työkalulle on tietoturvaloukkaus.
  • Ensimmäisen hypoteesin julistaminen perimmäiseksi syyksi. Tekoälyn ensimmäisen ehdotuksen hyväksyminen vahvistamatta sitä on kutsu tapahtuman toistamiseen.
  • Viedään koko loki. Valtava loki ilman kontekstia kytkee tekoälyn satunnaiseen riviin; Tiivistä tapahtumaikkunaan.
  • 5 syytä ilman todisteita. Jos et varmuuskopioi jokaista "miksi"-vaihetta todellisilla tiedoilla, päädyt uskottavaan mutta keksittyyn ketjuun.
Vinkki: Ennen kuin lopetat RCA:n, kysy "jos tämä perimmäinen syy on todella korjattu, eikö se toistu?" Esitä kysymys. Jos vastaus on "ehkä", et ole vielä päässyt perimmäiseen syytä; Kysy toiselta "miksi".

Yhteenvetona

Lokianalyysissä on kyse signaalin löytämisestä melun valtamerestä; Tekoäly tekee yhteenvedon ja jäsentää tämän valtameren sekunneissa, määrittää aikajanan ja luo hypoteeseja. Mutta korrelaatio ei ole syy-yhteyttä: tekoälyn ehdottama syy on alustava epäily, ei löydös, ennen kuin se on vahvistettu. Tiivistä loki tapahtumaikkunaan, peitä se, kysy rakennetta, kaivaa syvälle "5 Miksi" -toiminnolla ja testaa jokainen hypoteesi järjestelmässä vain luku -komennoilla. Sinä olet se, joka löytää perimmäisen syyn ja vahvistaa korjauksen; AI on kumppanisi.

Sovellustehtävä

Ota menneen tapahtuman (tai testitapahtuman) lokit, tiivistä se tapahtumaikkunaan ja peitä herkät alueet. Pyydä AI:lta yhteenveto ja aikataulu yllä olevien "Lokin yhteenveto"- ja "Aikajana"-malleilla. Siirry sitten oireesta perussyyn "5 Reasons RCA partner" -mallin avulla; Kirjoita omat todisteesi jokaisesta vaiheesta. Lopuksi testaa tekoälyn alkuperäinen hypoteesi vahvistuskomennolla ja kirjaa, onko se vahvistettu vai kumottu. Tee yhteenveto prosessista 6 kohtaan.

tarkistuslista

  • [ ] Olenko tiivistänyt lokin tapahtumaikkunaan ja peittänyt herkät alueet?
  • [ ] Pyysinkö tekoälyltä jäsenneltyä yhteenvetoa ja aikajanaa, en raakalokia?
  • [ ] Olenko merkinnyt tekoälyn syy-yhteyttä koskevat väitteet hypoteesiksi?
  • [ ] Olenko testannut jokaista hypoteesia järjestelmässä vain luku -todennuskomennolla?
  • [ ] Olenko tukenut jokaisen "5 Miksi" vaiheen todellisilla todisteilla?
  • [ ] Kysyinkö ja teinkö päätöksen, estäisikö perimmäinen syy tapahtuman?