Hyppää sisältöön

Lokianalyysi-liitännäinen

Tee editorista täysimittainen lokityöpöytä: jäsennä jäsenneltyjä lokitiedostoja muokattavien profiilien kautta, navigoi jäsenneltyjen kenttien ja aikaleimojen mukaan, yhdistä useita lähteitä yhdelle aikajanalle, seuraa yksittäistä pyyntöä lähteiden yli ja analysoi taajuuksia, prosenttipisteitä ja yleisimpiä arvoja — kaikki lataamatta raakaa tekstiä tavalliseen muokkausvälilehteen.

Mistä sen löytää

Liitännäinen lisää kolme kohtaa Lokianalyysi-valikkoon:

  • Lokianalyysi ▸ Avaa lokina… — avaa yksittäisen lokitiedoston omassa lokinäkymäikkunassa.
  • Lokianalyysi ▸ Avaa yhdistetyt lokit… — valitse kaksi tai useampi tiedosto, anna kullekin oma profiilinsa ja näe ne lomitettuina yhdelle aikajanalle.
  • Lokianalyysi ▸ Avaa järjestelmäloki… (vain Windows) — kysele Windowsin tapahtumalokia saman näkymän kautta, suodattimet työnnettyinä PowerShellin Get-WinEvent-komentoon.

Sivu kohdassa Asetukset ▸ Liitännäiset ▸ Lokianalyysi antaa sinun asettaa oletustasomerkinnät, varaprofiilin tiedostoille, jotka eivät osu glob-hahmoon, kynnyksen »varoita ennen yli N Mt:n tiedostojen jäsentämistä«, oletussuodatustilan ja lopun seurannan kyselyvälin — yksi säädin sekä tiedoston lopun ajastimelle että järjestelmälokivirralle (jokainen Windowsin tapahtumalokikysely käynnistää PowerShell-prosessin, joten raskaat lähteet saattavat kaivata hitaampaa).

Suuret tiedostot jäsennetään taustasäikeessä reaaliaikaisen tietuelaskurin kera, ja kalliit koosteet (viestimallit, poikkeamat) lasketaan myös taustalla — tilarivillä lukee »Analysoidaan tilastoja taustalla…«, ja paneelit täyttyvät, kun ne ovat valmiit, joten ikkuna pysyy reagoivana koko ajan. Hyvin suurissa latauksissa tilastot koostetaan uusimmasta 150 000 tietueesta ja aikajana ottaa näytteitä koko väliltä.

Yhden tiedoston lokinäkymä

Kun avaat lokin, esiin tulee erityinen lokinäkymäikkuna. Se heijastaa editorin omien taulukkopohjaisten ikkunoiden ergonomiaa (kuten vertailuikkunan) ja pysyy editorin välilehtipalkin ulkopuolella.

Rakenne

  • Työkalurivi — tasomerkinnät (TRACE…FATAL), suodatustila ja suodatinrivi, Seuraava / Edellinen virhe (F8 / Shift+F8), Siirry aikaan (Ctrl+G).
  • Aikajanakaistale yläosassa — tapahtumamäärä ajan mukaan jaettuna, väritettynä tason mukaan. Vedä alueen yli suodattaaksesi ajan mukaan; napsauta palkkia hypätäksesi taulukossa ensimmäiseen tietueeseen tuosta lokerosta tai sen jälkeen.
  • Taulukko keskellä — Aika / Taso / Lähde / Viesti, virtualisoituna, joten se vierii sujuvasti jopa satojentuhansien tietueiden kanssa.
  • Yksityiskohtaruutu taulukon alla — näyttää valitun rivin koko raa'an, monirivisen merkinnän.
  • Tilastopaneeli telakoituna oikealle — tasokohtaiset lukumäärät, tapahtumataajuus, prosenttipistevalitsin (p50/p95/p99 mistä tahansa numerokentästä, oletuksena bytes), HTTP-tilaluokkien jakauma (1xx…5xx, piilossa kun status-kenttää ei ole) ja yleisimpien arvojen taulukko mistä tahansa kentästä (oletuksena url, katto 25 riviä).

