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

2014-05-10 Por tema Camaleón
El Fri, 09 May 2014 15:40:14 -0300, Mauro Antivero escribió:

 El 09/05/14 15:11, Camaleón escribió:

(...)

 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.


 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. 

Ya has visto que la sintaxis de la versión 5 no era compatible con la de 
la versión 8 y es una pena que no se hayan preocupado de mantener la 
compatibilidad con los archivos de configuración de versiones anteriores, 
pero lo que sí que podrían hacer al menos es documentar las 
modificaciones en relación 1:1 aunque parece que sí están documentados 
algunos cambios importantes entre versiones:

http://www.rsyslog.com/doc/v8compatibility.html
http://www.rsyslog.com/doc/v7compatibility.html
http://www.rsyslog.com/doc/v6compatibility.html
http://www.rsyslog.com/doc/v5compatibility.html

(...)

 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.

Exacto... en los ejemplos de configuración que aparecen en los enlaces 
que mandas, se lee (y bien como dices relacionado con los nombres 
dinámicos):

***
Dynamic filenames are indicated by specifying a questions mark ”?” 
instead of a slash, followed by the template name. Thus, the selector 
line for our dynamic file name would look as follows:

(...)

Creating directories is also supported. For example you can use the 
hostname as directory and the program name as file name:

$template DynFile,/var/log/%HOSTNAME%/%programname%.log
***

Y también es válido para la versión 8.

Saludos,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/pan.2014.05.10.13.44...@gmail.com



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

2014-05-10 Por tema Camaleón
El Fri, 09 May 2014 15:17:04 -0300, Mauro Antivero escribió:

(...)

 Ja, miren esto (si tienen un tiempito):
 
 http://www.rsyslog.com/doc/v7-stable/configuration/actions.html
 
 Lo que yo estoy haciendo (el uso de ? para generar archivos
 dinámicamente) está dentro de la sección Legacy, pero no aclara como
 hacer lo mismo utilizando la sintaxis nueva.

(...)

Hum... bueno, no está dentro de la sección Legacy Description sino que 
pertenece a Regular File, no creo que se considere una sintaxis 
obsoleta en las nuevas versiones, por lo que entiendo puedes descansar 
tranquilo :-)

Saludos,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/pan.2014.05.10.13.57...@gmail.com



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

2014-05-09 Por tema Camaleón
El Thu, 08 May 2014 14:19:33 -0300, Mauro Antivero escribió:

 Estimados, estoy tratando de hacer que rsyslog me escriba determinados
 logs en distintos directorios según la fecha. El siguiente es un ejemplo
 que funciona, pero no hace lo que quiero (osea, en este caso se guarda
 todo en un mismo archivo en /var/log/rsyslog/rsyslog.log):
 
 ruleset(name=remote){
  if $fromhost-ip == '192.168.0.5' then {
  action(type=omfile file=/var/log/rsyslog/syslog.log)
  stop }
 
 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.

Ahora bien, es posible que tengas alguna otra variable que te permita 
directa o indirectamente hacer lo que buscas (p. ej., a través de un 
pequeño script que se encargue de crear antes la estructura de 
directorios) o también podrías simplemente usar las variables de año-mes-
día en el nombre del archivo.

Saludos,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/pan.2014.05.09.14.12...@gmail.com



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

2014-05-09 Por tema Mauro Antivero

El 09/05/14 02:48, C. L. Martinez escribió:

2014-05-08 17:19 GMT+00:00 Mauro Antivero mauro.antiv...@gmail.com:

Estimados, estoy tratando de hacer que rsyslog me escriba determinados logs
en distintos directorios según la fecha. El siguiente es un ejemplo que
funciona, pero no hace lo que quiero (osea, en este caso se guarda todo en
un mismo archivo en /var/log/rsyslog/rsyslog.log):

ruleset(name=remote){
 if $fromhost-ip == '192.168.0.5' then {
 action(type=omfile file=/var/log/rsyslog/syslog.log)
 stop
 }

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. Intenté con las propiedades, pero no he podido.
Usando el formato de sintaxis viejo si he podido, pero no es aconsejable
usar dicha sintaxis. Lo que si funciona es lo siguiente:

template(name=CustomFormat_Hosts type=string
String=%$year%-%$month%-%$day% %$hour%:%$minute% %hostname% %syslogtag%
%msg%\n)

ruleset(name=remote){
 if $fromhost-ip == '192.168.0.5' then {
 ?CMTS;CustomFormat_Hosts
 stop
 }

En este caso como ven uso las propiedades pero en el string generado con el
template. Luego en la regla configuro que todos los mensajes de log que
vengan del host 192.168.0.5 sean guardados en una estructura como la que yo
deseo.

Bueno, el tema documentación en rsyslog solo tiene un calificativo:
desastroso. Pero, es superable :)). A ver, de entrada está mezclando
sintaxis antigua con sintaxis nueva.

De entrada, ¿que versión rsyslog estás utilizando? Por solo tienes dos opciones:

Perdón, estoy usando la 8.2.1


a) Configurar todo con sintaxis antigua.
b) Configurar todo con sintaxis nueva.

