Kun kohtaat ongelmia palvelimesi suorituskyvyn kanssa, ensimmäinen asia, jonka haluat tehdä, on tarkista Linux-lokit. Järjestelmälokista löydät hyödyllisiä diagnostiikkaviestejä käyttöjärjestelmän eri osista, kuten ytimestä tai useista palveluista, 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:
emerg- epäonnistuminen, korkein prioriteetti;alert- kiireellinen varoitus;crit- kriittinen tapahtuma;err- tavallinen virhe;warn- tavallinen varoitus;notice- ilmoitus;info- tiedotusviesti;debug- virheenkorjaustiedot;
Tällä hetkellä tärkeimmät lokinkeruupalvelut Linuxissa ovat rsyslog ja systemd-journald. Ne sopivat useimpiin nykyaikaisiin jakelupaketteihin ja toimivat itsenäisesti.
rsyslog
Tämän palvelun lokit sijaitsevat "/ var / log /" -kansioon tavallisten tekstitiedostojen muodossa. Lokiviestit laitetaan eri tiedostoihin tapahtuman tyypistä riippuen. Esimerkiksi "/var/log/auth.log" sisältää tietoja käyttäjien valtuuksista järjestelmässä, ja "/var/log/kern.log" sisältää ytimen viestejä. Tiedostojen nimet voivat vaihdella jakelupakettien välillä, joten katsotaanpa asetustiedostoa saadaksesi käsityksen siitä, missä "/etc/rsyslog.d/50-default.conf".
Nämä säännöt näyttävät, mikä tiedosto sisältää kunkin lokiviestityypin. Vasemmassa osassa näkyy viestin tyyppi seuraavassa muodossa "[Lähde].[Priority]" ja oikea osa näyttää lokitiedoston nimen. Kun kirjoitat viestin tyyppiä "*" -merkkiin voidaan lisätä. Se tarkoittaa tyhjää arvoa tai "ei mitään", joka poistaa sen luettelosta. Katsotaanpa tarkemmin kahta ensimmäistä sääntöä.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Ensimmäinen sääntö tarkoittaa, että kaikki valtuutusmekanismista saadut viestit tallennetaan "/var/log/auth.log" -tiedosto. Kaikki valtuutusyritykset (sekä onnistuneet että epäonnistuneet) rekisteröidään tähän tiedostoon. Toinen sääntö osoittaa, että kaikki viestit paitsi valtuutukseen liittyvät viestit tallennetaan tiedostoon "/ Var / log / syslog"-tiedosto. Nämä kaksi tiedostoa ovat yleensä suosituimpia. Seuraavat säännöt määrittelevät polun ytimen lokien tallentamiseen "kern.*" ja postipalvelulokit"posti.*"
Lokitiedostot voidaan avata millä tahansa tekstieditorilla, kuten vähemmän, miten, pyrstö. Avataan "/var/log/auth.log” tiedosto
less /var/log/auth.log
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.
- Viestin aikaleima - "12. helmikuuta 06:18:33"
- Viestin lähettäneen tietokoneen nimi - "vds"
- Viestin lähettäneen sovelluksen tai palvelun nimi - "sshd"
- Prosessin tunnus - [653]
- 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:
Tämä tiedosto tallentaa myös komennot, joilla on lisäoikeudet
Avataan / Var / log / syslog tiedosto
Korostettu viesti kuvakaappauksessa on viesti verkkoliitännän sulkemisesta.
Käytä tiedon etsimiseen pitkien tekstitiedostojen kautta grep apuohjelma. Löydät kaikki osoitteesta saadut viestit pptpd palvelu paikassa "/ Var / log / syslog” tiedosto.
grep 'pptpd' /var/log/syslog
Diagnostiikan aikana voit käyttää pyrstö apuohjelma, joka voi näyttää useita viimeisiä tiedostorivejä. komento "tail -f / var / log / syslog" avulla voit katsella lokien tallennusta reaaliajassa.
Palvelu rsyslog on erittäin joustava ja tehokas. Sitä voidaan käyttää tukkien korjuuseen paikallisissa järjestelmissä sekä yritystasolla. Löydät täydelliset asiakirjat viralliselta verkkosivustolta https://www.rsyslog.com/
Lokien kierto Linuxissa
Lokin tallennus tapahtuu jatkuvasti, joten tiedostojen koko kasvaa jatkuvasti. Kiertomekanismi varmistaa vanhojen lokien automaattisen arkistoinnin ja uusien tiedostojen luomisen. Säännöistä riippuen se voi tapahtua päivittäin, viikoittain, kuukausittain tai kokorajoituksen mukaan. Kun uusia lokeja luodaan, vanhat voidaan vain poistaa tai lähettää sähköpostitse. Lokien kiertämisen suorittaa logrotate apuohjelma. Löydät pääkokoonpanon kohdasta "/etc/logrotate.conf" tiedosto. Tiedostojen sisältö käsitellään myös "/etc/logrotate.d/”-Kansio
Uudet säännöt voidaan kirjautua pääasetustiedostoon. On kuitenkin parasta luoda erillinen tiedosto "/etc/logrotate.d/Tässä hakemistossa on oletusarvoisesti muutama tiedosto
Katsotaanpa tiedostoa "/etc/logrotate.d/rsyslog", joka sisältää kiertosäännöt lokeille rsyslog palvelusta.
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
Näet kuvakaappauksesta, että "/ var / log /"kansio, jossa on pääloki"syslog” ja 7 arkistoa, mikä vastaa asetustiedoston sääntöjä.
Löydät tarkemman kuvauksen logrotatesta käsikirjasta suorittamalla "mies logrotate”komento
Linux-lokien kerääminen - päiväkirja
Puunkorjuupalvelu systemd-journald on osa alustusjärjestelmää systemd. Linuxin lokitiedostot on tallennettu "/var/log/journal/” erikoismuodossa ja voidaan avata journalctl apuohjelma. Tallennusmuoto on täsmälleen sama kuin tässä rsyslog.
Komento journalctl ilman attribuutteja näyttää kaikki tietueet, mutta se ei sovellu suurempiin lokeihin. Katsotaanpa joitain tämän apuohjelman vaihtoehtoja.
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ä palvelustajournalctl -k- näytä ytimen viestitjournalctl -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 saamiseksi voit yhdistää näitä vaihtoehtoja. Näytämme kaikki virheet pptpd palvelu
journalctl -u pptpd -p err
Jos määrität suoritettavan tiedoston polun attribuutiksi, apuohjelma näyttää kaikki tämän tiedoston lähettämät viestit. Näytä kaikki tiedoston lähettämät viestit/usr/bin/sudo” alkaen klo 04:15 18. helmikuuta 2020. Itse asiassa se näyttää kaikki komennot, jotka suoritetaan suuremmilla käyttöoikeuksilla.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
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
Katsotaanpa nyt joitain erikoistiedostoja "/ var / log /” kansio, johon kaikki kirjautumisyritykset on tallennettu Nämä tiedostot ovat binaarisia ja ne voidaan avata vain erikoisohjelmilla.
/var/log/wtmp sisältää tietoa onnistuneista kirjautumisyrityksistä. Avaa se viimeisellä apuohjelmalla.
/var/log/btmp - sisältää kaikki epäonnistuneet kirjautumisyritykset. Se voidaan avata lastb:llä lisäoikeuksilla. Attribuutti -n määrittää tiedoston lopusta näytettävien rivien määrän.
/var/log/lastlog - sisältää jokaisen tilitietueen viimeisen kirjautumistoiminnon ajan. Se voidaan avata viimeinen kirja