martes, 4 de agosto de 2015

Guía de configuración Rsyslog

Fichero /etc/syslog.conf




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 facilidadnivel y acción separados por tabuladores, como en los siguientes ejemplos:
facilidad.nivelacción
facilidad1,facilidad2.nivelacción
facilidad1.nivel1;facilidad2.nivel2acción
*.nivelacción
facilidad.=nivelacción
facilidad.!nivelacció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 !
    • * representa todas las aplicaciones o todos los niveles
    • = delante de un nivel indica que sólo se traten los mensajes de ese nivel
    • ! delante de un nivel indica que se traten todos los niveles menos el especificado
  • 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:

FacilidadUso
authSistema de autenticación, incluyendo loginsu y getty
authprivProgramas de autorización privados
croncron y at
daemonDemonios del sistema
ftpDemonio de ftp
kernMensajes generados por el kernel
local0-7Reservado para uso local
lprSistema de impresión
mailSistema de mail
markMensajes internos de syslogd (no usable por aplicaciones)
newsSistema de news en la red
syslogMensajes del demonio de syslog
userAplicaciones de usuario
uucpSistema UUCP
*Todas las facilidades menos mark

Niveles

Los niveles de prioridad son los siguientes (en orden ascendente)
NivelUso
debugMensajes generados en la depuración de un programa
infoMensajes informativos
noticeMensajes no críticos que requieren investigación adicional
warningMensajes de aviso
errOtros errores
critCondiciones críticas como errores hardware
alertCondiciones que se deberían resolver rápidamente
emergCondiciones de pánico muy importantes
Además, none permite anular facilidades:
*.debug;mail.none

Acciones


Pueden indicarse diversas acciones

AcciónUso
n_ficheroRuta absoluta al fichero donde se guardan los mensajes
n_terminalEscribe los mensajes en el terminal
@host o @ipHost remoto donde su syslogd recoge los mensajes
user1, user2Escribe los mensajes a los usuarios si están conectados
*Todos los usuarios conectados reciben los mensajes
Por defecto, syslogd no acepta mensajes de otros hosts
  • 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


  1. Envía todos los mensajes críticos y superiores (critalert y emerg) a todos los usuarios conectados *.crit                *
  2. Envía los mensajes info y  notice, menos los de autorización, al fichero messages
*.=info;*.=notice;auth,authpriv.none        -/var/log/messages
  1. 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

NOTA: Cuando modificamos el fichero de configuración, debemos reiniciar el syslogd

[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.

No hay comentarios:

Publicar un comentario