Graylog
Поскольку два человека уже посоветовали вам переосмыслить ваш текущий процесс (что, во-вторых, так как в какой-то момент это приведет к бессонным ночам;)), я пойду другим путем и порекомендую конкретную программу, которая, на мой взгляд, подходит для большинства ваши потребности: Graylog .
Я реализовал и использовал несколько стеков ELK как для агрегации журналов, так и для бизнес-аналитики, а также запускаю / поддерживаю graylog уже около двух лет у моего текущего работодателя. Я рекомендую Graylog, поскольку он имеет следующие встроенные функции и, на мой взгляд, немного проще в настройке и обслуживании:
- Веб-интерфейс
- Многопользовательские возможности
- Alerting
Насколько я понимаю, ваш сценарий выглядит так, как будто вам нужно действовать или получать уведомления об определенных событиях, которые появляются в вашем потоке сообщений журнала. Если мы посмотрим на особенности Graylog :
Запускайте действия или получайте уведомления, когда что-то требует внимания, например, неудачные попытки входа в систему, исключения или снижение производительности.
Идеи: Отправьте электронное письмо или сообщение Slack вашей команде. Создайте новую машину, чтобы сбалансировать нагрузку обработки. Блокировать диапазон IP-адресов в брандмауэрах автоматически при обнаружении атаки.
Чтобы попробовать Graylog, я бы порекомендовал следующие два шага:
- Настройте выделенный хост, доступный всем хостам приложения для запуска graylog (и его зависимостей MongoDB и ElasticSearch)
- Отправлять журналы из вашего приложения в graylog (возможно, как сообщения GELF )
Примечание. Эти два шага позволяют заполнить страницы и страницы с рекомендациями и должны получить как минимум пару мыслей. Не говоря уже о том, что graylog не является решением для мониторинга, и сам graylog должен контролироваться надлежащим инструментом мониторинга (например, Icinga, Prometheus, Nagios и многие другие).