az operációs rendszer naplói rengeteg diagnosztikai információt nyújtanak a számítógépéről, a Linux pedig nem kivétel. A kernel eseményektől a felhasználói műveletekig mindent a Linux naplóz, lehetővé téve, hogy szinte bármilyen műveletet láthasson a kiszolgálókon. Ebben a részben elmagyarázzuk, mi a Linux naplók, hol találja meg őket, és hogyan kell értelmezni őket.
Linux rendszernaplók
a Linux egy speciális könyvtárral rendelkezik a /var/log
naplók tárolására., Ez a könyvtár magában foglalja az operációs rendszer naplóit, szolgáltatásait, valamint a rendszeren futó különböző alkalmazásokat. Itt van, amit ez a könyvtár néz ki, mint egy tipikus Ubuntu rendszer.
a legfontosabb Linux rendszernaplók közé tartozik:
-
/var/log/syslog
és tárolja az összes globális rendszeraktivitási adatot, beleértve az indítási üzeneteket is. Debian-alapú rendszerek, mint az Ubuntu tárolja ezt a/var/log/syslog
, míg Red Hat-alapú rendszerek, mint a RHEL vagy CentOS használata/var/log/messages
., -
/var/log/auth.log
és/var/log/secure
tárolja az összes biztonsággal kapcsolatos eseményt, például bejelentkezéseket, root felhasználói műveleteket, valamint a dugaszolható hitelesítési modulokból (PAM) származó kimenetet. Ubuntu és Debian/var/log/auth.log
, míg Red Hat és CentOS/var/log/secure
. -
/var/log/kern.log
tárolja a rendszermag eseményeit, hibáit és figyelmeztető naplóit, amelyek különösen hasznosak az egyéni kernelek hibaelhárításához. -
/var/log/cron
információkat tárol az ütemezett feladatokról (cron jobs)., Ezekkel az adatokkal ellenőrizheti, hogy a cron-feladatok sikeresen futnak-e.
egyes alkalmazások naplófájlokat is írnak ebben a könyvtárban. Például az Apache webszerver naplókat ír a /var/log/apache2
könyvtárba (Debianon), míg a MySQL naplókat ír a /var/log/mysql
könyvtárba. Egyes alkalmazások a syslog segítségével is bejelentkeznek, amelyet a következő részben ismertetünk.
syslog
mi az a Syslog?a
Syslog a naplók létrehozására és továbbítására szolgáló szabvány. A “syslog” szó a következők bármelyikére utalhat.,
- a syslog szolgáltatás, amely syslog üzeneteket fogad és kezel. Az eseményeket a
/dev/log
aljzat létrehozásával hallgatja, amelyre az alkalmazások írhatnak. Üzeneteket írhat egy helyi fájlba, vagy üzeneteket továbbíthat egy távoli kiszolgálóra. Vannak különböző syslog implementációk, köztük rsyslogd és syslog-ng. - a syslog protokoll (RFC 5424), amely egy szállítási protokoll, amely meghatározza a naplók hálózaton keresztüli továbbításának módját. Ez egy adatformátum is, amely meghatározza az üzenetek felépítését., Alapértelmezés szerint az 514 portot használja egyszerű szöveges üzenetekhez, a 6514 portot pedig titkosított üzenetekhez.
- egy syslog üzenet, amely a syslog üzenetformátumban formázott bármely napló. A syslog üzenet egy szabványosított fejlécből és a napló tartalmát tartalmazó üzenetből áll.
mivel a syslog képes üzeneteket távoli szerverekre továbbítani, gyakran használják a rendszernaplók továbbítására a naplókezelő megoldásokhoz, mint például a SolarWinds® Loggly® és a SolarWinds Papertrail™.
Syslog Format and Fields
syslog messages contain a standarded header with several fields., Ezek közé tartozik az időbélyeg, az eseményt létrehozó alkalmazás neve, a rendszer azon helye, ahonnan az üzenet származik, valamint annak prioritása. Ezt a formátumot megváltoztathatja a syslog implementáció konfigurációs fájljában, de a szabványos formátum használata megkönnyíti a syslog események elemzését, elemzését és útvonalát.
itt van egy példa naplóüzenet az alapértelmezett formátum használatával. Ez az sshd démon, amely vezérli a távoli bejelentkezéseket a rendszerbe., Ez az üzenet egy sikertelen bejelentkezési kísérletet ír le:
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
Ez a következő naplót generálja:
Az alábbiakban megtalálja a leggyakrabban használt syslog mezők leírását a keresési vagy hibaelhárítási problémák során.
időbélyeg
az időbélyeg mező jelzi, hogy az üzenetet küldő rendszeren mikor és mikor jött létre az üzenet. A példa időbélyeg lebontja, mint ez:
- “2019-06-05” az Év, hónap, nap.
- “T” az időbélyeg mező kötelező eleme, amely elválasztja a dátumot és az időt.,
- “22: 14: 15.003″az idő 24 órás formátuma, beleértve az ezredmásodpercek számát (003).
- “Z”UTC időt jelöl. Z helyett a példa tartalmazhatott volna egy eltolást, például -08:00, ami azt jelzi, hogy az időt nyolc órával ellensúlyozzák az UTC-től.
Hostname
a hostname mező (a fenti példában” server1″) jelzi annak a gazdagépnek vagy rendszernek a nevét, amely eredetileg elküldte az üzenetet.
App-Name
az alkalmazásnév mező (“sshd: auth” a példában) jelzi az üzenetet küldő alkalmazás nevét.,
prioritás
a prioritás mező vagy pri rövid (“<34 > ” a fenti példában) megmondja, hogy milyen sürgős vagy súlyos az esemény. Két numerikus mező kombinációja: a létesítmény és a súlyosság. A létesítmény meghatározza az eseményt létrehozó folyamat típusát, a kernel üzenetek esetében 0-tól a helyi alkalmazások esetében 23-ig. A súlyosság 0-7, a 0 vészhelyzetre utal, a 7 pedig hibakeresési eseményre utal.
A Pri kétféle módon adható ki., Az első egy szám, a prival, amelyet a létesítmény mezőértékének nyolcszorosaként számítanak ki, majd az eredményt hozzáadják a súlyossági mező értékéhez: (létesítmény) (8) + (súlyosság). A második a pri-szöveg, amely a “facility” karakterláncformátumban jelenik meg.súlyosság”. Az utóbbi formátum gyakran könnyebben olvasható és kereshető, de több tárhelyet foglal el.
naplózás Systemd
sok Linux disztribúciók hajó systemd, amely egy folyamat-és szolgáltatáskezelő. Systemd megvalósítja saját naplózási nevű szolgáltatás journald, amely helyettesítheti vagy kiegészítheti syslog., Journald naplók lényegesen eltérő módon, mint systemd, ezért van saját része a végső útmutató naplózás. A systemd-n keresztül történő naplózásról többet tudhat meg a Systemd naplózás szakaszban.