У меня эта пыльная 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. Возможно, вам придется отредактировать его, чтобы ввести правильный путь к вашей установке php-syslog-ng, но после этого он должен быть готов к использованию. Если вы включите слияние таблиц в файле config.php, то в конце скрипта будет создана таблица слияния всех таблиц журнала. Таблица слияния позволит вам выполнять поиск по всем таблицам, вместо того, чтобы искать по одной таблице за раз. Таблица слияния приводит к небольшому снижению производительности формы поиска, поскольку поля заполняются на основе всех таблиц, а не одной конкретной таблицы.
Вы также можете включить параметр LOGRETENTION в config.php. Если вы включите это, журналы старше этого параметра будут удаляться при каждом запуске logrotate.php.
Если вы решите использовать сценарий logrotate.php, просто добавьте его в свой crontab и запускайте так часто, как хотите (максимум один раз в день).