Despre Linux

  • Facebook
  • Twitter
  • LinkedIn
  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • Kubernetes
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

Să înțelegem sistemul de loguri din Linux

8 februarie 2017 By Bobses Lasă un comentariu

Serviciile care rulează pe un server Linux își scriu informațiile în fișierele log. Aceste fișiere pot fi scrise în locuri diferite și există mai multe soluții pentru a obține informații relevante din sistemul de loguri din Linux. Nu mai puțin de 3 modalități diferite sunt folosite de serviciile din Linux pentru a-și scrie informațiile în loguri:

  • scrierea directă: unele servicii scriu informația direct în fișierele log; exemple: serverul web Apache sau Samba
  • rsyslogd: are grijă de gestionarea centralizată a fișierelor log; este o dezvoltare a syslogd, serviciu care a fost folosit mult timp
  • journald: introducerea lui systemd a însemnat și apariția serviciului log systemd-journald; acest serviciu este integrat cu systemd și permite administratorilor de sistem citirea detaliată a informațiilor din jurnal în timp ce se monitorizează statusul serviciului cu comanda systemctl status.

Pentru a obține informații despre ceea ce se întâmplă pe mașină în timpul rulării sistemului de operare Linux, administratorii de sistem au nu mai puțin de 3 modalități de abordare:

  • citirea și monitorizarea fișierelor scrise de rsyslogd în directorul /var/log/;
  • comanda journalctl poate fi folosită pentru a obține informații detaliate despre jurnal;
  • o privire scurtă asupra evenimentelor importante care sunt jurnalizate de unitățile systemd prin intermediul journald poate fi obținută prin comanda systemctl status nume_unitate. Această comandă arată statusul serviciilor, ca, de asemenea, și ultimele linii care au fost înregistrate.

Exemplul de mai jos arată statusul serviciului NetworkManager:

$ systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2017-02-08 18:51:10 EET; 1h 31min ago
Docs: man:NetworkManager(8)
Main PID: 333 (NetworkManager)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/NetworkManager.service
├─333 /usr/bin/NetworkManager --no-daemon
└─363 /usr/bin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-enp3s0.pid -lf /var/lib/NetworkManager/dhclient-2f58a7c1-210b-3aef-adbf-17baa9156d0a-enp

Feb 08 18:51:14 bobsesarch NetworkManager[333]: <info> [1486572674.2177] dhcp6 (enp3s0): dhclient started with pid 419
Feb 08 18:51:14 bobsesarch NetworkManager[333]: <info> [1486572674.2197] policy: set 'Wired connection 1' (enp3s0) as default for IPv6 routing and DNS
Feb 08 18:51:14 bobsesarch dhclient[419]: XMT: Info-Request on enp3s0, interval 950ms.
Feb 08 18:51:14 bobsesarch dhclient[419]: RCV: Reply message on enp3s0 from fe80::1.
Feb 08 18:51:14 bobsesarch NetworkManager[333]: <info> [1486572674.4163] dhcp6 (enp3s0): nameserver 'fe80::1'
Feb 08 18:51:14 bobsesarch NetworkManager[333]: <info> [1486572674.4164] dhcp6 (enp3s0): state changed unknown -> bound
Feb 08 18:51:14 bobsesarch NetworkManager[333]: <info> [1486572674.4183] dns-mgr: Writing DNS information to /usr/bin/resolvconf
Feb 08 18:51:14 bobsesarch NetworkManager[333]: <info> [1486572674.4921] dhcp6 (enp3s0): client pid 419 exited with status 0
Feb 08 18:51:14 bobsesarch NetworkManager[333]: <info> [1486572674.4926] dhcp6 (enp3s0): state changed bound -> done
Feb 08 18:51:17 bobsesarch NetworkManager[333]: <info> [1486572677.1038] manager: startup complete

Citirea fișierelor log

Spre deosebire de mesajele care sunt scrise de journald în jurnal și care pot fi citite folosind comanda journalctl, pe un sistem Linux se întâlnesc și fișiere log în directorul /var/log/ Aceste fișiere pot fi citite folosind utilitare cum ar fi pagerul less, orice editor de text din linia de comandă (vi/vim, nano), ori afișate folosind comanda cat.

