Crear un registro (log) propio para una aplicación


Los ficheros de registro del sistema, también conocidos como logs, son fundamentales para el mantenimiento de un equipo puesto que nos informan del funcionamiento del mismo. Muy diversas aplicaciones generan registros, que normalmente se manejan a través del demonio syslogd. El registro general del sistema es /var/log/syslog y es recomendable revisarlo de forma continua (a través del correo con logcheck por ejemplo).

Normalmente las aplicaciones que generan muchos registros como servidores web o de bases de datos, tienen sus propios ficheros de registros (p. ej. /var/log/apache/). Sin embargo, otros (como dhcp3-server) no vienen configurados por defecto así y tras instalarlos, se generan gran cantidad de nuevas entradas en syslog. En este artículo explicaremos brevemente como crear un fichero de registro propio para estas aplicaciones.

Formato del fichero /etc/syslog.conf

Cada línea de este fichero tiene dos campos: selector y action.

Selector

Selector tiene a su vez dos partes: facility y priority, la primera identifica el tipo de entrada del registro y la segunda su importancia. Existen las siguientes “facilities” en syslog:

  • auth
  • authpriv
  • cron
  • daemon
  • ftp
  • kern
  • lpr
  • mail
  • mark
  • news
  • syslog
  • user
  • uucp
  • local0-local7

Todas son bastante descriptivas y las local? están sin asociar, por lo que pueden utilizarse en cada equipo para lo que se desee (un servicio por ejemplo).

La escala de prioridad (de menor importancia a mayor) es:

  1. debug
  2. info
  3. notice
  4. warning (warn)
  5. error (err)
  6. crit
  7. alert
  8. panic (emerg)

Actions

Una vez que una entrada está definida por la “facility” y la prioridad, hay que detallar qué hacer con ella: guardarla en un fichero, enviarla por correo a un usuario, sacarla por pantalla, etc. El caso más sencillo, que es el que nos incumbe en este caso, es guardarla en un fichero y se configura simplemente poniendo el nombre del mismo. Quedaría por ejemplo la línea:

mail.err /var/log/mail.err

Los mensajes que lleguen etiquetados con la “facility” mail y con prioridad err, se mandan al fichero /var/log/mail.err

Creando registros propios para dhcp

Editamos /etc/dhcp3/dhcpd.conf, e incluimos la línea:

log-facility local7;

Modificamos /etc/syslog.conf, incluyendo una línea como:

local7.* /var/log/dhcp.log

para dirigir toda la salida de dhcp3-server a un fichero de registros propio.

Reiniciamos syslogd y dhcp3-server, y realizamos una prueba con logger:

logger -p local7.info "Mensaje de prueba de local7"

que debe generar un nuevo fichero /var/log/dhcp.log y almacenar allí las entradas de dhcp3-server.

En el caso de Debian Etch, esto no nos quita los registros de /var/log/syslog, ya que viene configurado por una línea del tipo:

*.*;auth,authpriv.none -/var/log/syslog

Que manda todo a syslog, salvo las “facilities” auth y authpriv, para que tampoco registre local7, deberemos cambiar la línea anterior por:

*.*;auth,authpriv,local7.none -/var/log/syslog

Con el que comprobamos que se ha creado el fichero /var/log/dhcpx.log, contiene la línea de registro y esta no aparece ya en syslog.

Creando registros propios para approx

Approx es un caché local de paquetes debian, que genera gran cantidad de entradas en syslog. Los pasos a seguir son muy similares al anterior, aunque en este caso utilizaremos la “facility” local6 (nota: es necesario approx >=2.9.0). Editamos el fichero /etc/approx/approx.conf y añadimos la línea:

syslog local6

(por defecto lo envía a la “facility” daemon).

Modificamos /etc/syslog.conf, incluyendo una línea como:

local6.* /var/log/approx.log

para dirigir toda la salida de approx a un fichero de registros propio.

Para que los registros no aparezcan en syslog, repetimos lo hecho para dhcp3-server.

Referencias

Algunas ideas las cogí de:
Lo hice y lo entendí

About these ads

, , , ,

  1. Deja un comentario

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 309 seguidores

A %d blogueros les gusta esto: