На ВМке имеется примерно около 100 000 лог файлов, характеристики ВМ OS Windows Server 2019, CPU 4, ОЗУ 4Гб. Для сбора логов и последующей их отправки в logstash используется filebeat 7.16.0. После запуска filebeat начинает расходовать память ОЗУ до максимума, в итоге служба filebeat останавливается, сбор логов заканчивается ошибкой:
ERROR [logstash] logstash/async.go:280 Failed to publish events caused by: write tcp 10.0.10.5:53536->10.0.10.6:5044: wsasend: An existing connection was forcibly closed by the remote host.
panic: reflect.Select: too many cases (max 65536)
Мой конфиг filebeat:
filebeat.inputs:
- type: filestream
enabled: true
paths:
- C:\logs\GT\xml\*\*.log
fields_under_root: true
fields:
system: xml
subsystem: GT
parsers:
- multiline:
type: pattern
pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
negate: true
match: after
- type: filestream
paths:
- C:\logs\ERRORS\xml\*\*.log
fields_under_root: true
fields:
system: xml
subsystem: errors
parsers:
- multiline:
type: pattern
pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
negate: true
match: after
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
tags: [xmlgate]
output.logstash:
hosts: ["10.0.10.6:5044"]
template.name: "xmlgate"
template.path: "filebeat.template.json"
template.overwrite: false
logging.metrics.enabled: false
Пробовал использовать параметры queue.mem: events: 2048 - 32; flush.min_events: 2048 - 16; flush.timeout: 10-2s - результата не дало.
Какие параметры могут помочь уменьшить потребление памяти ОЗУ filebeatом при обработке такого количества уже имеющихся лог файлов на диске (~100 000) + новых лог файлов (~20 в мин)?