Nu există un număr exact al fișierelor log din directorul /var/log; ele diferă, în funcție de configurația serverului sau de serviciile care rulează pe server.

Monitorizarea continuă a unui fișier log

Să presupunem că ceva s-a întâmplat pe serverul vostru și vreți să știți de anume. Există posibilitatea de a monitoriza în timp real ceea ce se scrie în log folosind comanda tail -f <nume_fișier_log>.

Exemplu: comanda tail -f pe un server Ubuntu cu Apache:

# tail -f error.log
[Sun Feb 05 00:21:03.639377 2017] [:notice] [pid 1503] mod_bw : Memory Allocated 0 bytes (each conf takes 48 bytes)
[Sun Feb 05 00:21:03.639413 2017] [:notice] [pid 1503] mod_bw : Version 0.92 - Initialized [0 Confs]
[Sun Feb 05 00:21:03.799886 2017] [ssl:warn] [pid 1503] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Sun Feb 05 00:21:03.799998 2017] [mpm_prefork:notice] [pid 1503] AH00163: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f configured -- resuming normal operations
[Sun Feb 05 00:21:03.800014 2017] [core:notice] [pid 1503] AH00094: Command line: '/usr/sbin/apache2'

Această urmărire rămâne deschisă până la apăsarea tastelor CTRL+C.

Anumite servicii își pot plasa logurile în altă parte (de exemplu în directorul de instalare).

Ce căutăm în fișierele log?

Citind un fișier log încercăm să înțelegem ce a mers prost pe sistemul nostru. De exemplu, căutăm mesaje de eroare (ERROR sau SEVERE) și vedem ce scrie în explicație - poate sistemul a crăpat că are nevoie de mai multă memorie sau din altă cauză. Când nu reușim să ne dăm seama ce se întâmplă, căutăm frumos pe google explicația mesajului de eroare - este imposibil să nu se mai fi întâlnit cineva cu aceeași problemă.

Util

Comanda următoare ne va afișa doar prima coloană din fișierul access.log:

cat access.log | cut -d '"' -f1

Studiul sistemului de loguri din Linux nu se termină aici: aceasta a fost doar o privire de ansamblu asupra a cum se poate afla ceea ce se întâmplă cu serverul nostru sau cu sistemul nostru de operare Linux.

Loguri în Arch Linux

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide într-o fereastră nouă)
  • Click to share on Twitter(Se deschide într-o fereastră nouă)

Similare

Din categoria: Linux Etichete: linux, loguri, monitorizare

Lasă un răspunsAnulează răspunsul

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2025 · Bobses

Administrează consimțămintele pentru cookie-uri
Pentru a oferi cea mai bună experiență, folosim tehnologii, cum ar fi cookie-uri, pentru a stoca și/sau accesa informațiile despre dispozitive. Consimțământul pentru aceste tehnologii ne permite să procesăm date, cum ar fi comportamentul de navigare sau ID-uri unice pe acest site. Dacă nu îți dai consimțământul sau îți retragi consimțământul dat poate avea afecte negative asupra unor anumite funcționalități și funcții.
Funcționale Mereu activ
Stocarea tehnică sau accesul sunt strict necesare în scopul legitim de a permite utilizarea unui anumit serviciu cerut în mod explicit de către un abonat sau un utilizator sau în scopul exclusiv de a executa transmiterea unei comunicări printr-o rețea de comunicații electronice.
Preferințe
Stocarea tehnică sau accesul este necesară în scop legitim pentru stocarea preferințelor care nu sunt cerute de abonat sau utilizator.
Statistici
Stocarea tehnică sau accesul care sunt utilizate exclusiv în scopuri statistice. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Stocarea tehnică sau accesul sunt necesare pentru a crea profiluri de utilizator pentru a trimite publicitate sau pentru a urmări utilizatorul pe un site web sau pe mai multe site-uri web în scopuri de marketing similare.
Administrează opțiunile Administrează serviciile Administrează vânzătorii {vendor_count} Citește mai multe despre aceste scopuri
Vizualizează preferințele
{title} {title} {title}