Estoy tratando de ir por la b.


Ahora mismo lo has mezclado todo. Yo nunca he tratado de hacer lo que
estás intentando (básicamente porque sería infumable gestionar en
archivos planos el alto volumen de logs que debo gestionar), pero te
pongo un ejemplo de como utilizar los templates en sintaxis nueva
(versiones 6.x en adelante):


 Templates definitions 

$template idp01_rfc5424fmt,suricata idp01 %fromhost-ip% %msg%\n
Esta ($template) es justamente la sintaxis vieja. La nueva es del tipo 
template(name=...).



if $syslogtag == 'idp01' then {
 action(type=omfwd protocol=tcp target=172.17.22.1
port=10514 template=suricata01_rfc5424fmt
 queue.filename=suricata01fwd
 queue.maxdiskspace=10g
 queue.saveonshutdown=on
 queue.type=linkedlist
 queue.maxfilesize=5m
 action.resumeretrycount=-1)
 stop
}

Como ves, la forma de utilizar el template difiere mucho de como la
has configurado.
Es que ese es un template distinto, vos ahí estás usando el módulo 
omfwd, que no lo conozco pero supongo que hace forward hacia donde vos 
le indiques (172.17.22.1). Yo en todo caso quiero usar el módulo 
omfile y que el archivo sea generado dentro de una estructura de 
directorios que indique el año/mes/día. El tema es que si lo quiero 
hacer con la sintaxis:


action(type=omfile file=/var/log/rsyslog/año/mes/día/syslog.log)

No logro hacer que me tome como nombre de directorios al año, al mes y 
al día, ya que no me reconoce las propierties ($year, $month y $day).


Como decía, lo que me funciona es lo siguiente:

*template(name=HOSTS type=string 
string=/var/log/rsyslog/%$year%/%$month%/%$day%/%hostname%/syslog.log)*
*template(name=CustomFormat_Hosts type=string 
String=%$year%-%$month%-%$day% %$hour%:%$minute% %hostname% %syslogtag% 
%msg%\n)*


*ruleset(name=remote){**
**if $fromhost-ip == '192.168.0.5' then {**
**?CMTS;CustomFormat_Hosts**
**stop**
**}**
*
Que en respuesta a lo que está más abajo fijate que no tengo en cuenta 
las horas y los minutos para la generación de la ruta, sino que la ruta 
es año/mes/día/syslog.log y lo que se guarda dentro de este archivo es:


año-mes-día hora:minuto host tag mensaje /n

Pido disculpas porque en el correo original me olvidé de incluir el 
template HOSTS que es el que define el string para la ruta al archivo, 
y esto puede haber generado confusiones.


En resumen, de esta manera (usando ?CMTS;CustomFormat_Hosts luego del 
then) me funciona, pero no sé si eso no es justamente el formato 
viejo. Me gustaría dejarlo con una sentencia tipo action, pero eso es 
lo que no puedo hacer.



  Prueba a ajustarla. Creo que la definición del propio
template es correcta.
Si, los dos templates (el de la generación dinámica de la ruta y el que 
indica que es lo que se debe escribir dentro del archivo) funcionan 
perfectamente :)



  Por cierto, ¿estás seguro que quieres crear
directorios de hora y minuto?. Yo no lo haría porque dependiendo del
volumen, ya puedes tener un disco muy muy rápido en escritura. Piensa
que rsyslog está pensado para trabajar con 

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

2014-05-09 Por tema Mauro Antivero

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

El Thu, 08 May 2014 14:19:33 -0300, Mauro Antivero escribió:


Estimados, estoy tratando de hacer que rsyslog me escriba determinados
logs en distintos directorios según la fecha. El siguiente es un ejemplo
que funciona, pero no hace lo que quiero (osea, en este caso se guarda
todo en un mismo archivo en /var/log/rsyslog/rsyslog.log):