Tietuetaulukko ja yksityiskohtaruutu käyttävät editorin kirjasinta kohdasta Asetukset ▸ Yleiset — samaa kirjasinta ja kokoa kuin tavallinen muokkausvälilehti, joten aikaleimat ja tasot asettuvat sarakkeisiin. Tuon asetuksen muuttaminen vaikuttaa jo avoinna oleviin lokinäkymiin ilman uudelleenavaamista. Sama koskee yhdistettyä näkymää, sen vierekkäisiä ruutuja ja sekvenssikaaviota. Työkalurivi, suodatinrivi ja tilastopaneeli säilyttävät käyttöliittymän kirjasimen: ne ovat kehyksiä eivätkä lokisisältöä.

Suodatustilat

Työkalurivin suodatinrivi hyväksyy viisi erilaista lauseketta; valitse tila sen vasemmalla puolella olevasta valintaruudusta:

Tila Mihin se täsmää
Tavallinen Kirjainkoosta riippumaton osamerkkijono raakaa riviä vasten.
Sanat Tyhjemerkeillä jaetut osaset; jokaisen osasen täytyy esiintyä jossain rivillä, missä tahansa järjestyksessä. phpinfo GET osuu riviin, joka sisältää sekä phpinfo että GET.
Jokerimerkit * ja ? glob-hahmona raakaa riviä vasten, kirjainkoosta riippumatta.
Säännöllinen lauseke Tavallinen QRegularExpression-hahmo, oletuksena kirjainkoosta riippumaton.
Kysely Jäsennelty kielioppi, jossa on kenttä-, taso- ja aikapredikaatteja sekä AND/OR/NOT ja sulkeet.

Esimerkkejä Kysely-tilassa:

level>=WARN
status:500 AND method:POST
message~/timeout|refused/ AND @time in [09:00..09:05]
NOT (source:nginx OR source:apache)
level>=ERROR OR (status:5\d\d AND method:POST)

Suodatinrivi odottaa 200 ms kirjoittamisesi jälkeen, jottei taulukkoa suodateta uudelleen joka näppäinpainalluksella; Enterin painaminen tai kohdistuksen menettäminen ottaa sen käyttöön heti, ja rivin tyhjentäminen myös. Kun jokerimerkki-, säännöllinen lauseke- tai kyselylauseke ei käänny, rivi muuttuu punaiseksi ja työkaluvihje näyttää virheen — välikerros näyttää edelleen edellistä kelvollista suodatinta, jottei taulukko tyhjene kirjoittaessasi.

  • F8 / Shift+F8 — seuraava / edellinen virhe- tai fataalitietue.
  • Ctrl+G — siirry tiettyyn aikaan (UTC, kalenteri-ikkuna).
  • Napsauta aikajanapalkkia hypätäksesi tuon lokeron ensimmäiseen tietueeseen.

Nämä kolme näppäinyhdistelmää ovat käyttäjän uudelleenmääritettävissä kohdassa Pikanäppäinten määritys (luokka Lokianalyysi); avoimet lokinäkymät ottavat uudelleenmäärityksen käyttöön heti, ja työkalurivin työkaluvihjeet näyttävät nykyisen yhdistelmän.

Reaaliaikainen jäsennys ja peruutus

Suuret tiedostot alkavat näyttää tietueita kymmenissä millisekunneissa; jäsennys jatkuu taustalla ja taulukko kasvaa tietueiden saapuessa. Suodatus, vieritys ja F8 toimivat jäsennyksen ollessa vielä käynnissä. Ikkunan sulkeminen pysäyttää työntekijän ripeästi.

Yhdistetty lokinäkymä

Lokianalyysi ▸ Avaa yhdistetyt lokit… antaa sinun tutkia ongelmaa, joka ulottuu usealle lähteelle — asiakasloki plus palvelinloki, sovellusloki plus järjestelmäpäiväkirja, verkkokäyttöloki plus virheloki ja niin edelleen.

Tiedostokohtainen profiilivalitsin

Kun olet valinnut kaksi tai useampi tiedosto, näet pienen ikkunan, jossa on yksi rivi tiedostoa kohti ja profiilivalintaruutu riviä kohti. Valintaruutu on esivalittu täsmäämällä tiedostonimi kunkin profiilin tiedostonimiglobeihin (kirjainkoosta riippumatta). Tyypillisessä nginx-asennuksessa access.log valitsee automaattisesti profiilin nginx — access log (default combined) ja error.log profiilin nginx — error log. Ohita mikä tahansa rivi käsin ennen kuin napsautat OK.

Rakenne

  • Työkalurivi — tasomerkinnät, suodatinrivi tilavalintaruudun kera, jäljityssäätimet (valintaruutu sekä Seuraa / Tyhjennä), Sekvenssikaavio-kytkin, Vierekkäin-kytkin.
  • Aikajanakaistale yläosassa — lähdekohtainen pinottu histogrammi, yksi kaista lähdettä kohti, jotta näet toisiinsa liittyvät purskeet visuaalisesti.
  • Jäljitysbanneri taulukon yläpuolella — meripihkan värinen kaistale, joka näkyy vain, kun jäljityssuodatin on aktiivinen: Seurataan <field> = <value> — N riviä kaikissa lähteissä.
  • Pinottu pääalue — kolme sivua, joiden välillä vaihdetaan työkaluriviltä:
    • Taulukko (oletus): yksi rivi yhdistettyä tietuetta kohti sarakkeilla Aika / Lähde / Taso / Loggeri / Viesti; Lähde-sarakkeen edusta on lähteen kaistan väri, joten voit lukea lähteen yhdellä silmäyksellä.
    • Sekvenssikaavio — katso Seuraa jäljitystä.
    • Vierekkäiset ruudut — katso Vierekkäin.
  • Yksityiskohtaruutu taulukon alla.

Suodattimet, jotka rakentuvat toistensa päälle

Yhdistetyssä näkymässä suodatinketju ajetaan tässä järjestyksessä, ja kaikki osat rakentuvat toistensa päälle:

  1. Lähteiden näkyvyys — valintaruutu aikajanan vasemmassa marginaalissa, yksi kaistaa kohti, lähteen nimen ja värin vieressä. Rastittamaton kaista säilyttää rivinsä himmennettynä: sen täytyy, koska tuo valintaruutu on ainoa tie takaisin. Napsauta marginaalia hiiren oikealla saadaksesi Näytä vain tämä lähde / Näytä kaikki lähteet.
  2. Tasomerkinnät — TRACE…FATAL.
  3. Seuraa jäljitystä — katso alta.
  4. Tekstisuodatin — Tavallinen / Sanat / Jokerimerkit / Säännöllinen lauseke / Kysely (samat tilat ja käyttäytyminen kuin yhden tiedoston näkymässä, sovellettuna yhdistettyyn virtaan).

Tämä tarkoittaa, että voit esimerkiksi kirjoittaa level>=ERROR AND status:500 sekä nginxin käyttö- että virhelokin yli yhdessä lausekkeessa ja seurata yksittäistä asiakasta molempien läpi — jäljityssuodatin kaventaa joukkoa edelleen rikkomatta taso-, lähde- ja tekstisuodattimia.

Seuraa jäljitystä

  1. Valitse korrelaatioavain työkalurivin Jäljitys:-valintaruudusta. Se on täytetty tavanomaisella joukolla (trace_id / request_id / session_id / correlation_id / span_id / xRequestId) sekä jokaisella erillisellä kenttänimellä, joka todella esiintyy ladatuissa tietueissa. Kirjoita mukautettu nimi, jos tarvitset.
  2. Valitse rivi taulukosta.
  3. Napsauta Seuraa jäljitystä — tai napsauta riviä hiiren oikealla ja valitse Seuraa jäljitystä: \<field>=\<value> mille tahansa tavanomaiselle avaimelle, jonka tietue kantaa (yhden askeleen polku, joka ei tarvitse valintaruutuvaihetta).

Taulukko suodattuu heti vain niihin tietueisiin, jotka jakavat tuon avaimen arvon kaikissa lähteissä. Napsauta Tyhjennä jäljitys poistaaksesi suodattimen.

Sekvenssikaavio

Kun jäljityssuodatin on aktiivinen ja näkyvissä on täsmälleen 2–4 lähdettä, työkalurivin Sekvenssikaavio-kytkin tulee käytettäväksi. Se vaihtaa pääalueen kiinteäkaistaiseksi kaavioksi:

  • Kukin näkyvä lähde on pystysuora kaista, jonka yläosassa on nimiö ja värinäyte.
  • Yksi rivi tietuetta kohti, aika kulkee ylhäältä alas. Todellinen aikaleima on vasemmalla, jottet menetä tarkkuutta; rivit ovat järjestysperusteisia (kiinteä korkeus) eivätkä aikasuhteisia, koska todellisessa jäljityksessä on purskeita ja pitkiä taukoja ja aikasuhteinen akseli tuhlaisi suurimman osan ruudusta taukoihin.
  • Värillinen piste omistavan lähteen kaistalla sekä hienovarainen harmaa nuoli peräkkäisten, eri kaistoilla olevien tietueiden välillä — joten näet kirjaimellisesti jäljityksen pomppivan järjestelmien välillä.
  • Tasomerkintä ja viestiteksti oikealla.

