В настоящее время я использую Syslog-NG компании Balabit, чтобы сконцентрировать свои ИТ-журналы и передать их на удаленный сервер, через TCP-соединение, которое может разрешить только один порт прослушивания.
Дело в том, что объем моего журнала действительно важен (около 15000 сообщений в секунду), и я вижу, что сообщения помещаются в буфер на моем диске (я действительно включил disk-buf-size(300G)
и mem-buf-length(10M)
в моем destination
Объект TCP.
Вы знаете, есть ли способ:
destination
объекты (я пробовал max_connections
, threaded
и т. д., которые не работали) версия syslog-ng: 3.9
Пример syslog-ng.conf:
options {
perm(0644);
stats_freq(30)
log_msg_size(65535)
flush_lines(0);
time_reap(10);
threaded(yes);
time_reopen(10);
log_fifo_size(10M);
chain_hostnames(off);
use_dns(no);
use_fqdn(no);
create_dirs(yes);
dir_perm(0755);
keep_hostname(yes);
keep-timestamp(yes);
};
...
destination dst_siem_port_1234 {
tcp(
"192.168.0.1"
port(1234)
disk-buffer( mem-buf-length(10M) disk-buf-size(300G) reliable(no) )
);
};
log {source(mysrc); filter(f_myfilter); destination(dst_siem_port_1234); };
Сортировка опечаток на клавиатуре, копирование с экрана на экран :)
Попробуйте установить flush_lines(100);
в параметрах, чтобы клиент не отправлял по одной строке за раз (по крайней мере, я понимаю, что происходит, когда для него установлено значение 0).