Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Gestionarea jurnalelor sistemului cu syslog

Orice distributie Linux include in aplicatiile instalate default serverul syslog folosit pentru gestionarea jurnalelor sistemului si a serviciilor care ruleaza pe acesta. Syslog e cel mai raspandit sistem de pastrare a jurnalelor sistemului datorita flexibilitatii oferite si consumului redus de resurse.

Daemonul ofera aplicatiilor si sistemului de operare posibilitatea de a trimite mesaje de eroare care urmeaza sa fie salvate in unul din fisierele jurnal (log file) care, de obicei, sunt gasite in directorul /var/log. Pentru ca daemonul syslog sa stie unde trebuie salvate informatiile putem edita fisierul de configurare, /etc/syslog.conf, din care putem decide ce si unde va fi salvat in functie de clasa si prioritatea mesajelor.

Orice mesaj trimis daemonului syslogd trebuie sa includa un selector format din clasa a mesajului si prioritatea acestuia. Clasa mesajului poate fi specificata folosind, in functie de situatie, unul din cuvintele cheie: auth, authpriv, cron, daemon, kern, lpr, mail, news, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6, local7. Clasa ii spune daemonului ce fel de serviciu e cel care a generat mesajul pentru ca din fisierul de configurare sa se poata sorta mesajele salvate in functie de tipul serviciului. Pe langa clasa exista si prioritatea mesajului care ne spune gravitatea situatiei aparute. Prioritatea mesajului poate fi specificata folosind, in functie de gravitate, unul din cuvintele cheie: debug, info, notice, warning, err, crit, alert, emerg, panic. Selectorii pot fi specificati folosind notarea simpla, clasa.prioritate, sau oferind doar clasa sau doar prioritatea, elementul lipsa fiind inlocuit de un asterisc ( * ) care va inlocui toate clasele sau toate prioritatile in functie de locul in care e pozitionat.

In fisierul de configurare, pe langa selector, trebuie specificata si o actiune pentru mesajele de un anumit tip. Actiunea determina modul in care mesajele vor fi salvate. Actiunea cea mai folosita e specificarea unui fisier in care urmeaza sa fie salvate mesajele. Pe langa salvarea fisierelor se poate specifica un server remote catre care vor fi trimise mesajele, un terminal la care vor fi trimise sau un nume de utilizator caruia i se va afisa mesajul daca acesta e conectat la un terminal.

Ca exemplu practic am putea considera urmatorul continut al fisierului /etc/syslog.conf:

security.*                                      /var/log/security
auth.info;authpriv.info                         /var/log/auth.log
*.=debug                                        /var/log/debug.log
*.emerg                                         *
*.*                                            @server

Citind fisierul si bazandu-ne pe informatia de mai sus putem deduce cu usurinta ca toate mesajele care au clasa security, indiferent de prioritatea lor, vor fi salvate in fisierul /var/log/security. Mesajele de prioritate info din clasele auth si authpriv vor fi salvate in /var/log/auth.log. Putem vedea ca in fisierul /var/log/debug.log se vor salva mesajele cu prioritate debug dar, observand semnul de egalitate dinaintea prioritatii, stim ca se salveaza doar mesajele de prioritate debug, nu si mesajele de prioritate mai mare cum e in mod normal. Mesajele cu prioritate emerg, indiferent de clasa lor, vor fi trimise tuturor utilizatorilor conectati dupa cum ne arata semnul asterisc. Pe ultima linie se poate observa ca toate mesajele, indiferent de selector, vor fi trimise sistemului pe nume server pentru a fi procesate de acesta.

Dupa cum se poate observa, daemonul syslog poate functiona ca server pentru alte sisteme care ii vor trimite mesajele pentru a fi salvate. Pentru ca syslog sa functioneze ca server va trebui sa il pornim cu parametrii „-r -x” care vor determina damonul syslog sa accepte mesajele provenite de la alte masini (-r) iar in timpul primirii mesajelor sa nu incerce sa transforme adresa IP in hostname (-x).

Informatiile prezentate ar trebui sa fie suficiente pentru un server simplu, dar daca aveti nevoie de mai multe informatii legate de modul in care functioneaza daemonul syslogd puteti citi pagina de manual syslogd(8), pagina de manual a fisierului de configurare syslog.conf(5) si, pentru detalii legate de implementarea in cadrul aplicatiilor functionalitatii de trimitere a mesajelor catre syslog pagina de manual syslog(3).

Linux

Comments are closed.