– Käyttöjärjestelmän lokit tarjoavat runsaasti diagnostisia tietoja tietokoneen, ja Linux ei ole poikkeus. Kaikki ytimen tapahtumista käyttäjän toimiin on kirjautunut Linux, jonka avulla voit nähdä lähes kaikki toiminnot suoritetaan palvelimilla. Tässä osiossa kerromme, mitä Linux-lokit ovat, mistä heidät löytää, ja miten tulkita niitä.
Linux-järjestelmälokit
Linuxilla on erityinen lokien tallennushakemisto nimeltään /var/log
., Tämä hakemisto sisältää lokit käyttöjärjestelmästä itsestään, palveluista ja erilaisista järjestelmällä käynnissä olevista sovelluksista. Tältä tämä hakemisto näyttää tyypillisessä Ubuntu-järjestelmässä.
Joitakin tärkeimpiä Linux-järjestelmän lokit ovat:
-
/var/log/syslog
ja/var/log/messages
tallentaa kaikki global system toimintaa tietojen, mukaan lukien käynnistys-viestejä. Debian-pohjaiset järjestelmät, kuten Ubuntu tallentaa tämän/var/log/syslog
, kun taas Red Hat-pohjaisissa järjestelmissä, kuten RHEL tai CentOS käyttää/var/log/messages
., -
/var/log/auth.log
ja/var/log/secure
tallentaa kaikki turvallisuuteen liittyvät tapahtumat, kuten kirjautuminen, root käyttäjän toimia, ja ulostulo pluggable authentication modules (PAM). Ubuntu ja Debian käyttää/var/log/auth.log
, kun taas Punainen Hattu ja CentOS käyttää/var/log/secure
. -
/var/log/kern.log
tallentaa kernel tapahtumat, virheet, ja varoitus lokit, jotka ovat erityisen hyödyllisiä vianmääritys mukautettuja ytimiä. -
/var/log/cron
tallentaa tietoja ajastetut tehtävät (cron työpaikkoja)., Käytä näitä tietoja tarkistaa, että cron työt ovat käynnissä onnistuneesti.
jotkut sovellukset myös kirjoittavat lokitiedostoja tähän hakemistoon. Esimerkiksi Apache web-palvelin kirjoittaa lokit /var/log/apache2
hakemisto (Debian), kun taas MySQL kirjoittaa lokit /var/log/mysql
hakemisto. Jotkut sovellukset myös kirjautuvat syslogin kautta, josta kerrotaan seuraavassa osiossa.
syslog
mikä on Syslog?
Syslog on standardi lokien luomiseen ja lähettämiseen. Sana ”syslog” voi viitata johonkin seuraavista.,
- syslog-palvelu, joka vastaanottaa ja käsittelee syslog-viestejä. Se kuuntelee tapahtumia luomalla pistorasian, joka sijaitsee
/dev/log
, johon sovellukset voivat kirjoittaa. Se voi kirjoittaa viestejä paikalliseen tiedostoon tai lähettää viestejä etäpalvelimelle. On olemassa erilaisia syslog toteutuksia, kuten rsyslogd ja syslog-ng. - syslog-protokolla (RFC 5424) on kuljetusprotokolla, jossa määritellään, miten lokit siirretään verkon yli. Se on myös tietomuoto, jossa määritellään, miten viestit jäsentyvät., Oletuksena se käyttää Port 514: ää plaintext-viesteissä ja port 6514: ää Salatuissa viesteissä.
- a syslog message, joka on mikä tahansa loki syslog message formaatissa. Syslog-viesti koostuu standardoidusta otsakkeesta ja viestistä, jotka sisältävät lokin sisällön.
Koska syslog voi lähettää viestejä kauko-palvelimia, se on usein käytetään välittämään järjestelmän lokeja log management-ratkaisuja, kuten SolarWinds® Loggly® ja SolarWinds Papertrail™.
Syslog-muoto ja kentät
Syslog-viestit sisältävät standardoidun otsikon, jossa on useita kenttiä., Näitä ovat muun muassa aikaleima, tapahtuman tuottaneen sovelluksen nimi, sijainti järjestelmässä, josta viesti on lähtöisin, ja sen prioriteetti. Voit muuttaa tätä muotoa syslog implementationin asetustiedostossa, mutta vakiomuodon avulla on helpompi jäsentää, analysoida ja reitittää syslog-tapahtumia.
tässä on oletusmuotoa käyttävä esimerkkilokiviesti. Se on sshd daemonilta, joka ohjaa etälokkeja järjestelmään., Tämä viesti kuvaa epäonnistunut kirjautumisyritys:
Jun 4 22:14:15 server1 sshd : Failed password for root from 10.0.2.2 port 22 ssh2
<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% %msg%n
Tämä tuottaa seuraavat tiedot:
Alla löydät kuvaukset joitakin yleisimmin käytetty syslog-kentät kun haet tai vianmääritys kysymyksiä.
Aikaleima
aikaleima-kentässä ilmoitetaan päivämäärä ja aika, jolloin viesti on luotu järjestelmä lähettää viestin. Esimerkiksi aikaleima hajoaa, kuten tämä:
- ”2019-06-05″on vuosi, kuukausi ja päivä.
- ”T”on timestamp-kentän pakollinen osa, joka erottaa päivämäärän ja ajan.,
- ”22:14:15.003″on 24-tunnin muodossa ajasta, mukaan lukien määrä millisekuntia (003).
- ” Z ” tarkoittaa UTC-aikaa. Sen sijaan, z, esimerkki voisi olla mukana offset, kuten -08:00, joka osoittaa, että aika on poikkeama UTC-kahdeksan tuntia.
isäntänimi
isäntänimen kenttä (”server1” yllä olevassa esimerkissä) ilmaisee viestin alun perin lähettäneen isännän tai järjestelmän nimen.
App-nimi
sovelluksen nimikenttä (”sshd:auth” esimerkissä) ilmaisee viestin lähettäneen sovelluksen nimen.,
Priority
prioriteetti-kenttään tai pri lyhyitä (”<34>” yllä olevassa esimerkissä) kertoo, kuinka kiireellinen tai vakava tapahtuma on. Se on yhdistelmä kahdesta numeerisesta kentästä: laitoksesta ja vakavuudesta. Laitos määrittää tapahtuman luoneen prosessin tyypin, joka vaihtelee ytimen viestien 0: sta paikallisten sovellusten 23: een. Vakavuus vaihtelee välillä 0-7, jolloin 0 osoittaa hätätilanteen ja 7 osoittaa vianetsintätapahtuman.
Pri voidaan tuottaa kahdella tavalla., Ensimmäinen on kuin yhden numeron, prival, joka lasketaan laitoksen kentän arvo kerrottuna kahdeksan, niin tulos on lisätään vakavuus-kenttään arvo: (laitos)(8) + (vakavuus). Toinen on pri-teksti, joka tulostuu merkkijonomuodossa ” laitos.vakavuus”. Jälkimmäinen muoto voi usein olla helpompi lukea ja etsiä, mutta vie enemmän tallennustilaa.
kirjautuminen Systemd
monien Linux-jakeluiden mukana kulkee systemd, joka on prosessinhoitaja ja huoltopäällikkö. Systemd toteuttaa omat hakkuut palvelu nimeltä journald, joka voi korvata tai täydentää syslog., Journald kirjautuu merkittävästi eri tavalla kuin systemd, minkä vuoksi sillä on oma osionsa Ultimate Guide to Logging. Voit oppia lisää kirjautumisesta systemd: n kautta Systemd: n Loki-osiossa.