La configuración del servicio syslogd se realiza por medio del fichero /etc/syslog.conf que especifica como tratar la información de logs
- Controla los mensajes que se muestran y donde se muestran
Cada entrada consiste en los campos facilidad, nivel y acción separados por tabuladores, como en los siguientes ejemplos:
facilidad.nivel | acción |
facilidad1,facilidad2.nivel | acción |
facilidad1.nivel1;facilidad2.nivel2 | acción |
*.nivel | acción |
facilidad.=nivel | acción |
facilidad.!nivel | acción |
... |
- facilidad indica el programa que genera los logs, nivel el nivel de logs y acción lo que se hace con ellos, por ejemplo mail.info /var/log/mail.infoindica que los mensajes de prioridad info o superior del sistema de mail se guarden en el fichero /var/log/mail.info
- El símbolo # indica comentario
- Se permiten el uso de comodines, como *, = y !
- Ejemplo, guarda todos los mensajes del nivel debug en el fichero /var/log/debug:*.=debug -/var/log/debug
- el guión delante del nombre del fichero indica que no se sincronice el fichero después de cada escritura (aumenta la velocidad)
- Para más información, ver las páginas de manual de syslogd y syslog.conf
Facilidad
Se usan los siguientes:
Niveles
Los niveles de prioridad son los siguientes (en orden ascendente)
Acciones
Pueden indicarse diversas acciones
- Para que los acepte debe iniciarse con la opción -r (cambiarlo en /etc/init.d/sysklogd)
- La opción -h permite que syslogd reenvíe mensajes recibidos de una máquina para otra
- Ver el manual de syslogd para más detalles
Ejemplos de configuración
- Envía todos los mensajes críticos y superiores (crit, alert y emerg) a todos los usuarios conectados *.crit *
- Envía los mensajes info y notice, menos los de autorización, al fichero messages
- Envía los mensajes de info y superiores de demonios y autorización a un sistema remoto daemon,auth.info @otrohost
se ha de aclarar que un @ envía los paquetes 587 udp y @@ indica tcp
[Comando logger]
Permite enviar mensajes al sistema de log del sistema (p.e. para usar desde scripts2)
- Sintaxis:logger opciones -p prioridad mensaje
- prioridad se especifica de la forma facilidad.nivel (por defecto, usa user.notice)
- Para las opciones, ver la página de manual
Ejemplos:
- Envía un mensaje con nivel err al sistema de mail logger -p mail.err "Prueba de mail.err"
- Registra el mensaje del fichero /etc/motd en auth.notice, poniéndole una etiqueta TESTlogger -p auth.notice -t TEST -f /etc/motd
Archivo de de ejemplo configuración a ser pegado en el archivo de configuración de rsyslog
###############
#### RULES ####
###############
#
# First some standard log files. Log by facility.
#
auth,authpriv.crit @@syslog.dominio.com
user.err @@syslog.dominio.com
*.notice;cron,auth,authpriv,user.none @@syslog.dominio.com
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
|
como se aprecia en el anterior ejemplo, podemos configurar niveles respecto a que queremos que se envíe a nuestro servidor de syslog. por ejemplo acá se quiere que envíe información noticias en adelante para todos los eventos "*" pero no para cron auth authpriv y user, pero configuramos user para que mande datos del nivel err y superiores y auth y authpriv cuando algun log sea critico en adelante.
Sepan disculpar si es un poco enreversado, pero una vez comprendan la lógic se que se les hará sencillo.