W poprzednim wpisie zamieniliśmy rsyslog na syslog-ng, teraz to wykorzystamy, oczywiście oba rozwiązania są ze sobą kompatybilne. Możemy bez problemu wysyłać logi rsyslogiem na syslog-ng i odwrotnie. To samo z innymi rozwiązaniami, jak np. logi z ESXi.
Konfiguracja syslog-ng jest dużo prostsza niż rsyslog-a.
Z domyślnym ustawień zmieniłem tylko create_dirs z no na yes
options {
flush_lines (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (yes);
keep_hostname (yes);
};
oraz na końcu konfiguracji dopisałem
source net { udp(); };
source net { tcp(); };
destination remote { file("/var/log/external/${FULLHOST}/${FULLHOST}.log"); };
log {
source(net);
destination(remote);
};
Zdecydowałem się na jednoczesny nasłuch na tcp oraz udp ze względu na migrację. Możemy teraz zrestartować usługę
service syslog-ng restart
I jeszcze zmiana lub utworzenie konfiguracji logrotate
/var/log/external/NazwaUrządzenia/NazwaUrządzenia {
compress
compresscmd /usr/bin/bzip2
compressext .bz2
missingok
delaycompress
daily
dateext
rotate 3650
create 0600 root root
}
Gotowe.