Tietopankki Yksinkertaiset ohjeet työskentelemään Profitserver-palvelun kanssa
tärkein Tietopankki Kuinka lukea Linux-lokeja ja mistä se löytyy

Kuinka lukea Linux-lokeja ja mistä se löytyy


Kun kohtaat ongelmia palvelimesi suorituskyvyn kanssa, ensimmäinen asia, joka sinun on tehtävä, on tarkistaa Linux-lokit . Järjestelmälokista löydät hyödyllisiä diagnostiikkaviestejä käyttöjärjestelmän eri osista, kuten kernelin tai eri palveluiden osalta, joten löydät todennäköisesti vian syyn sieltä.

Jokainen lokin viesti syntyy käyttöjärjestelmän tiettyjen tapahtumien seurauksena: käyttäjästä, valtuutuksesta palvelun sulkemiseen tai sovellusvirheeseen. Näillä tapahtumilla on erilaiset prioriteetit sen mukaan, kuinka kriittisiä ne ovat. Linuxissa on seuraavan tyyppisiä tapahtumia:

  1. emerg - epäonnistuminen, korkein prioriteetti;
  2. alert - kiireellinen varoitus;
  3. crit - kriittinen tapahtuma;
  4. err - tavallinen virhe;
  5. warn - tavallinen varoitus;
  6. notice - ilmoitus;
  7. info - tiedotusviesti;
  8. debug - virheenkorjaustiedot;

Tällä hetkellä Linuxin tärkeimmät lokien keruupalvelut ovat rsyslog ja systemd-journald . Ne sopivat useimpiin nykyaikaisiin jakelupaketteihin ja toimivat itsenäisesti.

rsyslog

Tämän palvelun lokit sijaitsevat kansiossa ” /var/log/ ” tavallisten tekstitiedostojen muodossa. Lokiviestit sijoitetaan eri tiedostoihin tapahtuman tyypistä riippuen. Esimerkiksi ” /var/log/auth.log ” sisältää tietoja käyttäjien valtuutuksista järjestelmässä ja ” /var/log/kern.log ” sisältää ytimen viestejä. Tiedostonimet voivat vaihdella eri jakelupaketeissa, joten katsotaanpa asetustiedostoa saadaksesi käsityksen siitä, missä ” /etc/rsyslog.d/50-default.conf ” sijaitsee.

Сбор логов Linux утилитой rsyslog

Nämä säännöt näyttävät, mikä tiedosto sisältää minkäkin lokiviestityypin. Vasen osa näyttää viestityypin seuraavassa muodossa " [Lähde].[Prioriteetti] " ja oikea osa näyttää lokitiedoston nimen. Viestin tyyppiin voidaan lisätä merkki " * ". Se tarkoittaa tyhjää arvoa tai " ei mitään ", joka poistaa viestin luettelosta. Tarkastellaanpa kahta ensimmäistä sääntöä tarkemmin.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

Ensimmäinen sääntö tarkoittaa, että kaikki valtuutusmekanismilta vastaanotetut viestit tallennetaan tiedostoon " /var/log/auth.log ". Kaikki valtuutusyritykset (sekä onnistuneet että epäonnistuneet) rekisteröidään tähän tiedostoon. Toinen sääntö osoittaa, että kaikki muut paitsi valtuutukseen liittyvät viestit tallennetaan tiedostoon " /var/log/syslog ". Nämä kaksi tiedostoa ovat yleensä suosituimpia. Seuraavat säännöt määrittelevät polun, johon kernel-lokit tallennetaan " kern.* " ja sähköpostipalvelun lokit " mail.* ".

Lokitiedostot voidaan avata millä tahansa tekstieditorilla, kuten less , cat tai tail . Avataan tiedosto ” /var/log/auth.log ” .

less /var/log/auth.log
Запись в лог-файле Линукс о неудачной попытке авторизации SSH

Tiedoston jokainen rivi on erillinen sovelluksesta tai palvelusta saatu viesti. Kaikilla viesteillä niiden lähteestä riippumatta on yksi muoto ja ne koostuvat viidestä osasta. Otetaan esimerkkinä kuvakaappauksessa korostettu viesti.

  1. Viestin aikaleima - "12. helmikuuta 06:18:33"
  2. Viestin lähettäneen tietokoneen nimi - "vds"
  3. Viestin lähettäneen sovelluksen tai palvelun nimi - "sshd"
  4. Prosessin tunnus - [653]
  5. Viestin teksti - "Hyväksytty salasana mihailille 188.19.42.165 portista 2849 ssh2"

Tämä oli esimerkki onnistuneesta SSH-yhteydestä.

Ja tältä näyttää epäonnistunut kirjautumisyritys:

Читаем логи Linux

Tämä tiedosto tallentaa myös komennot, joilla on lisäoikeudet

Как правильно прочитать лог Linux

Avataan tiedosto / var/log/syslog

Korostettu viesti kuvakaappauksessa on viesti verkkoliitännän sulkemisesta.

Утилита logorotate

Tiedon etsimiseen pitkistä tekstitiedostoista käytä grep- apuohjelmaa. Löydät kaikki pptpd- palvelusta vastaanotetut viestit tiedostosta " /var/log/syslog ".

grep 'pptpd' /var/log/syslog
файл "/etc/logrotate.d/rsyslog"

Diagnostiikan aikana voit käyttää Tail -apuohjelmaa, joka voi näyttää useita tiedostojen viimeisiä rivejä. Komennolla ” tail -f /var/log/syslog ” voit tarkastella lokien tallennusta reaaliajassa.

