Estimados, gracias a la ayuda que me han dado he avanzado mucho con la
configuraci�n de rsyslog. Ya logro hacer que detecte los mensajes
provenientes de distintos hosts y que los guarde en directorios
separados por fecha y por host y que adem�s el registro (es decir el
texto que se escribe dentro del archivo de log) sea personalizado.
Perfecto hasta ah�.
Ahora lo que me falta es lograr separar los logs, adem�s de por host,
por facilities y prioridades, tal como se hace con los logs locales.
Pues bien, ya entiendo como configurar los logs locales por facilities y
prioridades, pero no me doy cuenta de como tiene que ser la estructura
de configuraci�n de rsyslog.conf para que adem�s de separar por nombre
de host me separe dentro de cada directorio correspondiente a cada host
seg�n las facilities y prioridades.
Pongo a continuaci�n un extracto de como es actualmente mi rsyslog.conf
para que lo vean y si de paso les sirve puedan tomar algo. Trat� de
escribirlo todo usando la nueva sintaxis, pero a lo mejor algo qued� en
el formato viejo (puesto que como ya hablamos ac� en otro hilo la
documentaci�n de que es viejo y que es nuevo en rsyslog es medio
desastrosa). Lo que hace b�sicamente es separa los logs por nombre de
host (salvo para una IP en particular, en cual caso detecto el mensaje
por IP de origen y luego lo guardo en un directorio predefinido) y
escribe un mensaje de log personalizado.
Como ver�n todos los mensajes de un determinado host se guardan dentro
de un solo archivo, "syslog.log". Mi intenci�n como les dec�a es separar
dentro de la
carpeta correspondiente lo que es auth de mail, dhcp, cron, etc., etc.,
tal como sucede con los logs locales.
Ac� va el estracto del archivo (puede tener alg�n error porque lo
modifiqu� ac� en el correo, pero la configuraci�n que tengo es funcional):
/**********************************************************************************************************************************************************************************/
#################
#### M�DULOS ####
#################
# Carga de m�dulos por defecto
Module(load = "imuxsock") # provides support for local system logging
Module(load = "imklog") # provides kernel logging support
# Se carga el m�dulo para recepci�n de logs por UDP y se "ata" al mismo
a la regla "remote", la cual har� que todos los logs remotos se escriban
dentro
# del directorio /var/log/rsyslog
Module(load = "imudp")
Input(type = "imudp" port = "XXX" ruleset = "remote")
###################
#### TEMPLATES ####
###################
# Templates para los directorios
template(name="HOSTS" type="string"
string="/var/log/rsyslog/%$year%/%$month%/%$day%/%hostname%/syslog.log")
template(name="CUSTOM" type="string"
string="/var/log/rsyslog/%$year%/%$month%/%$day%/CUSTOM/syslog.log")
# Templates para personalizar los registros (Fecha, hora, hostname, tag
y mensaje de log propiamente dicho)
template(name="CustomFormat_Hosts" type="string"
String="%$year%-%$month%-%$day% %$hour%:%$minute% %hostname% %syslogtag%
%msg%\n")
template(name="CustomFormat_CUSTOM" type="string"
string="%$year%-%$month%-%$day% %$hour%:%$minute% CUSTOM %syslogtag%
%msg%\n")
#############################
#### DIRECTIVAS GLOBALES ####
#############################
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# Set the default permissions for all log files.
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
# Where to place spool and state files
$WorkDirectory /var/spool/rsyslog
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
##################################
#### Reglas para logs remotos ####
##################################
# Se define la regla "remote", la cual se utilizar� para los logs
remotos. Salvo que se trate de una IP en particular
# se separa todo por nombre de host
ruleset(name="remote"){
if $fromhost-ip == 'aaa.bbb.ccc.ddd' then{
?CUSTOM;CustomFormat_CUSTOM
stop
}
else{
?HOSTS;CustomFormat_Hosts
stop
}
}
##################################
#### Reglas para logs locales ####
##################################
# First some standard log files. Log by facility.
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
# Logging for the mail system. Split it up so that it is easy to write
scripts to parse these files.
mail.info -/var/log/
mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err
# Logging for INN news system.
news.crit /var/log/news/news.crit
news.err /var/log/news/news.err
news.notice -/var/log/news/news.notice
# Some "catch-all" log files.
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
# Emergencies are sent to everybody logged in.
*.emerg :omusrmsg:*
# NOTE: adjust the list below, or you'll go crazy if you have a
reasonably busy site..
daemon.*;mail.*;\
news.err;\
*.=debug;*.=info;\
*.=notice;*.=warn |/dev/xconsole
/**********************************************************************************************************************************************************************************/
Espero se entienda lo que quiero lograr. Les agradecer�a mucho su ayuda.
Saludos! Mauro
--
To UNSUBSCRIBE, email to
debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listm...@lists.debian.org
Archive:
https://lists.debian.org/537B470E...@gmail.com