jurnalele sistemului de operare oferă o multitudine de informații de diagnostic despre computer, și Linux nu este o excepție. Totul, de la evenimentele kernel-ului la acțiunile utilizatorilor sunt înregistrate de Linux, permițându-vă să vedeți aproape orice acțiune efectuată pe serverele dvs. În această secțiune, vă vom explica care sunt jurnalele Linux, unde le puteți găsi și cum să le interpretați.Linux are un director special pentru stocarea jurnalelor numit /var/log
., Acest director conține jurnale de la sistemul de operare în sine, servicii și diverse aplicații care rulează pe sistem. Iată cum arată acest director pe un sistem tipic Ubuntu.
Unele dintre cele mai importante Linux jurnalele de sistem includ:
-
/var/log/syslog
și/var/log/messages
stoca toate sistem global de activitate date, inclusiv mesaje de pornire. Sistemele bazate pe Debian ca Ubuntu stocheaza acest lucru in/var/log/syslog
, in timp ce sistemele bazate pe Red Hat ca RHEL sau CentOS folosesc/var/log/messages
., -
/var/log/auth.log
și/var/log/secure
stoca toate evenimente legate de securitate, cum ar fi login-uri, root acțiuni, și de ieșire de la pluggable authentication modules (PAM). Ubuntu și Debian folosesc/var/log/auth.log
, în timp ce Red Hat și CentOS folosi/var/log/secure
. -
/var/log/kern.log
stochează evenimentele nucleului, erorile și jurnalele de avertizare, care sunt deosebit de utile pentru depanarea nucleelor personalizate. -
/var/log/cron
stochează informații despre sarcinile programate (joburi cron)., Utilizați aceste date pentru a verifica dacă lucrările cron rulează cu succes.unele aplicații scriu și fișiere jurnal în acest director. De exemplu, serverul web Apache scrie jurnale în directorul/var/log/apache2
(pe Debian), în timp ce MySQL scrie jurnale în directorul/var/log/mysql
. Unele aplicații se conectează și prin syslog, pe care le vom explica în secțiunea următoare.
syslogce este Syslog?
Syslog este un standard pentru crearea și transmiterea jurnalelor. Cuvântul „syslog” se poate referi la oricare dintre următoarele.,
- serviciul syslog, care primește și procesează mesajele syslog. Ascultă evenimente prin crearea unui soclu situat la
/dev/log
, la care aplicațiile pot scrie. Poate scrie mesaje într-un fișier local sau transmite mesaje către un server de la distanță. Există diferite implementări syslog inclusiv rsyslogd și syslog-ng. - protocolul syslog (RFC 5424), care este un protocol de transport care specifică modul de transmitere a jurnalelor printr-o rețea. Este, de asemenea, un format de date care definește modul în care sunt structurate mesajele., În mod implicit, utilizează portul 514 pentru mesaje text și portul 6514 pentru mesaje criptate.
- un mesaj syslog, care este orice jurnal formatat în formatul mesajului syslog. Un mesaj syslog constă dintr-un antet standardizat și un mesaj care conține conținutul jurnalului.deoarece syslog poate redirecționa mesaje către servere la distanță, este adesea folosit pentru a redirecționa jurnalele de sistem către soluții de gestionare a jurnalelor, cum ar fi SolarWinds® Loggly® și SolarWinds Papertrail™.
Format Syslog și câmpuri
mesajele Syslog conțin un antet standardizat cu mai multe câmpuri., Acestea includ marca de timp, numele aplicației care a generat evenimentul, locația din sistemul în care a provenit mesajul și prioritatea acestuia. Puteți schimba acest format în fișierul de configurare al implementării syslog, dar utilizarea formatului standard facilitează analizarea, analizarea și ruta evenimentelor syslog.
aici este un exemplu de mesaj jurnal folosind formatul implicit. Este de la demonul sshd, care controlează conectările de la distanță la sistem., Acest mesaj a descrie o încercare eșuată de autentificare:
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
Acest lucru generează următoarele jurnal:
mai Jos, veți găsi descrieri ale unora dintre cele mai frecvent utilizate syslog domenii atunci când căutați sau probleme de depanare.
Timestamp
câmpul timestamp indică ora și data la care mesajul a fost generat pe sistemul care trimite mesajul. Marcajul de timp de exemplu se descompune astfel:
- „2019-06-05” este anul, luna și ziua.
- „t” este un element necesar al câmpului timestamp, care separă data și ora.,
- „22: 14: 15.003” este formatul de 24 de ore al timpului, inclusiv numărul de milisecunde (003).
- „Z” indică ora UTC. În loc de z, exemplul ar fi putut include o compensare, cum ar fi -08:00, ceea ce indică faptul că timpul este compensat de UTC cu opt ore.
Hostname
câmpul hostname („server1” în exemplul de mai sus) indică numele gazdei sau sistemului care a trimis inițial mesajul.câmpul app-name („SSHD: auth” din exemplu) indică numele aplicației care a trimis mesajul.,
Prioritate
câmpul prioritate sau pri scurt („<34>” în exemplul de mai sus) spune cât de urgentă sau severe evenimentul este. Este o combinație de două câmpuri numerice: facilitatea și severitatea. Facilitatea specifică tipul de proces care a creat evenimentul, variind de la 0 pentru mesajele kernel la 23 pentru aplicațiile locale. Severitatea variază de la 0-7, 0 indicând o urgență și 7 indicând un eveniment de depanare.
Pri poate fi emis în două moduri., Primul este ca un singur număr, prival, care este calculat ca valoarea câmpului facilității înmulțită cu opt, apoi rezultatul este adăugat la valoarea câmpului de severitate: (facilitate)(8) + (severitate). Al doilea este pri-text, care va fi afișat în formatul șirului „facilitatea.severitate”. Ultimul format poate fi adesea mai ușor de citit și de căutat, dar ocupă mai mult spațiu de stocare.
logare cu Systemd
multe distribuții Linux livrate cu systemd, care este un proces și manager de servicii. Systemd implementează propriul serviciu de logare numit journald care poate înlocui sau completa syslog., Jurnalele Journald într-un mod semnificativ diferit de systemd, motiv pentru care are propria secțiune în ghidul final pentru logare. Puteți afla mai multe despre logare prin systemd în secțiunea logare Systemd.
- serviciul syslog, care primește și procesează mesajele syslog. Ascultă evenimente prin crearea unui soclu situat la