Järjestelmälokit ovat paras ystäväsi, kun haluat tehdä virheiden vianmäärityksen. Tässä on kaikki, mitä sinun tarvitsee tietää Ubuntun lokien valvonnasta.
On erittäin turhauttavaa, kun tietokoneesi ei toimi kunnolla, etkä tiedä miksi. Vaikka kaikkiin Ubuntussa mahdollisesti kohtaamiin ongelmiin ei ole helppoja ratkaisuja, voit käyttää resursseja, kuten Ubuntu-virhelokeja, tietokoneen vianmääritykseen ja diagnosointiin.
Mitä ovat Ubuntu-lokit?
Ubuntu lokit ovat kattavia tiedostoja joka tallentaa tietueen kaikista tietokoneellasi tapahtuvista tapahtumista. Se sisältää kirjattuja tietoja laitteistostasi, käyttöjärjestelmästäsi ja jopa joistakin ohjelmistoistasi.
Nämä lokit ovat korvaamattomia vianetsintä- ja diagnoosiprosessissa. Ne tarjoavat tietoja, kuten aikaleimoja, kontekstia ja tarkkoja tietoja järjestelmässäsi tapahtuvista tapahtumista. Jotta voit käyttää näitä lokeja, sinun on ensin tiedettävä tärkeimmät tyypit.
Ubuntu-lokien tyypit
Sen sijaan, että kirjoittaisit jokaisen tiedon yhdeksi lokiksi, Ubuntu tallentaa tiedot erillisiin lokeihin, jotka on suunniteltu eri tarkoituksiin. Vaikka lokeja on liian monta lueteltavaksi, on muutamia tärkeitä lokeja (ja lokityyppejä), jotka sinun tulee olla tietoisia ennen kuin yrität käyttää niitä vianmäärityksessä.
Ehkä näkyvin kaikista lokeista on systemd-päiväkirja. systemd on kiinteä palveluhallinta Linuxissa. Tämän seurauksena monien eri käyttöjärjestelmäpalvelujen ongelmat kirjataan systemd-päiväkirjaan. Voit selata lokia käyttämällä journalctl-komento.
Myös järjestelmälokit ovat erittäin tärkeitä. Nämä lokit liittyvät suoraan Ubuntun eri osiin ja voivat sisältää esimerkiksi järjestelmäviestejä. Jotkut järjestelmälokeista sisältävät:
- Valtuutusloki: Kaikki valtuutusta vaativat prosessit, kuten sudo-komento tai käyttäjien kirjautumiset, tallennetaan tähän lokiin.
- Daemon-loki: Tämä loki koskee kaikkia taustapalveluita (tai demoneita), kuten Bluetoothia ja SSH: ta.
- Virheenkorjausloki: Tämä loki sisältää järjestelmän toimittamat vianetsintätiedot sekä syslogd-ohjelmaan kirjautuvat sovellukset.
- Ytimen loki: Tämä loki sisältää tiedot Linux-ytimen toiminnasta.
- Järjestelmäloki: Tämä loki tallentaa tietueet, jotka sisältävät useimmat järjestelmäsi globaalit toiminnot.
- Vikaloki: Tämä loki tallentaa tietueet epäonnistuneista kirjautumisista, mikä tekee siitä erityisen hyödyllisen sen tarkistamiseen, onko joku yrittänyt murtautua järjestelmääsi.
Tietokoneessasi voi myös olla sovelluslokeja (kuten Apache-lokitiedostoja tai MySQL-lokitiedostoja), jotka on tallennettu /var/log hakemistosta. Sinä pystyt käytä ls-komentoa nähdäksesi kaikki tietokoneellesi tällä hetkellä tallennetut lokitiedostot:
ls /var/log
Kuinka lukea lokeja Ubuntussa
Nyt kun tunnet järjestelmäsi erityyppiset lokit, olet valmis syventymään niiden tallentamiin tietoihin. Ennen kuin aloitat, on tärkeää huomata, että kaikkia järjestelmälokeja ei kirjoiteta samalla tavalla.
Jotkut lokit tallennetaan tekstitiedostoina, kun taas toiset lokit tallennetaan binääritiedostoina. Sinun on tutustuttava molempiin tiedostotyyppeihin – ja komentorivityökaluihin, joiden kanssa ne on yhdistetty – jos haluat jäsentää tehokkaasti järjestelmäsi tietueita.
Selkotekstitiedostojen lokit käyttävät mallia, joka tunnetaan nimellä RSYSLOG_TraditionalFileFormat, ja sisältävät neljä peruskenttää: aikaleima, isäntänimi, sovellus ja viesti. Esimerkiksi ytimen loki käyttää tätä mallia:
Toisin kuin tavalliset lokit, binääritiedostojen lokeja ei voida lukea yhtä helposti. Sinun on käytettävä komentorivin apuohjelmia, kuten WHO, kestää, ja lastb lukeaksesi lokeja, kuten utmp, wtmp ja btmp. Komennot kuten utmpdump utmp-versioille ja systemctl Journaldille on myös suunniteltu tulostamaan binäärilokitiedot luettavassa muodossa.
Useimmissa tilanteissa on tärkeää osata jäsentää näitä lokeja tehokkaasti terminaalissa. Voit käyttää komentoja, kuten grep ja tail, hakeaksesi tiettyjä tietoja ilman, että sinun tarvitsee vaivalloisesti lukea järjestelmälokisi läpi.
Jotkut parhaista komennoista, joita voit käyttää, ovat:
- grep: Etsii tiedostosta merkkijonoa
- häntä: Tulostaa 10 riviä tiedoston lopusta
- pää: Tulostaa 10 riviä tiedoston alusta
- järjestellä: Tulostaa tiedoston, joka on järjestetty uudelleen määritystesi mukaan
Komentorivityökaluissa, kuten utmpdump ja systemctl, on myös hyödyllisiä lippuja, jotka sinun tulee pitää mielessä työskennellessäsi terminaalissa. Näiden lippujen avulla voit muokata komentoa ja hallita paremmin sitä, mitä terminaalissa tulostetaan.
Joitakin erityisen hyödyllisiä journalctl-komennon lippuja ovat:
- -b: Saattaa journalctl: n palauttamaan vain viimeisen uudelleenkäynnistyksen jälkeen kerätyt merkinnät
- --alkaen "VVVV-KK-PP HH: MM: SS" --"VVVV-KK-PP HH: MM: SS" asti: Ohjaa journalctl: n palauttamaan vain merkinnät ennen ja/tai jälkeen määritettyjä päivämääriä
- -p NUMERO: Suodattaa merkinnät syslog-prioriteettitasojen mukaan (välillä 0/emerg - 7/debug)
Ubuntu-lokien virheiden vianmääritys
Nyt kun tunnet erityyppiset järjestelmälokit ja osaat lukea niitä Käytännössä keräämiäsi tietoja on käytettävä vianmääritykseen käsitellä asiaa. Tämä prosessi vaatii yleensä luovuutta.
Vianmääritystä kannattaa lähestyä pohtimalla ensin käsittelemäsi ongelman merkittäviä piirteitä. Ilmeneekö ongelma, kun avaat tietyn sovelluksen? Kaatuuko järjestelmäsi ja käynnistyykö se uudelleen aina, kun ongelma ilmenee?
Kun ajattelet ongelman ominaisuuksia, se johtaa luonnollisesti joihinkin parhaista lokeista tiedon keräämiseen. Jos järjestelmässäsi on esimerkiksi ongelmia käynnistyksen aikana, saatat saada hyödyllisiä tietoja viittaamalla kirjauskansion käynnistysmerkintöihin.
Kirjoita seuraava komento tulostaaksesi kaikki kirjatut käynnistykset kirjautumalla:
journalctl --list-saappaat
Pääte tulostaa luettelon tallennetuista käynnistyksistä; uusimmat saappaat löytyvät luettelon alaosasta. Katso kunkin käynnistyksen tallennettuja päivämääriä ja aikoja, kunnes löydät kirjatun käynnistyksen, jossa virhe tapahtui.
Ota vasemmanpuoleisimman sarakkeen numeroksi NUM ja anna seuraava komento saadaksesi lisätietoja käynnistyksestä:
journalctl -b -NUM -n
Näyttöön tulee kattava tietue käynnistyksestä. Jos käynnistysprosessin aikana tapahtui epätavallisia virheitä, voit käyttää tämän tietueen tietoja saadaksesi askeleen eteenpäin vianmäärityksessä.
Sama periaate koskee monia muitakin asioita. Jos et tiedä paljon tietokoneesi kohtaamasta ongelmasta, voi kuitenkin olla vaikea tietää, mistä aloittaa. On olemassa muutamia lokeja, jotka erottuvat erityisen hyödyllisinä useissa Ubuntu-järjestelmien ongelmissa.
syslog on paras loki aloittaaksesi vianmääritysprosessin. Koska se on käytännössä maailmanlaajuinen loki, sillä on hyvin todennäköisesti tietoja käsittelemäsi ongelmasta. Jos sinulla on ongelmia todennuksen kanssa (esim sudo-salasana ei toimi -virheesimerkiksi) tai käynnistystä, tarkista sitten auth.log tai boot.log.
Hae osuvimmista lokeista ongelmaasi liittyvillä avainsanoilla. Jos sinulla on esimerkiksi ongelmia todennuksen kanssa, voit hakea tietueita auth.logista seuraavalla komennolla:
cat /var/log/auth.log | grep "Todennusvirhe"
Lopulta löydät varmasti tietoa, joka tarjoaa erinomaisen näkemyksen. Kun yhdistät virhelokien tiedot verkkotutkimukseen, löydät todennäköisesti resursseja, jotka auttavat ratkaisemaan järjestelmäsi ongelmat nopeasti.
Katso online-resurssit Linux-virheiden vianmääritykseen
Sinun ei tarvitse käydä vianetsintäprosessia läpi yksin. Kun keräät tietoja tietokoneesi ongelmasta, sinun tulee käyttää verkkoresursseja, kuten Pyydä Ubuntua ja MakeUseOfin yksityiskohtaisia oppaita päästäksesi lähemmäksi vihdoin diagnosointia ja korjausta PC.