ruleset(name=remote){
  if $fromhost-ip == '192.168.0.5' then {
  action(type=omfile file=/var/log/rsyslog/syslog.log)
  stop }

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.


Ahora bien, es posible que tengas alguna otra variable que te permita
directa o indirectamente hacer lo que buscas (p. ej., a través de un
pequeño script que se encargue de crear antes la estructura de
directorios) o también podrías simplemente usar las variables de año-mes-
día en el nombre del archivo.

Como te decía en mi caso no es así. A mi me sucede que si hago lo siguiente:

ruleset(name=remote){
 if $fromhost-ip == '192.168.0.5' then {
 action(type=omfile 
file=/var/log/rsyslog/%$year%/%$month%/%$day%/syslog.log)

 stop
 }

Lo que logro es que se me genere la siguiente ruta (tal cual la escribo):

/var/log/rsyslog/%$año%/%$mes%/%$día%/syslog.log

Osea que no me toma las propiedades $month y demás. Cosa que si me las 
tomaba usando el formato viejo. Lo que logré hacer para que funcione (lo 
acabo de poner en el mail anterior pero lo repito por claridad) es lo 
siguiente:


template(name=HOSTS type=string 
string=/var/log/rsyslog/%$year%/%$month%/%$day%/%hostname%/syslog.log)
template(name=CustomFormat_Hosts type=string 
String=%$year%-%$month%-%$day% %$hour%:%$minute% %hostname% %syslogtag% 
%msg%\n)


ruleset(name=remote){
if $fromhost-ip == '192.168.0.5' then {
?CMTS;CustomFormat_Hosts
stop
}

El template HOSTS define la ruta dinámica.
El template CustomFormat_Hosts define el contenido del archivo.

Mmm... Me parece que me estoy enroscando demasiado. Lo que me mareó acá 
es que no puedo usar la sentencia action(type=...), que SE que 
corresponde al nuevo formato. 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.


Saludos y muchas gracias!






Saludos,




--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/536d14f6.6080...@gmail.com



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

2014-05-09 Por tema Camaleón
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.

 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,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/pan.2014.05.09.18.11...@gmail.com



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

2014-05-09 Por tema Mauro Antivero

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

El Thu, 08 May 2014 14:19:33 -0300, Mauro Antivero escribió:


Estimados, estoy tratando de hacer que rsyslog me escriba determinados
logs en distintos directorios según la fecha. El siguiente es un ejemplo
que funciona, pero no hace lo que quiero (osea, en este caso se guarda
todo en un mismo archivo en /var/log/rsyslog/rsyslog.log):

ruleset(name=remote){
  if $fromhost-ip == '192.168.0.5' then {
  action(type=omfile file=/var/log/rsyslog/syslog.log)
  stop }

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.

Ahora bien, es posible que tengas alguna otra variable que te permita
directa o indirectamente hacer lo que buscas (p. ej., a través de un
pequeño script que se encargue de crear antes la estructura de
directorios) o también podrías simplemente usar las variables de año-mes-
día en el nombre del archivo.

Saludos,


Ja, miren esto (si tienen un tiempito):

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

Lo que yo estoy haciendo (el uso de ? para generar archivos 
dinámicamente) está dentro de la sección Legacy, pero no aclara como 
hacer lo mismo utilizando la sintaxis nueva.


En fin, un tiempo más le dedico, sino lo dejo así hasta que aparezca la 
documentación correcta.


Saludos y gracias, Mauro.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/536d1ba0.4040...@gmail.com



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

2014-05-09 Por tema Mauro Antivero

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.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/536d210e.4010...@gmail.com



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

2014-05-08 Por tema Mauro Antivero
Estimados, estoy tratando de hacer que rsyslog me escriba determinados 
logs en distintos directorios según la fecha. El siguiente es un ejemplo 
que funciona, pero no hace lo que quiero (osea, en este caso se guarda 
todo en un mismo archivo en /var/log/rsyslog/rsyslog.log):


ruleset(name=remote){
if $fromhost-ip == '192.168.0.5' then {
action(type=omfile file=/var/log/rsyslog/syslog.log)
stop
}

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. Intenté con las propiedades, pero no he 
podido. Usando el formato de sintaxis viejo si he podido, pero no es 
aconsejable usar dicha sintaxis. Lo que si funciona es lo siguiente:


template(name=CustomFormat_Hosts type=string 
String=%$year%-%$month%-%$day% %$hour%:%$minute% %hostname% %syslogtag% 
%msg%\n)


ruleset(name=remote){
if $fromhost-ip == '192.168.0.5' then {
?CMTS;CustomFormat_Hosts
stop
}

En este caso como ven uso las propiedades pero en el string generado con 
el template. Luego en la regla configuro que todos los mensajes de log 
que vengan del host 192.168.0.5 sean guardados en una estructura como la 
que yo deseo.


Se pueden preguntar lo siguiente: Si ya lograste hacer lo que querías 
por qué estás preguntando como hacerlo??? Bueno, es que sinceramente hoy 
en día no sé si lo que he hecho (?CMTS;CustomFormat_Hosts) es la forma 
correcta de hacerlo. En la documentación de rsyslog se ven muchos 
ejemplos usando la sentencia action, pero no he encontrado ninguno que 
en el campo file use las propiedades para generar dinámicamente los 
directorios o los archivos. Lo de usar ?CMTS;CustomFormat_Hosts lo saqué 
de un ejemplo escrito con la sintaxis vieja y por eso no sé si esa línea 
en particular está formalmente bien (eso si, funciona perfecto).


El tema es que la misma documentación oficial de rsyslog mezcla sintaxis 
nueva con vieja! Incluso su creador da ejemplos usando la sintaxis 
vieja!!! Una cosa de locos, sobre todo pensando que en la misma página 
te dicen que la sintaxis vieja por ahora es compatible, pero que en un 
tiempo va a dejar de serlo y por eso conviene escribir todo según la 
sintaxis vieja.


Me parece que esto no es algo inherentemente malo, sino que se debe a la 
gran velocidad de desarrollo de rsyslog. Supongo que mucha documentación 
no estará actualizada del todo.


En fin, a lo mejor alguno de ustedes me pueda dar una mano.

Saludos y muchas gracias.

Mauro.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/536bbca5.5050...@gmail.com



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

2014-05-08 Por tema C. L. Martinez
2014-05-08 17:19 GMT+00:00 Mauro Antivero mauro.antiv...@gmail.com:
 Estimados, estoy tratando de hacer que rsyslog me escriba determinados logs
 en distintos directorios según la fecha. El siguiente es un ejemplo que
 funciona, pero no hace lo que quiero (osea, en este caso se guarda todo en
 un mismo archivo en /var/log/rsyslog/rsyslog.log):

 ruleset(name=remote){
 if $fromhost-ip == '192.168.0.5' then {
 action(type=omfile file=/var/log/rsyslog/syslog.log)
 stop
 }

 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. Intenté con las propiedades, pero no he podido.
 Usando el formato de sintaxis viejo si he podido, pero no es aconsejable
 usar dicha sintaxis. Lo que si funciona es lo siguiente:

 template(name=CustomFormat_Hosts type=string
 String=%$year%-%$month%-%$day% %$hour%:%$minute% %hostname% %syslogtag%
 %msg%\n)

 ruleset(name=remote){
 if $fromhost-ip == '192.168.0.5' then {
 ?CMTS;CustomFormat_Hosts
 stop
 }

 En este caso como ven uso las propiedades pero en el string generado con el
 template. Luego en la regla configuro que todos los mensajes de log que
 vengan del host 192.168.0.5 sean guardados en una estructura como la que yo
 deseo.

Bueno, el tema documentación en rsyslog solo tiene un calificativo:
desastroso. Pero, es superable :)). A ver, de entrada está mezclando
sintaxis antigua con sintaxis nueva.

De entrada, ¿que versión rsyslog estás utilizando? Por solo tienes dos opciones:

a) Configurar todo con sintaxis antigua.
b) Configurar todo con sintaxis nueva.

Ahora mismo lo has mezclado todo. Yo nunca he tratado de hacer lo que
estás intentando (básicamente porque sería infumable gestionar en
archivos planos el alto volumen de logs que debo gestionar), pero te
pongo un ejemplo de como utilizar los templates en sintaxis nueva
(versiones 6.x en adelante):


 Templates definitions 

$template idp01_rfc5424fmt,suricata idp01 %fromhost-ip% %msg%\n


if $syslogtag == 'idp01' then {
action(type=omfwd protocol=tcp target=172.17.22.1
port=10514 template=suricata01_rfc5424fmt
queue.filename=suricata01fwd
queue.maxdiskspace=10g
queue.saveonshutdown=on
queue.type=linkedlist
queue.maxfilesize=5m
action.resumeretrycount=-1)
stop
}

Como ves, la forma de utilizar el template difiere mucho de como la
has configurado. Prueba a ajustarla. Creo que la definición del propio
template es correcta. Por cierto, ¿estás seguro que quieres crear
directorios de hora y minuto?. Yo no lo haría porque dependiendo del
volumen, ya puedes tener un disco muy muy rápido en escritura. Piensa
que rsyslog está pensado para trabajar con +100K EPS ... O sea que
puede llevar a tu disco de cabeza :))

Saludos.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/caejqa5jb382j5sjwgb2wfq+g_ffudnw_0iso1oroa-vav+i...@mail.gmail.com



Re: archivo de log

2014-01-22 Por tema César Cordero
.bash_history en tu /home/usuario/


2014/1/18 Ismael L. Donis Garcia ism...@citricos.co.cu

 Alguien me podría decir en que archivo Debian guarda las instrucciones que
 uno teclea en una consola?

 Desde Ya Gracias
 
 | ISMAEL |
 


 --
 To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org
 Archive: http://lists.debian.org/9BE022EAA8164DA0885A9DC9B75BDD
 8...@natio.co.cu




-- 
Free your mind, free your computer, free your life...

César Cordero (Rockcesar)
Linux Counter #461087


Re: archivo de log

2014-01-20 Por tema Haylem Candelario Bauzá del INOR
en el .bash history de tu home
-- 
Si dominas los Bits, dominas el mundo


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/201401201628.58048.hay...@inor.sld.cu



Re: archivo de log

2014-01-19 Por tema Santiago López Denazis
On 01/18/2014 01:53 PM, Ismael L. Donis Garcia wrote:
 Alguien me podría decir en que archivo Debian guarda las instrucciones
 que uno teclea en una consola?
 

 Si usas bash, puedes verlo en la variable de entorno $HISTFILE. En el
manual se explica en la parte de 'Shell Variables'.

  Saludos,

 Desde Ya Gracias
 
 | ISMAEL |
 
 
 

-- 
Santiago López Denazis
GNU/Linux SysAdmin
sldena...@gmail.com
Open your source, open your mind.

Por favor, no utilice formatos de archivo privativos para el intercambio
de documentos, como DOC y XLS, sino HTML, PDF, TXT, CSV o cualquier otro
que no obligue a utilizar un programa de un fabricante concreto. Vea
http://www.gnu.org/philosophy/no-word-attachments.es.html
--


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52dc3147.3050...@gmail.com



archivo de log

2014-01-18 Por tema Ismael L. Donis Garcia
Alguien me podría decir en que archivo Debian guarda las instrucciones que 
uno teclea en una consola?


Desde Ya Gracias

| ISMAEL |
 




--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/9be022eaa8164da0885a9dc9b75bd...@natio.co.cu



Re: archivo de log

2014-01-18 Por tema Maykel Franco
2014/1/18 Ismael L. Donis Garcia ism...@citricos.co.cu:
 Alguien me podría decir en que archivo Debian guarda las instrucciones que
 uno teclea en una consola?

 Desde Ya Gracias
 
 | ISMAEL |
 


 --
 To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org
 Archive:
 http://lists.debian.org/9be022eaa8164da0885a9dc9b75bd...@natio.co.cu



/home/usuario/.bash_history

Saludos.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAJ2aOA9rmh_6xz05LDxBxOUtnF_UaqE8M6OZjatee+q=z02...@mail.gmail.com



Re: archivo de log

2014-01-18 Por tema Santiago José López Borrazás
El 18/01/14 17:53, Ismael L. Donis Garcia escribió:
 Alguien me podría decir en que archivo Debian guarda las instrucciones que
 uno teclea en una consola?

.bash_history

Es el fichero.

-- 
Saludos de Santiago José López Borrazás.



signature.asc
Description: OpenPGP digital signature


Re: archivo de log

2014-01-18 Por tema fernando sainz
2014/1/18 Ismael L. Donis Garcia ism...@citricos.co.cu

 Alguien me podría decir en que archivo Debian guarda las instrucciones que
 uno teclea en una consola?

 Desde Ya Gracias
 
 | ISMAEL |
 


Depende de la shell que uses.
Para bash están en $HOME/.bash_history

Para otras shell mira su manual.
También te puede interesar el comando history.

S2.