Я создаю собственное решение для анализа журналов, и все журналы, которые передаются в базу данных, передаются в файл журнала с именем lsb.events
[*]. После определенного размера или количества строк файлы поворачиваются на lsb.events.1
(и последующие числа). Мне нужно отслеживать и отправлять эти события в какую-то очередь сообщений (возможно, redis) без потери строк. Если процесс просмотра умрет, было бы здорово, если бы он мог как-то восстановиться и позаботиться о пропущенных строках.
я знаю это filebeat
from Elastic Search делает нечто похожее, однако анализ журналов, который я выполняю, представляет собой программу на C ++, которую нельзя легко преобразовать в Go, и filebeat
похоже, тесно интегрирован с Elastic Search / logstach и т. д.
Есть ли более универсальное решение, которое я могу использовать? Если бы я катался самостоятельно, используя inodes
вместо имен файлов и т. д. каков будет получатель и с какими ловушками я должен быть осторожен?
[*] Регистрация событий IBM LSF Queuing System.