Utworzenie loghost-a z użyciem syslog-ng

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.