mysql 대상이 있는 Syslog-ng - 로그 보존 증가

mysql 대상이 있는 Syslog-ng - 로그 보존 증가

syslog-ng 3.1.3데이터베이스에 쓰는 먼지가 있고 모든 것이 잘 작동하지만 로그는 30일만 보관하는 것 같습니다(마지막 테이블은 입니다 logs20150826). 어떻게 늘릴 수 있나요? 문서에서 즉시 명확한 내용을 볼 수 없습니다.

logrotate 디렉토리에는 몇 가지 참조가 있지만 mysql 대상을 제어하는 ​​것으로 보이는 것은 없으며 그 안에는 아무것도 없으므로 /etc/syslog-ng/syslog-ng.conf이 30일 보존은 일종의 기본값이어야 합니다.

답변1

php-syslog-ng가 설치되어 있는지 확인하세요. syslog-ng는 이에 대해 책임을 지지 않습니다.

로그 회전

로그 회전은 php-syslog-ng를 사용하는 대부분의 설치에 포함되어야 합니다. 행을 삭제하면 성능 문제가 발생할 수 있으므로 기본 테이블의 행을 삭제하는 것보다 로그 회전을 사용하는 것이 좋습니다. 기존 로그가 있는 테이블은 정적이며 최적화할 수 있으므로 기본 테이블에서 이전 로그를 교체하면 일반적으로 성능이 향상됩니다. scripts 디렉토리에 logrotate.php 스크립트가 있습니다. php-syslog-ng 설치에 대한 올바른 경로를 입력하기 위해 이를 편집해야 할 수도 있지만 그 후에는 사용할 수 있습니다. config.php 파일에서 병합 테이블을 활성화하면 스크립트 끝에 모든 로그 테이블의 병합 테이블이 생성됩니다. 병합 테이블을 사용하면 한 번에 하나의 테이블을 검색할 필요 없이 모든 테이블을 검색할 수 있습니다. 병합 테이블은 하나의 특정 테이블 대신 모든 테이블을 기반으로 필드가 채워지기 때문에 검색 양식에서 약간의 성능 저하와 동일합니다.

config.php에서 LOGRETENTION 설정을 활성화하도록 지정할 수도 있습니다. 이것을 활성화하면 logrotate.php가 실행될 때마다 이 설정보다 오래된 로그가 삭제됩니다.

logrotate.php 스크립트를 사용하기로 결정했다면 crontab에 추가하고 원하는 만큼 자주 실행되도록 하십시오(현재 최대 횟수는 하루에 한 번입니다).

원천http://www.debianhelp.co.uk/syslog-ng.htm

관련 정보