Kui teil on probleeme oma serveri jõudlusega, on esimene asi, mida soovite teha kontrollige oma Linuxi logisid. Süsteemilogist leiate kasulikke diagnostikateateid operatsioonisüsteemi erinevatest komponentidest, nagu kernel või erinevad teenused, nii et tõenäoliselt leiate tõrke põhjuse sealt.
Iga teade logis genereeritakse teatud operatsioonisüsteemi sündmuste tulemusena: alates kasutajast, autoriseerimisest kuni teenuse sulgemiseni või rakenduse rikkeni. Nendel sündmustel on erinevad prioriteedid sõltuvalt sellest, kui kriitilised need on. Linuxis on järgmist tüüpi sündmusi:
emerg- ebaõnnestumine, kõrgeim prioriteet;alert- kiireloomuline hoiatus;crit- kriitiline sündmus;err- tavaline viga;warn- tavaline hoiatus;notice- teavitamine;info- infosõnum;debug- silumisinfo;
Praegu on Linuxis peamised logide koristamise teenused rsyslog ja systemd-ajakiri. Need sobivad enamiku kaasaegsete turustuspakettidega ja töötavad iseseisvalt.
rsyslog
Selle teenuse logid asuvad "/ var / log /" kausta tavaliste tekstifailide kujul. Logiteated paigutatakse olenevalt sündmuse tüübist erinevatesse failidesse. Näiteks "/var/log/auth.log" sisaldab teavet kasutajate autoriseerimise kohta süsteemis ja "/var/log/kern.log" sisaldab kerneli sõnumeid. Failide nimed võivad levituspakettide lõikes erineda, nii et vaatame konfiguratsioonifaili, et saada aimu, mis kus "/etc/rsyslog.d/50-default.conf".
Need reeglid näitavad, milline fail sisaldab igat tüüpi logiteateid. Vasakpoolses osas kuvatakse sõnumi tüüp järgmisel kujul "[Allikas].[Priority]" ja parempoolses osas kuvatakse logifaili nimi. Kirjutades sõnumi tüüpi "*" märgi saab lisada. See tähendab tühja väärtust või "mitte ükski”, mis eemaldab selle loendist. Vaatame lähemalt kahte esimest reeglit.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Esimene reegel tähendab, et kõik autoriseerimismehhanismilt saadud sõnumid salvestatakse/var/log/auth.log" faili. Kõik autoriseerimiskatsed (nii edukad kui ka mitte) registreeritakse selles failis. Teine reegel näitab, et kõik kirjad, välja arvatud autoriseerimisega seotud sõnumid, salvestatakse faili "/ var / log / syslog" faili. Need kaks faili on tavaliselt kõige populaarsemad. Järgmised reeglid määravad kerneli logide salvestamise tee "kern.*" ja postiteenuste logid "mail.*"
Logifaile saab avada mis tahes tekstiredaktoriga, näiteks vähem, kass, saba. Avame "/var/log/auth.log” faili
less /var/log/auth.log
Faili iga rida on rakenduselt või teenuselt saadud eraldi sõnum. Kõik sõnumid, olenemata nende allikast, on ühes vormingus ja koosnevad 5 osast. Võtame näiteks ekraanipildil esiletõstetud sõnumi.
- Sõnumi ajatempel – “12. veebruar 06:18:33”
- Sõnumi saatnud arvuti nimi - "vds"
- Sõnumi saatnud rakenduse või teenuse nimi - "sshd"
- Protsessi ID – [653]
- Sõnumi tekst – “Mihaili aktsepteeritud parool alates 188.19.42.165 pordist 2849 ssh2”
See oli näide edukast ühendusest SSH-ga.
Ja nii näeb välja ebaõnnestunud sisselogimiskatse:
See fail salvestab ka täpsemate õigustega käsud
Avame / var / log / syslog fail
Ekraanipildil esiletõstetud teade on teade võrguliidese sulgemise kohta.
Kasutage teabe otsimiseks pikkade tekstifailide kaudu grep kasulikkust. Leiate kõik aadressilt saadud sõnumid pptpd teenus "/ var / log / syslog” faili.
grep 'pptpd' /var/log/syslog
Diagnostika käigus saate kasutada saba utiliit, mis suudab kuvada mitu viimast rida faile. käsk"saba -f / var / log / syslog” võimaldab vaadata logide salvestamist reaalajas.
Teenus rsyslog on väga paindlik ja võimas. Seda saab kasutada palkide ülestöötamiseks nii kohalikes süsteemides kui ka ettevõtte tasandil. Täielikud dokumendid leiate ametlikult veebisaidilt https://www.rsyslog.com/
Logide pööramine Linuxis
Logi salvestamine toimub pidevalt, nii et failide suurus kasvab pidevalt. Pöörlemismehhanism tagab vanade logide automaatse arhiveerimise ja uute failide loomise. Olenevalt reeglitest võib see toimuda iga päev, kord nädalas, kuus või suurusepiirangu järgi. Uute logide loomisel saab vanu lihtsalt kustutada või e-postiga saata. Palkide pööramise teostab saavutatud kasulikkust. Põhikonfiguratsiooni leiate jaotisest "/etc/logrotate.conf" faili. Failide sisu töödeldakse ka failis "/etc/logrotate.d/”Kaust
Uusi reegleid saab sisse logida peamisse konfiguratsioonifaili. Siiski on kõige parem luua eraldi fail jaotises "/etc/logrotate.d/Vaikimisi on selles kataloogis mõned failid
Vaatame faili "/etc/logrotate.d/rsyslog", mis sisaldab logide pööramise reegleid rsyslog teenust.
Esiteks peaks reegel sisaldama logifaili teed ja seejärel kõik juhised kõverates sulgudes.
- pöörata 7 - säilitatavate failide arv - 7
- iga päev - looge iga päev uus fail
- kompress - tihendage ja arhiivige vanu faile
Ekraanipildil näete, et jaotises "/ var / log /" kaust seal on peamine logi "syslog” ja 7 arhiivi, mis vastab konfiguratsioonifaili reeglitele.
Täpsema logrotate kirjelduse leiate juhendist, käivitades "mees logrotate” käsk
Linuxi logide kogumine – päevik
Palkide ülestöötamise teenus systemd-ajakiri on osa initsialiseerimissüsteemist systemd. Linuxi logifailid on salvestatud "/var/log/journal/” spetsiaalses formaadis ja on avatav abiga Journalctl kasulikkust. Kirjete formaat on täpselt sama, mis on rsyslog.
käsk Journalctl atribuutideta näitab kõiki kirjeid, kuid see ei sobi suuremate logide jaoks. Vaatame mõningaid selle utiliidi võimalusi.
journalctl -b- näita kõiki rekordeid alates viimasest stardistjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- näidata rekordit teatud aja jooksuljournalctl -u pptpd- näidata teatud teenuse kirjeidjournalctl -k- näidata kerneli sõnumeidjournalctl -p err- näidata teatud prioriteediga sõnumeid, sel juhul kõrgema prioriteediga sõnumeid (kriit, hoiatus, esilekerkimine)journalctl -f- näidata sõnumeid reaalajas
Parema paindlikkuse tagamiseks saate neid valikuid kombineerida. Näitame kõik vead pptpd teenus
journalctl -u pptpd -p err
Kui määrate atribuudina käivitatava faili tee, näitab utiliit kõiki selle faili saadetud teateid. Näitame kõiki faili poolt saadetud sõnumeid/usr/bin/sudo” alates 04. veebruaril 15 kell 18:2020. Tegelikult näitab see kõiki kõrgemate õigustega käivitatud käske.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Et teada saada, kui palju kettaruumi logifailid järgmise käsu täitmiseks võtavad
journalctl --disk-usage
Logifaili piiramiseks 1 GB-ga käivitage järgmine käsk
journalctl --vacuum-size=1G
Binaarfailide avamine
Nüüd vaatame mõningaid spetsiaalseid faile jaotises "/ var / log /” kaust, kuhu on salvestatud kõik sisselogimiskatsed Need failid on binaarsed ja neid saab avada ainult eriprogrammidega.
/var/log/wtmp sisaldab teavet edukate sisselogimiskatsete kohta. Kasutage selle avamiseks viimast utiliiti.
/var/log/btmp - sisaldab kõiki ebaõnnestunud sisselogimiskatseid. Seda saab avada täiustatud õigustega lastb-ga. Atribuut -n määrab faili lõpust kuvatavate ridade arvu.
/var/log/lastlog - sisaldab iga kontokirje viimase sisselogimistoimingu aega. Seda saab avada viimane päevik