Napsauta mitä tahansa riviä kaaviossa vierittääksesi taustalla olevan taulukon tuohon tietueeseen. Kytke toiminto pois palataksesi taulukkoon.

Yli 4 lähteellä kaavio on pois käytöstä ja taulukkonäkymä jää voimaan.

Vierekkäiset ruudut

Kun näkyvissä on täsmälleen kaksi lähdettä, työkalurivin Vierekkäin-kytkin tulee käytettäväksi. Se jakaa pääalueen kahteen taulukkoruutuun — yksi lähde kummassakin — vierityssijainnit aikaleiman mukaan sidottuina: vieritä kumpaa tahansa ruutua, niin toinen seuraa lähimpään tietueeseen tuosta ajasta tai sen jälkeen. Palvelinkellojen välinen ajautuminen tulee luonnostaan näkyviin ruutujen erkanemisena.

Sekvenssikaavio- ja Vierekkäin-kytkimet sulkevat toisensa pois (toisen kytkeminen päälle napsauttaa toisen pois); molemmat palautuvat taulukkonäkymään, kun aktiivisten lähteiden määrä siirtyy niiden tukeman välin ulkopuolelle.

Kierrätysjoukko on yksi kaista

Kolmen tiedoston valitseminen yhdestä kierrätetystä joukosta on yhden lokin valitsemista, joten ne ladataan yhtenä kaistana. Valitsin näyttää yhden rivin kaistaa kohti ja sen segmentit lueteltuina alla, vanhin ensin, ja kaista nimetään uusimman tiedostonsa mukaan ja vanhempien lukumäärän kera — MxAPILog.txt (+2).

Napsauta kaistaa aikajanalla hiiren oikealla saadaksesi Näytä jokainen kierrätetty tiedosto erikseen ja, kun se on jaettu, Yhdistä kierrätetyt tiedostot yhdeksi kaistaksi. Jakaminen on muistissa jo olevan aineiston uudelleenositus, joten mitään ei lueta uudelleen — mutta se muuttaa sitä, mitä rivi tarkoittaa, joten taulukko pudottaa valintansa.

Lähteiden täytyy ilmoittaa vertailukelpoiset ajat

Yhdistäminen asettaa useiden lähteiden tietueet yhdelle akselille, mikä tarkoittaa jotain vain, jos ne kaikki voivat ilmoittaa yhtä paljon päiväystä. Vuodetonta syslogia ei voi sijoittaa päivättyä lokia vasten keksimättä vuotta, eikä aikaleimatonta käännöslokia voi sijoittaa lainkaan. Niiden sekoittaminen evätään etukäteen viestillä, joka nimeää, mitkä lähteet kuuluvat mihinkin ryhmään. Yhdistä samanlajisia lähteitä tai avaa ne erikseen.

Palauttaminen

Yhdistetty näkymä palaa istunnon mukana. Tallennettuna on kullekin kaistalle valittu profiili ja ne tiedostot, joiksi kaista ratkesi; tietueet luetaan uudelleen taustalla, joten välilehti ilmestyy heti ja täyttyy. Kadonneet tiedostot ja poistetut profiilit ohitetaan ja kirjataan lokiin sen sijaan että niistä tehtäisiin kysymys käynnistyksessä.

Järjestelmän omat lokit (Windows)

Lokianalyysi ▸ Avaa järjestelmäloki… kyselee Windowsin tapahtumalokia ilman että levyllä tarvitaan tiedostoa. Ikkuna kysyy kanavaa (Application / System / Security / mukautettu nimi), valinnaista vähimmäistasoa ja tietuekattoa. Liitännäinen kutsuu PowerShellin Get-WinEvent | ConvertTo-Json -Compress -komentoa suodatin työnnettynä alas ja jäsentää sitten NDJSON-tulosteen mukana tulevan windows-event-log-profiilin läpi.

