Я настроил rsyslog, который пересылает некоторые журналы в logstash через порт udp. Я отправляю множество событий в rsyslog. Rsyslog правильно помещает все события в очередь. Но Rsyslog очень медленно отправляет события в logstash.
logstash получает примерно 50–100 событий каждые 30–40 секунд. Не отправлять сразу или постоянно.
Я настроил rsyslog conf, который отправляет события в файл. Кроме того, я создал RAM-диск для отправки событий, чтобы избежать проблем с производительностью дискового ввода-вывода.
Результат такой же. Rsyslog имеет много событий (5000-10000) в основной очереди, отправляет примерно 30-40 событий каждые 20-30 секунд.
Версия Rsyslog - 8.21
Где проблема в моей конфигурации
Rsyslog.conf:
module(load="imudp")
input(type="imudp" port="5550" ruleset="rs1")
module(
load="impstats"
interval="5" # how often to generate stats
resetCounters="on" # to get deltas (e.g. # of messages submitted in the last 10 seconds)
log.file="/tmp/stats" # file to write those stats to
log.syslog="off" # don't send stats through the normal processing pipeline. More on that in a bit
)
main_queue(
queue.type="LinkedList"
queue.workerthreads="4"
queue.dequeueBatchSize="100"
queue.size="10000"
)
ruleset(name="rs1") {
action(type="omfwd" Target="localhost" Port="5570" Protocol="udp")
#action(type="omfile" dirCreateMode="0777" FileCreateMode="0777" File="/run/shm/messages"
}