Pan fyddwch chi'n wynebu unrhyw broblemau gyda pherfformiad eich gweinydd, y peth cyntaf rydych chi am ei wneud yw gwirio eich logiau Linux . Yn y log system, gallwch ddod o hyd i rai negeseuon diagnostig defnyddiol o wahanol gydrannau'r system weithredu fel y cnewyllyn neu wahanol wasanaethau, felly mae'n fwyaf tebygol y byddwch chi'n dod o hyd i achos y methiant yno.
Cynhyrchir pob neges yn y log o ganlyniad i ddigwyddiadau penodol yn y system weithredu: gan y defnyddiwr, awdurdodiad i gau'r gwasanaeth neu fethiant y rhaglen. Mae gan y digwyddiadau hyn flaenoriaethau gwahanol yn dibynnu ar ba mor hanfodol ydyn nhw. Mae'r mathau canlynol o ddigwyddiadau yn Linux:
emerg- methiant, blaenoriaeth uchaf;alert- rhybudd brys;crit- digwyddiad tyngedfennol;err- gwall cyffredin;warn- rhybudd cyffredin;notice- hysbysu;info- neges gwybodaeth;debug- gwybodaeth dadfygio;
Ar hyn o bryd, y prif wasanaethau casglu logiau yn Linux yw rsyslog a systemd-journald . Maent yn mynd gyda'r rhan fwyaf o'r pecynnau dosbarthu modern ac yn gweithio'n annibynnol.
rsyslog
Mae logiau'r gwasanaeth hwn wedi'u lleoli yn y ffolder “ /var/log/ ” ar ffurf ffeiliau testun cyffredin. Rhoddir negeseuon log mewn gwahanol ffeiliau yn dibynnu ar y math o ddigwyddiad. Er enghraifft, mae “ /var/log/auth.log ” yn cynnwys gwybodaeth am awdurdodiad defnyddwyr yn y system, ac mae “ /var/log/kern.log ” yn cynnwys negeseuon cnewyllyn. Gall enwau ffeiliau amrywio ar draws pecynnau dosbarthu, felly gadewch i ni edrych ar y ffeil ffurfweddu i gael syniad o ble mae “ /etc/rsyslog.d/50-default.conf ”.
Mae'r rheolau hyn yn dangos pa ffeil sy'n cynnwys pob math o negeseuon log. Mae'r rhan chwith yn dangos y math o neges yn y ffurf ganlynol “ [Ffynhonnell].[Blaenoriaeth] ” ac mae'r rhan dde yn dangos enw'r ffeil log. Wrth ysgrifennu'r math o neges gellir ychwanegu'r cymeriad “ * ”. Mae'n golygu gwerth gwag neu “ dim ” sy'n ei dynnu o'r rhestr. Gadewch i ni edrych yn agosach ar y ddwy reol gyntaf.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Mae'r rheol gyntaf yn golygu y bydd pob neges a dderbynnir o'r mecanwaith awdurdodi yn cael ei chofnodi yn y ffeil “ /var/log/auth.log ”. Bydd pob ymgais awdurdodi (llwyddiannus ac aflwyddiannus) yn cael ei chofrestru yn y ffeil hon. Mae'r ail reol yn nodi y bydd pob neges ac eithrio'r rhai sy'n gysylltiedig ag awdurdodi yn cael ei chofnodi yn y ffeil “ /var/log/syslog ”. Y ddwy ffeil hyn fel arfer yw'r rhai mwyaf poblogaidd. Mae'r rheolau canlynol yn diffinio'r llwybr i storio logiau cnewyllyn “ kern.* ” a logiau gwasanaeth post “ mail.* ”.
Gellir agor ffeiliau log gyda chymorth unrhyw olygydd testun, fel less , cat , tail . Gadewch i ni agor y ffeil “ /var/log/auth.log ”
less /var/log/auth.log
Mae pob llinell o'r ffeil yn neges ar wahân a dderbynnir o'r cais neu'r gwasanaeth. Mae gan bob neges, waeth beth fo'u ffynhonnell, un fformat ac maent yn cynnwys 5 rhan. Gadewch i ni gymryd y neges a amlygwyd yn y screenshot fel enghraifft.
- Stamp amser neges - “Chwef 12 06:18:33”
- Enw'r cyfrifiadur a anfonodd y neges - "vds"
- Enw'r cais neu'r gwasanaeth a anfonodd y neges - “sshd”
- ID Proses - [653]
- Testun y neges - “Derbyniwyd cyfrinair ar gyfer mihail o 188.19.42.165 port 2849 ssh2”
Roedd hyn yn enghraifft o gysylltiad llwyddiannus â SSH.
A dyma sut olwg sydd ar ymgais mewngofnodi aflwyddiannus:
Mae'r ffeil hon hefyd yn cofnodi gorchmynion gyda chaniatâd uwch
Gadewch i ni agor y ffeil /var/log/syslog
Neges wedi'i hamlygu ar y sgrin yw'r neges am gau'r rhyngwyneb rhwydwaith.
I chwilio am wybodaeth drwy ffeiliau testun hir defnyddiwch y cyfleustodau grep . Gallwch ddod o hyd i bob neges a dderbyniwyd o'r gwasanaeth pptpd yn y ffeil “ /var/log/syslog ”.
grep 'pptpd' /var/log/syslog
Yn ystod y diagnosteg gallwch ddefnyddio'r cyfleustodau tail a all arddangos sawl llinell olaf o ffeiliau. Bydd y gorchymyn “ tail -f /var/log/syslog ” yn caniatáu ichi wylio logiau'n cael eu cofnodi mewn amser real.
Mae'r gwasanaeth rsyslog yn hyblyg ac yn bwerus iawn. Gellir ei ddefnyddio ar gyfer casglu logiau mewn systemau lleol yn ogystal ag ar lefel y fenter. Gallwch ddod o hyd i ddogfennaeth lawn ar y wefan swyddogol https://www.rsyslog.com/
Cylchdroi logiau yn Linux
Mae cofnodi logiau yn digwydd yn barhaus, felly mae maint y ffeiliau'n tyfu'n gyson. Mae mecanwaith cylchdroi yn sicrhau archifo hen logiau'n awtomatig a chreu ffeiliau newydd. Yn dibynnu ar y rheolau, gall ddigwydd yn ddyddiol, yn wythnosol, yn fisol neu yn ôl terfyn maint. Wrth i logiau newydd gael eu creu, gellir dileu rhai hen neu eu hanfon drwy e-bost. Mae cylchdroi logiau yn cael ei berfformio gan y cyfleustodau logrotate . Gallwch ddod o hyd i'r prif gyfluniad yn y ffeil “ /etc/logrotate.conf ”. Mae cynnwys ffeiliau hefyd yn cael ei brosesu yn y ffolder “ /etc/logrotate.d/ ”.
Gellir mewngofnodi rheolau newydd i'r prif ffeil ffurfweddu. Fodd bynnag, mae'n well creu ffeil ar wahân yn “ /etc/logrotate.d/ ”. Yn ddiofyn, mae yna ychydig o ffeiliau yn y cyfeiriadur hwn.
Beth am edrych ar y ffeil “ /etc/logrotate.d/rsyslog ” sy’n cynnwys rheolau cylchdroi ar gyfer logiau’r gwasanaeth rsyslog.
Yn gyntaf, dylai'r rheol gynnwys y llwybr i'r ffeil log ac yna mynd yr holl ganllawiau mewn cromfachau crwm.
- cylchdroi 7 - nifer y ffeiliau i'w cadw - 7
- bob dydd - creu ffeil newydd bob dydd
- cywasgu - cywasgu ac archifo hen ffeiliau
Gallwch weld ar y sgrinlun bod y prif log “ syslog ” a 7 archif yn y ffolder “ /var/log/ ” , sy’n cyfateb i’r rheolau yn y ffeil ffurfweddu.
Gallwch ddod o hyd i ddisgrifiad mwy manwl o logrotate yn y llawlyfr, gan weithredu'r gorchymyn " man logrotate ".
Casglu logiau Linux - dyddlyfr
Mae'r gwasanaeth casglu logiau systemd-journald yn rhan o'r system gychwyn systemd . Mae ffeiliau log Linux yn cael eu storio yn “ /var/log/journal/ ” mewn fformat arbennig a gellir eu hagor gyda chymorth y cyfleustodau journalctl . Mae fformat y cofnodion yr un fath yn union ag yn rsyslog.
Mae'r gorchymyn journalctl heb unrhyw briodoleddau yn dangos pob cofnod ond nid yw'n addas ar gyfer logiau mwy. Gadewch i ni edrych ar rai opsiynau'r cyfleustodau hwn.
journalctl -b- dangos yr holl gofnodion ers y dechrau diwethafjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- dangos cofnod o fewn cyfnod amser penodoljournalctl -u pptpd- dangos cofnodion gwasanaeth penodoljournalctl -k- dangos negeseuon cnewyllynjournalctl -p err- dangos negeseuon o flaenoriaeth benodol, negeseuon blaenoriaeth uwch yn yr achos hwn (crit, effro, yn dod i'r amlwg)journalctl -f- dangos negeseuon mewn amser real
Am well hyblygrwydd gallwch gyfuno'r opsiynau hyn. Gadewch i ni ddangos holl wallau'r gwasanaeth pptpd
journalctl -u pptpd -p err
Os byddwch chi'n nodi'r llwybr i'r ffeil weithredadwy fel priodoledd, bydd y cyfleustodau'n dangos yr holl negeseuon a anfonwyd gan y ffeil hon. Gadewch i ni ddangos yr holl negeseuon a anfonwyd gan y ffeil “ /usr/bin/sudo ” ers 04:15 ar Chwefror 18, 2020. Mewn gwirionedd, bydd yn dangos yr holl orchmynion a weithredwyd gyda chaniatâd uwch.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
I ddarganfod faint o ofod disg y mae ffeiliau log yn ei gymryd i weithredu'r gorchymyn canlynol
journalctl --disk-usage
Er mwyn cyfyngu'r ffeil log i 1Gb gweithredwch y gorchymyn canlynol
journalctl --vacuum-size=1G
Agor ffeiliau deuaidd
Nawr, gadewch i ni edrych ar rai ffeiliau arbennig yn y ffolder “ /var/log/ ” lle mae pob ymgais i fewngofnodi yn cael ei storio. Mae'r ffeiliau hyn yn ddeuaidd a dim ond gyda rhaglenni arbennig y gellir eu hagor.
Mae /var/log/wtmp yn cynnwys gwybodaeth am ymdrechion mewngofnodi llwyddiannus. Defnyddiwch y cyfleustodau olaf i'w agor.
/var/log/btmp - yn cynnwys yr holl ymdrechion mewngofnodi aflwyddiannus. Gellir ei agor gyda lastb gyda chaniatâd uwch. Mae'r priodoledd -n yn diffinio nifer y llinellau a ddangosir o ddiwedd y ffeil.
/var/log/lastlog - yn cynnwys amser y weithred mewngofnodi ddiwethaf ar gyfer pob cofnod cyfrif. Gellir ei agor gyda lastlog