| Apunts Generals | ETPC | GNU/Linux | Arxius de log en xarxa. Dimoni syslogd com servei de xarxa | 23/03/2004 |
Els arxius de log del sistema són arxius en mode texte on s'enregistren tots els succesos del sistema quan es troba en funcionament. Algun processos tenen el seu propi arxiu de log, com per exemple, el servidor Apache, que té el seu propi directori logs, i dins d'aquest directori té arxius com access_log, o error_log on queden enregistrats les connexions realitzades al servidor, les pàgines web servides, i els errors que s'han produït al llarg del seu funcionament. La resta de processos que no tenen els seus propis arxius de log, treballen conjuntament amb el dimoni syslogd per anar afegint entrades en els fitxers de log del sistema, que habitualment es troben a /var/log: L'arxiu més important dins d'aquests arxius de log és /var/log/messages (que és el arxiu on queden enregistrats la majoria de successos del sistema) , però també hi ha altres arxius de log dins d'aquest directori, com per exemple boot.msg força interessants.
Els events que el dimoni syslogd ha d'enregistrar depen de la seva configuració. L'arxiu de configuració del dimoni syslogd és /etc/syslog.conf. Si algú té un interés especial en dominar la configuració del dimoni syslogd que faci una ullada al manual syslog.conf executant man syslog.conf.
El script que controla (atura, posa en marxa, reinicia,....) el dimoni syslogd és /etc/init.d/syslog. Aquest programa utilitza com informació extra per saber com s'ha d'executar el dimoni syslogd el valor de la variable de sistema SYSLOGD_PARAMS, que es pot modificar anant al fitxer /etc/sysconfig/syslog.
Normalment el dimoni syslogd només enregistra els events o successos locals, o sigui, els del propi host on s'executa. Però amb el paràmetre adequat d'inici, pot acceptar via xarxa (utilitzant la família de protocols TCP/IP) les entrades de log d'un altre ordinador. En aquest cas, un dels dimonis syslogd es converteix en un programa servidor que escolta pel port 514/udp que accepta el missatges enviats pel dimoni syslogd del client i els escriu en els seu propis arxius de log locals.
Aquest document, explica com s'ha de configurar un host de manera que el seu dimoni syslogd accepti els missatges enviats per altres dimonis syslogd d'latres ordinadors de la seva xarxa i es converteixi en una mena de servidor d'arxius de log.
Si volem que enviï tots els events que s'esdevinguin en el host a l'ordinador servidor, amb independència de quin procés els provoqui i quina sigui la seva importància, únicament ens caldrà obrir el fitxer /etc/syslog.conf amb un editor de texte pla (com per exemple joe) i afegir al final del fitxer la línia:
*.* @nom_host_servidor
Evidentment, caldrà tenir un servidor DNS local o tenir correctament configurat el fitxer /etc/hosts si volem treballar amb noms d'ordinador El nom s'ha de posar sense indicar el domini. Es pot treballar amb adreces IP en cas de no poder treballar amb noms de hosts.
Un cop modificat el fitxer /etc/syslog.conf, reiniciarem el dimoni syslogd del client, executant l'ordre:
/etc/init.d/syslog restart
Ja tenim el client correctament configurat. Ara s'haurà de configurar el servidor.
Si volem que el dimoni syslogd d'un ordinador actuiï com a servidor en xarxa, hem d'iniciar-lo en el paràmetre -r. La manera d'assegurar-nos que sempre arrancarà amb aquest paràmetre (i amb altres paràmetres extra si ens interessa) és modificant el valor de SYSLOGD_PARAMS dins del fitxer /etc/sysconfig/syslog. De manera que, hem d'obrir aquest fitxer, i escriure:
SYSLOGD_PARAMS="-r"
i desar el fitxer. Un cop fet això, només ens cal reiniciar el dimoni syslogd del servidor,executant:
/etc/init.d/syslog restart
Si volem comprova que el dimoni syslogd està escoltant, només ens caldrà executar l'ordre:
netstat -aup
i per veure el port pel qual escolta:
netstat -aupn
A partir d'aquest moment, si obrim el fitxer /var/log/messages del servidor, veurem que a més dels events locals que s'esdevinguin en el servidor, també quedaran enregistrats els events dels clients.