Назад | Перейти на главную страницу

Как надежно наблюдать за изменяющимися файлами журнала

Я создаю собственное решение для анализа журналов, и все журналы, которые передаются в базу данных, передаются в файл журнала с именем lsb.events[*]. После определенного размера или количества строк файлы поворачиваются на lsb.events.1 (и последующие числа). Мне нужно отслеживать и отправлять эти события в какую-то очередь сообщений (возможно, redis) без потери строк. Если процесс просмотра умрет, было бы здорово, если бы он мог как-то восстановиться и позаботиться о пропущенных строках.

я знаю это filebeat from Elastic Search делает нечто похожее, однако анализ журналов, который я выполняю, представляет собой программу на C ++, которую нельзя легко преобразовать в Go, и filebeat похоже, тесно интегрирован с Elastic Search / logstach и т. д.

Есть ли более универсальное решение, которое я могу использовать? Если бы я катался самостоятельно, используя inodes вместо имен файлов и т. д. каков будет получатель и с какими ловушками я должен быть осторожен?

[*] Регистрация событий IBM LSF Queuing System.