As u probleme ondervind met die werkverrigting van u bediener, is die eerste ding wat u wil doen gaan jou Linux logs na. In die stelsellogboek kan jy 'n paar nuttige diagnostiese boodskappe van verskillende komponente van die bedryfstelsel soos die kern of verskeie dienste vind, so jy sal heel waarskynlik die oorsaak van mislukking daar vind.
Elke boodskap in die log word gegenereer as gevolg van sekere gebeurtenisse in die bedryfstelsel: van die gebruiker, magtiging tot diensafsluiting of toepassingsmislukking. Hierdie gebeure het verskillende prioriteite afhangende van hoe krities dit is. Daar is die volgende soorte gebeurtenisse in Linux:
emerg- mislukking, hoogste prioriteit;alert- dringende waarskuwing;crit- kritieke gebeurtenis;err- gewone fout;warn- gewone waarskuwing;notice- kennisgewing;info- inligtingsboodskap;debug- ontfouting inligting;
Op die oomblik is die belangrikste logboek-oesdienste in Linux rsyslog en sistem-joernaal. Hulle pas by die meeste van die moderne verspreidingspakkette en werk onafhanklik.
rsyslog
Logs van hierdie diens is geleë in "/ var / log /"-vouer in die vorm van gewone tekslêers. Logboodskappe word in verskillende lêers geplaas, afhangende van die tipe gebeurtenis. Byvoorbeeld, "/var/log/auth.log” bevat inligting oor gebruikers se magtiging in die stelsel, en “/var/log/kern.log" bevat kernboodskappe. Lêersname kan verskil tussen verspreidingspakkette, so kom ons kyk na die konfigurasielêer om die idee te kry van wat is waar "/etc/rsyslog.d/50-default.conf".
Hierdie reëls wys watter lêer elke tipe logboodskappe bevat. Die linkerdeel vertoon die tipe boodskap in die volgende vorm "[Bron].[Prioriteit]" en die regter deel vertoon die naam van die loglêer. Terwyl die tipe boodskap geskryf word "*" karakter kan bygevoeg word. Dit beteken leë waarde of "niemand” wat dit van die lys verwyder. Kom ons kyk na die eerste twee reëls van nader.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Die eerste reël beteken dat alle boodskappe wat van die magtigingsmeganisme ontvang word, aangeteken sal word in "/var/log/auth.log"-lêer. Alle magtigingspogings (beide suksesvol en nie) sal in hierdie lêer geregistreer word. Die tweede reël dui aan dat alle boodskappe behalwe dié wat met magtiging verband hou, opgeneem sal word in "/ Var / log / syslog" lêer. Hierdie twee lêers is gewoonlik die gewildste. Die volgende reëls definieer die pad om kernlogs te stoor "kern.*" en e-pos diens logs "pos.*"
Loglêers kan oopgemaak word met die hulp van enige teksredigeerder, soos minder, kat, stert. Kom ons maak die "/var/log/auth.log” lêer
less /var/log/auth.log
Elke reël van die lêer is 'n aparte boodskap wat van die toepassing of diens ontvang word. Alle boodskappe ongeag hul bron het een formaat en bestaan uit 5 dele. Kom ons neem die gemerkte boodskap in die skermkiekie as 'n voorbeeld.
- Boodskap tydstempel - "12 Feb 06:18:33"
- Naam van die rekenaar wat die boodskap gestuur het - "vds"
- Naam van die toepassing of diens wat die boodskap gestuur het - "sshd"
- Proses ID - [653]
- Boodskapteks - "Aanvaarde wagwoord vir mihail vanaf 188.19.42.165 poort 2849 ssh2"
Dit was 'n voorbeeld van 'n suksesvolle verbinding met SSH.
En so lyk 'n onsuksesvolle aanmeldpoging:
Hierdie lêer teken ook opdragte met gevorderde toestemmings aan
Kom ons maak die / Var / log / syslog lêer
'n Gemerkte boodskap op die skermkiekie is die boodskap oor die afsluiting van die netwerkkoppelvlak.
Om inligting deur lang tekslêers te soek, gebruik grep nut. Jy kan alle boodskappe vind wat ontvang is van pptpd diens in die “/ Var / log / syslog" lêer.
grep 'pptpd' /var/log/syslog
Tydens die diagnose kan jy gebruik stert nut wat verskeie laaste reëls lêers kan vertoon. Opdrag "stert -f / var / log / syslog” sal jou toelaat om logs wat intyds opgeneem is, te kyk.
Die diens rsyslog is baie buigsaam en kragtig. Dit kan gebruik word vir die oes van stompe in plaaslike stelsels sowel as op ondernemingsvlak. U kan volledige dokumentasie op die amptelike webwerf vind https://www.rsyslog.com/
Logs rotasie in Linux
Logopname vind voortdurend plaas, so die grootte van die lêers groei voortdurend. Rotasiemeganisme verseker outomatiese argivering van ou logs en die skep van nuwe lêers. Afhangende van die reëls, kan dit daagliks, weekliks, maandeliks of volgens groottelimiet gebeur. Soos nuwe logs geskep word, kan oues net uitgevee word of per e-pos gestuur word. Logs rotasie word uitgevoer deur bereik nut. U kan die hoofkonfigurasie vind in "/etc/logrotate.conf"-lêer. Lêersinhoud word ook verwerk in "/etc/logrotate.d/”-Map
Nuwe reëls kan by die hoofkonfigurasielêer aangemeld word. Dit is egter die beste om 'n aparte lêer te skep in "/etc/logrotate.d/By verstek is daar 'n paar lêers in hierdie gids
Kom ons kyk na die lêer "/etc/logrotate.d/rsyslog" wat rotasiereëls bevat vir logs van die rsyslog diens.
Eerstens moet die reël die pad na die loglêer bevat en gaan dan alle riglyne tussen geboë hakies.
- draai 7 - aantal lêers om te hou - 7
- daaglikse - skep elke dag 'n nuwe lêer
- compress - komprimeer en argiveer ou lêers
Jy kan op die skermkiekie sien dat in die "/ var / log /" gids daar is die hoof log "syslog” en 7 argiewe, wat ooreenstem met die reëls in die konfigurasielêer.
U kan 'n meer gedetailleerde beskrywing van logrotate in die handleiding vind, deur die "man logroteer” opdrag
Versamel Linux-logboeke - gejoernaal
Hout oes diens sistem-joernaal is deel van die inisialiseringstelsel systemd. Linux-loglêers word gestoor in "/var/log/joernaal/” in 'n spesiale formaat en kan oopgemaak word met behulp van joernaal nut. Rekordformaat is presies dieselfde as in rsyslog.
Command joernaal met geen eienskappe wys alle rekords, maar dit is nie geskik vir groter logs nie. Kom ons kyk na 'n paar opsies van hierdie program.
journalctl -b- wys alle rekords sedert die laaste beginjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- toon rekord binne 'n sekere tydperkjournalctl -u pptpd- toon rekords van 'n sekere diensjournalctl -k- wys kernboodskappejournalctl -p err- wys boodskappe van 'n sekere prioriteit, hoër prioriteit boodskappe in hierdie geval (crit, waarskuwing, emerg)journalctl -f- wys boodskappe intyds
Vir beter buigsaamheid kan jy hierdie opsies kombineer. Kom ons wys alle foute van die pptpd diens
journalctl -u pptpd -p err
As jy die pad na die uitvoerbare lêer as 'n kenmerk spesifiseer, sal die hulpprogram alle boodskappe wat deur hierdie lêer gestuur word, wys. Kom ons wys alle boodskappe wat deur die lêer gestuur word "/usr/bin/sudo” sedert 04:15 op 18 Februarie 2020. Trouens, dit sal alle opdragte wys wat uitgevoer is met hoër toestemmings.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Om uit te vind hoeveel skyfspasie loglêers opneem om die volgende opdrag uit te voer
journalctl --disk-usage
Voer die volgende opdrag uit om die loglêer tot 1 Gb te beperk
journalctl --vacuum-size=1G
Maak binêre lêers oop
Kom ons kyk nou na 'n paar spesiale lêers in die "/ var / log /” gids waar alle aanmeldpogings gestoor word Hierdie lêers is binêr en kan slegs met spesiale programme oopgemaak word.
/var/log/wtmp bevat inligting oor suksesvolle aanmeldpogings. Gebruik die laaste hulpprogram om dit oop te maak.
/var/log/btmp - bevat alle mislukte aanmeldpogings. Dit kan oopgemaak word met lastb met gevorderde toestemmings. Eienskap -n definieer die aantal reëls wat vanaf die einde van die lêer vertoon word.
/var/log/lastlog - bevat die tyd van die laaste aanmeldaksie vir elke rekeningrekord. Dit kan oopgemaak word met laaste log