Toiminto rekisteröidään vain, kun isännällä todella on toimiva Windowsin tapahtumalokilähde — se on aidosti poissa Linuxissa ja macOS:ssä eikä vain harmaana.

macOS:n yhtenäisen lokin ja Linuxin journaldin lähteet ovat suunnitteilla ja sopivat saman sisäisen rajapinnan taakse ilman käyttöliittymämuutoksia, kun ne saapuvat.

Profiilit

Moottorissa ei ole lainkaan sisäänrakennettuja erikoistapausjäsentimiä. Jokainen tuettu muoto — Apache, nginx, syslog, JSON Lines, logfmt, CSV, Windowsin tapahtumaloki — on LogProfile-JSON-tiedosto, joka toimitetaan sovelluksen log-profiles/-hakemistossa. Käyttäjän profiilit sijaitsevat käyttäjän asetuskansion log-profiles/-kansiossa ja ohittavat mukana tulevat tunnisteen perusteella.

Kukin profiili kuvaa:

  • rivimallin — regex, json, logfmt, csv tai delimited.
  • aikaleiman — mikä kenttä, mitkä strftime-tyyliset muodot hyväksytään, lähteen aikavyöhyke, epookkiyksiköt.
  • tason — mikä kenttä sekä raakojen merkintöjen kuvaus kanoniseen luetteloon Trace / Debug / Info / Warn / Error / Fatal.
  • jatkumisen — miten seuraavat rivit liimautuvat nykyiseen tietueeseen (Javan kutsupinojäljistä tulee yksi merkintä eikä 30).
  • johdetut kentät — lisäkentät, jotka lasketaan alihahmolla olemassa olevan kentän yli. Mukana tulevat apache- ja nginx-profiilit käyttävät tätä paljastaakseen yhtenäisen client_ip-kentän, jotta yhdistetyn näkymän Seuraa jäljitystä voi korreloida verkkokäyttö- ja virhetapahtumia samalle asiakkaalle molemmissa lähteissä.
  • kierrätyksen — mitkä tiedostot muodostavat yhden loogisen lokin ja missä järjestyksessä. Katso Kierrätys: tiedostojoukon kuvaaminen.

Sinun ei tarvitse kirjoittaa näitä tiedostoja käsin: niiden editori — jossa on kenttäpoimija, grok-tyyliset aliakset ja reaaliaikainen aikaleimatesteri — on kuvattu kohdassa Profiilien muokkaaminen.

Ajat näytetään sillä tarkkuudella, jonka loki ilmoittaa

Jokainen loki ei ilmoita täyttä päiväystä. RFC 3164 -syslog antaa kuukauden, päivän ja ajan mutta ei vuotta; jotkin sulautetut ja omatekoiset lokit antavat vain kellonajan; käännöstuloste ei mitään.

Aika-sarake näyttää täsmälleen sen, mitä rivi sanoi — 13:36:55, Oct 10 14:32:52 tai täyden aikaleiman merkinnällä UTC — eikä se koskaan täytä aukkoa arvauksella. Sama pätee TSV-vientiin ja profiilieditorin esikatseluun, jottei keksitty vuosi voi lähteä sovelluksesta ja tulla myöhemmin erehdytyksi oikeaksi.

Järjestys, aikajana ja tilastot toimivat edelleen tällaisen tiedoston sisällä: puuttuvat osat ankkuroidaan sisäisesti, jotta tietueet pysyvät keskenään vertailukelpoisina. Ne vain eivät koskaan tule näkyviin.

Profiilien muokkaaminen

Lokianalyysi ▸ Muokkaa profiilia… luettelee jokaisen profiilin merkinnällä Sisäänrakennettu tai Mukautettu. Yhden valitseminen lataa sen.

Sisäänrakennetut profiilit ovat vain luettavia, kuten sisäänrakennetut teematkin: lomake näytetään mutta se on pois käytöstä, ja Monista on tapa muuttaa sellaista. Monistus saa vapaan tunnisteen, joten kopio ei voi koskaan hiljaisesti varjostaa sitä profiilia, josta se tuli. Uusi aloittaa tyhjästä, Poista poistaa jonkin omistasi, ja tallentamattomasta työstä pois siirtyminen kysyy ensin.

