Я готовлю сторожевую собаку, но меня беспокоит, что в какой-то момент хвост всегда может взорваться. Таким образом,
Моя забота состоит в том, чтобы всегда отслеживать файл журнала и обнаруживать совпадение с шаблоном.
Выполните несколько команд на машине Ubuntu.
хвосты всегда кажутся не подходящим решением. Вы можете порекомендовать какой-нибудь другой способ?
Вы должны проверить Logstash. Это конвейер для ваших файлов журнала, в котором вы определяете один вход, один (необязательный) фильтр и один выход.
Фильтр может быть чем-то, что соответствует только при появлении вашего шаблона, а затем выходным каналом для запуска команды.
logstash - это инструмент для управления событиями и журналами. Вы можете использовать его для сбора журналов, их анализа и сохранения для последующего использования (например, для поиска). Говоря о поиске, logstash поставляется с веб-интерфейсом для поиска и детализации всех ваших журналов.
Лучший инструмент, который я могу придумать для этой задачи, - это syslog-ng
(доступны как коммерческие версии, так и версии с открытым исходным кодом).
Есть несколько способов справиться с этим в syslog-ng, но я бы предложил отфильтровать нужные характеристики сообщения, а затем отправить сообщение адресату, который вызывает program()
делать то, что тебе нужно.
В syslog-ng документация содержит более подробную информацию об этом, а также о других возможностях, которые предоставляет syslog-ng.
Вам также следует подумать о Fail2Ban. Хотя программа ориентирована на мониторинг сценариев с целью запрета потенциальных хакеров и т.п., ее можно легко заставить отслеживать любой текстовый журнал и предпринимать практически любые действия в зависимости от того, что он находит.