[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Generación dinámica de archivo de log con rsyslog



El 09/05/14 15:11, Camaleón escribió:
El Fri, 09 May 2014 14:48:38 -0300, Mauro Antivero escribió:

El 09/05/14 11:12, Camaleón escribió:
(...)

Y lo que quiero en realidad es algo de este tipo:

ruleset(name="remote"){
       if $fromhost-ip == '192.168.0.5' then {
           action(type="omfile"
file="/var/log/rsyslog/año/mes/día/syslog.log")
           stop }

Pero no logro hacerlo andar.
(...)

Pues así, sin entrar en muchos detalles, entiendo que cuando defines la
variable "file" tienes que pasarle una ruta que exista porque no creo
que rsyslog tenga permisos para crear directorios "al vuelo".
Mmm... En mi caso no es así (Debian Wheezy con todo por defecto), si
borro la ruta ni bien entra un log rsyslog crea la ruta completa, ya lo
he probado varias veces, puesto que cada vez que hago un cambio en la
configuración borro todo dentro de la carpeta /var/log/rsyslog para
empezar de cero.
(...)

Ahh... vale, ya entiendo.

Como decías que no podías generar el archivo pensaba que simplemente no
te creaba la ruta completa y que te daba algún error por permisos de
escritura pero lo que querías decir es que no te toma las variables que
le pasas, que es diferente.

Te daré un apunte sobre esto y luego lo miraré con más calma, pero el
manual de rsyslog dice que las variables se usan dentro de las plantillas
y seguramente por eso no se traduzcan donde las estás poniendo.

***
http://www.rsyslog.com/doc/property_replacer.html

Accessing Properties

Syslog message properties are used inside templates. They are accessed by
putting them between percent signs. Properties can be modified by the
property replacer. The full syntax is as follows:
***

Por eso, al definir una plantilla como has hecho ya te funciona la
traducción de las variables.
Excelente aclaración, gracias :)

Mi pregunta en concreto es, el operador (o como sea que se llame dentro
de la jerga de rsyslog) "?", corresponde al formato viejo, nuevo o a
ambos? Perdón si por tanta pavada generé tanto lío, pero como ya se
habló la documentación de rsyslog es un lío.
No le daría muchas muchas vueltas a eso del formato ya que si usas algo
que no sea compatible con tu versión no te funcionará y te registrará el
error.

Saludos,

Si, mi única preocupación es que el día de mañana deje de estar soportado el formato viejo (como dice la documentación que va a pasar), por eso quería dejar todo en el formato nuevo. Pero según parece el uso del selector ? sirve tanto para la sintaxis vieja como para la nueva. Se ve que haciendo:

?HOSTS;CustomFormat_Hosts

El uso del módulo omfile está implícito. Estas dos páginas aclaran un poco más el asunto (pero igual la documentación es muy confusa):

http://www.rsyslog.com/doc/v7-stable/configuration/actions.html
http://www.rsyslog.com/doc/v7-stable/configuration/templates.html

Al que le interese busque todo lo relacionado con "dynamic" dentro de ellas.

Saludos y gracias!

Mauro.


Reply to: