7.6.1.- Cómo funciona syslogd

La mayoría suelen utilizar las facilidades de log incorporadas en el sistema Syslog, mediante el demonio Syslogd. Su configuración reside en /etc/syslog.conf. Esta configuración suele establecerse por niveles de mensajes: existen diferentes tipos de mensajes según su importancia. Normalmente suelen aparecer niveles debug, info, err, notice, warning, crit, alert, emerg, en que más o menos ésta sería la ordenación de importancia de los mensajes (de menor a mayor). Normalmente, la mayoría de los mensajes se dirigen al log /var/log/messages, pero puede definirse que cada tipo vaya a ficheros diferentes y también se puede identificar quién los ha originado; típicamente el kernel, correo, news, el sistema de autentificación, etc.

El demonio syslogd gestiona los mensajes de los servidores y otros programas en modo usuario. Podemos compararlo con un demonio llamado klogd, que se puede instalar desde el mismo paquete sysklogd como syslogd. El demonio klogd gestiona el registro de los mensajes del kernel.

tux_maestro_derExisten otras opciones para el registro del sistema. Por ejemplo, syslog-ng es un sustituto que posee opciones de filtrado avanzado y otra opción sería metalog. Las versiones recientes de Fedora utilizan rsyslogd. Aquí veremos el tradicional syslogd. Hay otros similares en principio, incluso en algunas características específicas, pero difieren en los detalles.

La idea básica es proveer una herramienta de registro del sistema unificando la gestión de los ficheros de registro. El demonio se ejecuta en segundo plano y acepta los datos distribuidos desde los servidores y otros programas que están configurados para utilizar el demonio del registro.

El demonio se encarga de utilizar la información proporcionada por el servidor para clasificar el mensaje y dirigirlo al fichero de registro apropiado. Esta configuración permite agrupar los mensajes de varios servidores en un puñado de ficheros de registro estándar, lo que puede ser mucho más fácil de utilizar y controlar las decenas de ficheros de registro de los distintos servidores del sistema.

Obviamente, el demonio del registro debe estar configurado para que funcione. En el caso de syslogd, esto se hace mediante el fichero /etc/syslog.conf (el fichero de configuración rsyslogd es /etc/rsyslog.conf, que es similar a syslogd.conf).

Otro punto importante es controlar su crecimiento, ya que según los que estén activos y las operaciones (y servicios) que se realicen en el sistema, los logs pueden crecer bastante. En Debian y Red Hat se controla a través de logrotated, un demonio que se encarga periódicamente de hacer copias y comprimirlas de los logs más antiguos, se puede encontrar su configuración general en /etc/logrotate.conf, algunas aplicaciones hacen configuraciones específicas que se pueden encontrar en el directorio /etc/logrotate.d.