У нас был OutOfMemoryException
в нашем logstash 5.6.6, что приводит к checkpoint. head
файл не будет записан правильно:
ls -l /var/lib/logstash/queue/main/
total 266424
-rw-r--r-- 1 logstash logstash 34 Mar 1 20:33 checkpoint.55779
-rw-r--r-- 1 logstash logstash 0 Mar 1 20:34 checkpoint.head
-rw-r--r-- 1 logstash logstash 262144000 Mar 1 20:33 page.55779
-rw-r--r-- 1 logstash logstash 262144000 Mar 1 20:34 page.55780
Есть ли способ отремонтировать checkpoint.head
или, по крайней мере, чтобы страница 55779 была загружена в конвейер, чтобы мы не потеряли пару тысяч событий?
В итоге мы посмотрели на рабочий checkpoint.head
файл и измените его в соответствии с нашими потребностями. В шестнадцатеричном формате файл может выглядеть так:
00000000: 0001 0000 d9e4 0000 d9e3 0000 0000 0000 ................
00000010: 0000 0000 0000 0000 0000 0000 0000 1855 ...............U
00000020: 2b6b 0a +k.
Что нужно отредактировать:
Все числа с прямым порядком байтов.
Чтобы получить хэш, просто установите значения для файлов страниц и запустите logstash. Он покажет вам сообщение об ошибке с указанием ожидаемого и фактического хеша, замените значение в checkpoint.head
с фактическим значением из этого сообщения об ошибке.