Kun tuodaan profiili, jonka tunniste vastaa sisäänrakennettua, se tallennetaan vapaan tunnisteen alle sen korvaamisen sijaan — ja editori kertoo minkä.

Kierrätys: tiedostojoukon kuvaaminen

Kierrätetty loki on yksi looginen virta pilkottuna useaan tiedostoon. Profiili kertoo, mitkä tiedostot kuuluvat yhteen, kahdella nimellä — muuta ei tarvita, ja koska kuvauksia on vain yksi, ei ole mitään, mikä voisi olla ristiriidassa itsensä kanssa.

Kenttä Merkitys
liveName Tiedosto, johon kirjoitetaan juuri nyt.
rotatedName Muoto, jonka vanhemmat tiedostot saavat.
indexOrder Kumpi pää numeroinnista on uusin.
orderBy Mistä järjestys tulee. Lähes aina name.

Paikkamerkit

Molemmat nimet hyväksyvät nämä. Niiden ulkopuolella jokainen merkki on kirjaimellinen — . on piste eikä »mikä tahansa merkki«, ja * on tähti eikä jokerimerkki.

Paikkamerkki Tarkoittaa
%LIVE% Tiedosto, jonka käyttäjä avasi. Käytä sitä, kun profiili ei voi tietää nimeä etukäteen.
%N Kierrätysnumero. Luetaan numerona, joten _10 järjestyy numeron _9 jälkeen eikä numeroiden _1 ja _2 väliin.
%Y %y Vuosi, neljä tai kaksi numeroa. Kaksinumeroiset vuodet käyttävät tavanomaista kääntöpistettä: 69–99 tarkoittaa 19xx, 00–68 tarkoittaa 20xx.
%m %b %B Kuukausi numerona, lyhenteenä (Jul) tai kokonaan (July).
%d %j Kuukaudenpäivä tai vuodenpäivä.
%H %M %S Tunti, minuutti, sekunti — järjestelmille, jotka kierrättävät useammin kuin kerran päivässä.
%% Kirjaimellinen prosenttimerkki.

Nämä ovat samat strftime-kentät, joita profiilin aikaleimamuodot käyttävät, joten opeteltavaa toista joukkoa ei ole.

Pakkauspääte (.gz, .zip, .bz2, .xz) käsitellään automaattisesti eikä se saa esiintyä kummassakaan nimessä: jokainen järjestelmä lisää sen viimeiseksi, sen jälkeen mitä hahmo kuvaa.

liveName-kentän kolme tilaa

Arvo Käytä, kun
%LIVE% Kyseessä on yleiskäyttöinen profiili, joka ei voi tietää nimeä — joukko ankkuroidaan siihen tiedostoon, joka avattiin.
Kirjaimellinen nimi, esimerkiksi access.log Profiili on kirjoitettu yhdelle sovellukselle, jonka elävällä tiedostolla on aina tuo nimi.
Tyhjä Ei ole numeroimatonta elävää tiedostoa: jokainen tiedosto on numeroitu tai päivätty. IIS ja java.util.logging toimivat näin.

Läpikäydyt esimerkit

Järjestelmä liveName rotatedName
logrotate %LIVE% %LIVE%.%N
logrotate ja dateext %LIVE% %LIVE%-%Y%m%d
Apache / nginx access.log access.log.%N
IIS (tyhjä) u_ex%y%m%d.log
log4j2 / logback, oletuskierrätys %LIVE% app-%Y-%m-%d-%N.log
Tunneittainen kierrätys %LIVE% app-%Y-%m-%d-%H.log
java.util.logging (tyhjä) java%N.log

Miten järjestys päätetään

Arvolla orderBy: name — oletus — nimessä oleva päiväys ratkaisee ensin, numero ratkaisee tasapelit päiväyksen sisällä, ja tiedosto ilman numeroa on elävä ja siten uusin. indexOrder kertoo, kumpaan suuntaan numerot kulkevat: higher-is-older logrotatelle ja spdlogille, higher-is-newer Serilogille, Boost.Logille ja kaikelle, mikä laskee ylöspäin edetessään. Pelkkä nimi ei voi erottaa näitä kahta, ja siksi profiilin täytyy.

orderBy-kentän muut arvot ovat olemassa joukoille, joiden numeroihin ei voi luottaa. Syklinen kierrätys käyttää samoja muutamia numeroita ikuisesti, joten numero on paikka eikä ikä; first-record-time lukee sen sijaan kunkin tiedoston ensimmäisen aikaleiman, ja mtime turvautuu tiedostojärjestelmään.

