Linux naplózás alapjai

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/lognapló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/apache2kö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.,

  1. 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.
  2. 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.
  3. 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.

Share

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük