系统日志与MySQL目标 – 增加日志保留

我有这个尘土飞扬的syslog-ng 3.1.3写入数据库,一切都运行良好,但它似乎只保留30天的日志(最后一个表是logs20150826 )我怎样才能增加呢? 我在文档中看不到任何内容。

在logrotate目录中有一些引用,但似乎没有任何东西在控制mysql的目的地,没有什么在/etc/syslog-ng/syslog-ng.conf所以这30天的保留必须是某种默认的。

检查你是否安装了php-syslog-ng,syslog-ng不负责这个。

日志旋转

日志轮换应该是你使用php-syslog-ng的大多数安装的一部分。 使用日志循环比删除主表中的行更好,因为删除行可能会导致性能问题。 将旧日志从主表中移出通常也会导致更好的性能,因为具有旧日志的表是静态的并且可以进行优化。 脚本目录中有一个logrotate.php脚本。 您可能需要编辑它以input正确的path到您的php-syslog-ng安装,但在此之后它应该准备好使用。 如果在config.php文件中启用合并表,则将在脚本末尾创build所有日志表的合并表。 合并表将允许您在所有表中进行search,而不必一次对一个表进行search。 合并表等同于search表单上的轻微性能命中,因为这些字段是基于所有表而不是一个特定表填充的。

您也可以指定在config.php中启用LOGRETENTION设置。 如果你启用了这个function,那么当logrotate.php运行时,比这个设置更早的日志将被删除。

如果您决定使用logrotate.php脚本,那么只需将其添加到您的crontab并让它运行,但频繁你想(最多是每天一次)。

来源http://www.debianhelp.co.uk/syslog-ng.htm