Syslog-ng con destino mysql: aumenta la retención de registros

Syslog-ng con destino mysql: aumenta la retención de registros

Tengo este polvoriento syslog-ng 3.1.3que escribe en una base de datos y todo funciona bien, sin embargo, parece mantener solo 30 días de registros (la última tabla es logs20150826). ¿Cómo puedo aumentar eso? No veo nada claro de inmediato en la documentación.

Hay algunas referencias en los directorios de logrotate, pero nada que parezca controlar el destino de mysql y nada en él, /etc/syslog-ng/syslog-ng.confpor lo que esta retención de 30 días debe ser algún tipo de valor predeterminado.

Respuesta1

Compruebe si tiene instalado php-syslog-ng, syslog-ng no es responsable de esto.

Rotación de registros

La rotación de registros debería ser parte de la mayoría de las instalaciones en las que utilice php-syslog-ng. Es mejor utilizar la rotación de registros que eliminar filas en la tabla principal porque eliminar filas puede provocar problemas de rendimiento. La rotación de registros antiguos fuera de la tabla principal generalmente también dará como resultado un mejor rendimiento porque las tablas con registros antiguos son estáticas y se pueden optimizar. Hay un script logrotate.php en el directorio de scripts. Es posible que tengas que editarlo para ingresar la ruta correcta a tu instalación de php-syslog-ng, pero después de eso debería estar listo para usar. Si habilita las tablas de combinación en el archivo config.php, se creará una tabla de combinación de todas las tablas de registro al final del script. La tabla de combinación le permitirá buscar en todas las tablas en lugar de tener que realizar búsquedas en una tabla a la vez. La combinación de tablas equivale a un ligero impacto en el rendimiento del formulario de búsqueda porque los campos se completan en función de todas las tablas en lugar de una tabla en particular.

También puede especificar habilitar la configuración LOGRETENTION en config.php. Si habilita esto, los registros anteriores a esta configuración se eliminarán cada vez que se ejecute logrotate.php.

Si decide utilizar el script logrotate.php, simplemente agréguelo a su crontab y ejecútelo con la frecuencia que desee (el máximo actualmente es una vez al día).

Fuentehttp://www.debianhelp.co.uk/syslog-ng.htm

información relacionada