Jos name on valittu ja nimet osoittautuvat kantamaan ei päiväystä eikä numeroa, järjestys putoaa läpi ensimmäiseen tietueeseen, sitten arvoon mtime ja sitten pelkkään nimeen — ja tilarivi kertoo, mihin, koska mtime kirjoitetaan uudelleen kopioitaessa, purettaessa, varmuuskopiota palautettaessa tai haaraa ulos haettaessa.

Tiedostonimen päiväyksestä ei koskaan tule tietueen aikaleimaa

Tiedostonimistä luettuja päiväyksiä käytetään vain yhteen asiaan: segmenttien järjestämiseen. Tietueet ottavat aikaleimansa aina siltä riviltä, josta ne jäsennettiin. Tiedosto nimeltä access.log-20260730 sisältää silti tietueita niiltä ajoilta, jotka sen omat rivit ilmoittavat.

Hahmot, jotka evätään

Hahmo, jossa on kaksi %N-merkintää tai jossa %N on suoraan päiväyskentän vieressä, hylätään profiilin latautuessa ja kierrätys kytketään sen osalta pois, syy diagnostiikassa. app_%N%Y%m%d.log tiedostoa app_1220260730.log vasten voidaan lukea usealla tavalla, ja yhden hiljainen valitseminen järjestäisi joukon väärin ilman että mikään ruudulla selittäisi sitä. Laita niiden väliin jokin kirjaimellinen merkki — jokainen todellinen järjestelmä tekee niin jo.

Profiilieditori tarkistaa molemmat nimet kirjoittaessasi, joten hylätty hahmo tulee esiin siellä eikä avaushetkellä.

Jakaminen sovelluksen ajokerran mukaan

Ajokerta on sovelluksen yksi elämä käynnistyksestä pysäytykseen, eikä se ole sama asia kuin tiedosto: koon mukainen kierrätys pilkkoo ajokerran useaan tiedostoon, ja loki, joka kierrättää vain koon mukaan, voi sisältää useita ajokertoja yhdessä tiedostossa.

Jos loki tulostaa rivin käynnistyessään — Volluto logging system started…, Begin file log, kehyksen banneri — laita siihen osuva säännöllinen lauseke profiilin kenttään runStartMarker. Kaistan napsauttaminen aikajanalla hiiren oikealla tarjoaa silloin toimintoa Jaa sovelluksen ajokerran mukaan, ja kustakin ajokerrasta tulee oma kaistansa. Kohta ilmestyy vain, kun tietueet todella sisältävät useamman kuin yhden ajokerran.

Ilman merkkiä rajat voi vain arvata aikaväleistä, ja tuo arvaus on oletuksena pois päältä tarkoituksella. Ajokerta on sovelluslokien käsite; nginx, apache, syslog ja konttilokit ovat jatkuvia palveluita täysin ilman ajokertoja, ja hiljainen yö luettaisiin muutoin sadoiksi uudelleenkäynnistyksiksi. Siellä missä arvausta käytetään, se mukautuu lokin omaan rytmiin ja hylätään kokonaan, jos se tuottaa ajokertoja, jotka ovat liian lyhyitä ollakseen todellisia.

Taaksepäin kulkevaa aikaa lähteen sisällä käsitellään aina rajana ja siitä ilmoitetaan aina — se tarkoittaa joko uudelleenkäynnistystä tai väärässä järjestyksessä olevia segmenttejä, ja molemmat kannattaa tietää.

Teemat

Tasokohtaiset värit tulevat teemasta — liitännäinen rekisteröi palettiluokan kutakin kanonista tasoa kohti, Teemaeditori tuo ne esiin, ja mikä tahansa teema voi ohittaa ne. Teemaa vaihdettaessa tasosarake, aikajanakaistale, tilastopaneeli ja sekvenssikaavio päivittyvät yhtä aikaa.

Katso myös

  • Vertaa / Diff — vertailuikkuna, jonka mukaan Lokianalyysin ikkunat on mallinnettu.
  • Lokitus ja diagnostiikka — editorin oma lokitiedosto (erillinen Lokianalyysin näkymästä mielivaltaisiin lokimuotoihin).