Rsyslog -palvelu on erittäin joustava ja tehokas. Sitä voidaan käyttää lokien keräämiseen sekä paikallisissa järjestelmissä että yritystasolla. Löydät täydellisen dokumentaation viralliselta verkkosivustolta https://www.rsyslog.com/

Lokien kierto Linuxissa

Lokien tallennus tapahtuu jatkuvasti, joten tiedostojen koko kasvaa jatkuvasti. Kiertomekanismi varmistaa vanhojen lokien automaattisen arkistoinnin ja uusien tiedostojen luomisen. Säännöistä riippuen tämä voi tapahtua päivittäin, viikoittain, kuukausittain tai kokorajoituksen mukaan. Kun uusia lokeja luodaan, vanhat voidaan yksinkertaisesti poistaa tai lähettää sähköpostitse. Lokien kierrätyksen suorittaa logrotate- apuohjelma. Löydät pääasetukset tiedostosta " /etc/logrotate.conf ". Tiedostojen sisältöä käsitellään myös kansiossa " /etc/logrotate.d/ " .

Uudet säännöt voidaan kirjata pääasetustiedostoon. On kuitenkin parasta luoda erillinen tiedosto hakemistoon ” /etc/logrotate.d/ ”. Oletusarvoisesti tässä hakemistossa on muutamia tiedostoja.

Настраиваем ротацию логов в Линукс

Katsotaanpa tiedostoa ” /etc/logrotate.d/rsyslog ”, joka sisältää rsyslog- palvelun lokien rotaatiosäännöt.

Пример вывода всех ошибок pptpd в лог-файлах

Ensin säännön tulee sisältää polku lokitiedostoon ja sitten kaikki ohjeet kaarevissa suluissa.

  • kierrä 7 - säilytettävien tiedostojen määrä - 7
  • päivittäin - Luo uusi tiedosto joka päivä
  • puristaa - pakkaa ja arkistoi vanhat tiedostot
Учимся читать логи Линукс

Kuvakaappauksesta näet, että kansiossa ” /var/log/ ” on pääloki ” syslog ” ja 7 arkistoa, jotka vastaavat asetustiedoston sääntöjä.

Löydät tarkemman kuvauksen logrotate-komennosta käyttöoppaasta suorittamalla komennon " man logrotate ".

Linux-lokien kerääminen - päiväkirja

Lokien keruupalvelu systemd-journald on osa systemd:n ​​alustusjärjestelmää . Linuxin lokitiedostot tallennetaan kansioon " /var/log/journal/ " erityisessä muodossa, ja ne voidaan avata journalctl -apuohjelmalla . Tietueiden muoto on täsmälleen sama kuin rsyslogissa.

Komento journalctl ilman attribuutteja näyttää kaikki tietueet, mutta se ei sovellu suuremmille lokeille. Katsotaanpa joitakin tämän apuohjelman ominaisuuksia.

  • journalctl -b - näytä kaikki tietueet viimeisestä käynnistyksestä
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - Näytä ennätys tietyn ajanjakson sisällä
  • journalctl -u pptpd - näyttää tietueita tietystä palvelusta
  • journalctl -k - näytä ytimen viestit
  • journalctl -p err - näyttää tietyn prioriteetin viestit, korkeamman prioriteetin viestit tässä tapauksessa (kritiikki, hälytys, emerg)
  • journalctl -f - Näytä viestit reaaliajassa

Paremman joustavuuden saavuttamiseksi voit yhdistää nämä vaihtoehdot. Näytämme kaikki pptpd- palvelun virheet.

journalctl -u pptpd -p err
утилита viime

Jos määrität suoritettavan tiedoston polun attribuuttina, apuohjelma näyttää kaikki tämän tiedoston lähettämät viestit. Näytetään kaikki tiedoston " /usr/bin/sudo " lähettämät viestit 18. helmikuuta 2020 klo 04.15 alkaen. Itse asiassa se näyttää kaikki komennot, jotka on suoritettu korkeammilla oikeuksilla.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

Selvittääksesi kuinka paljon levytilaa lokitiedostot vievät seuraavan komennon suorittamiseen

journalctl --disk-usage

Jos haluat rajoittaa lokitiedoston 1 Gb:iin, suorita seuraava komento

journalctl --vacuum-size=1G

Binääritiedostojen avaaminen

Tarkastellaan nyt joitakin erikoistiedostoja kansiossa ” /var/log/ ”, johon kaikki kirjautumisyritykset tallennetaan. Nämä tiedostot ovat binääritiedostoja ja ne voidaan avata vain erikoisohjelmilla.

/var/log/wtmp sisältää tietoja onnistuneista kirjautumisyrityksistä. Avaa se viimeisellä apuohjelmalla.

утилита lastlog

/var/log/btmp - sisältää kaikki epäonnistuneet kirjautumisyritykset. Sen voi avata lastb-komennolla lisäoikeuksilla. Attribuutti -n määrittää näytettävien rivien määrän tiedoston lopusta lukien.

/var/log/lastlog - Sisältää kunkin tilitietueen viimeisimmän kirjautumisajan. Se voidaan avata lastlog- komennolla

❮ Edellinen artikkeli Linuxin tekstieditorit
Seuraava artikkeli ❯ Verkkoliitäntöjen määrittäminen CentOS: ssä

Kysy meiltä VPS:stä

Olemme aina valmiita vastaamaan kysymyksiisi milloin tahansa päivällä tai yöllä.