Я настроил Filebeat для отправки журналов в Graylog, настроив вход Beats в Graylog, используя порт 5044 (аналогично logstash). Я успешно получил логи в Graylog. Однако, если файл журнала не изменяется после 3 повторных попыток, бит файла исчезает, и мне нужно начинать вручную, чтобы продолжить сбор данных.
Это журнал Filebeat до его смерти (всего этот фрагмент появляется три раза):
2019-04-18T17:09:54.324-0700 DEBUG [input] input/input.go:152 Run input
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:174 Start next scan
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:404 Check file for harvesting: /app/logs/A/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:494 Update existing file for harvesting: /app/logs/A/api.log, offset: 2922198
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:548 File didn't change: /app/logs/A/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:404 Check file for harvesting: /app/logs/B/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:494 Update existing file for harvesting: /app/logs/B/api.log, offset: 28149
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:548 File didn't change: /app/logs/B/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:404 Check file for harvesting: /app/logs/C/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:494 Update existing file for harvesting: /app/logs/C/api.log, offset: 37930655
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:546 Harvester for file is still running: /app/logs/C/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:404 Check file for harvesting: /app/logs/D/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:494 Update existing file for harvesting: /app/logs/D/api.log, offset: 173342
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:548 File didn't change: /app/logs/D/api.log
2019-04-18T17:09:54.324-0700 DEBUG [input] log/input.go:195 input states cleaned up. Before: 4, After: 4, Pending: 0
В filebeat.yml это конфигурация процесса в порту 5044. Я изменил в filebeat.yml max_retries: от 3 до -1 (бесконечно) следующим образом:
#----------------------------- Logstash output --------------------------------
output.logstash:
# The Logstash hosts
hosts: ["log1.cgi-dev.ca:5044"]
# Optional SSL. By default is off.
# List of root certificates for HTTPS server verifications
#ssl.certificate_authorities:
# Certificate for SSL client authentication
#ssl.certificate:
# Client Certificate Key
#ssl.key:
# The number of times to retry publishing an event after a publishing failure.
# After the specified number of retries, the events are typically dropped.
# Some Beats, such as Filebeat and Winlogbeat, ignore the max_retries setting
# and retry until all events are published. Set max_retries to a value less
# than 0 to retry until all events are published. The default is 3.
max_retries: -1
Как я уже упоминал, я успешно получаю логи из filebeat в Graylog, но когда файл журнала не меняется в течение некоторого времени, процесс filebeat умирает. Что могло быть причиной смерти Filebeat?
Спасибо