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.