Обработка журнала в реальном времени и генерация предупреждений

Предполагая, что у меня есть непрерывный поток записей журнала (например, журнал брандмауэра), мне нужен инструмент, способный обрабатывать поток событий и выполнять над ним некоторые вычисления в реальном времени (например, подсчитывать количество обращений с разных IP-адресов по сети). окно времени - скажем, 10 минут) и вызвать предупреждение при выполнении некоторого условия (например, количество доступов> 100).

Мне известно о проекте Storm, InfluxDB, OpenTSDB, KairosDB, но, кроме Strom, они не похожи на инструменты, предназначенные для такого рода обработки. Мой вопрос, если кто-нибудь знает инструмент, более подходящий для этого типа работы.


person Unknown    schedule 07.11.2013    source источник
comment
Я думаю, что шторм идеально подходит для случая использования, который вы упомянули.   -  person Global Warrior    schedule 07.11.2013


Ответы (5)


Вы можете направить свои сообщения (записи журнала) в очередь Kafka и интегрировать с ней storm. хорошая интеграция между storm и kafka под названием KafkaSpout, которая является носиком которые читаются из кластера Kafka.

Для выполнения обработки в реальном времени в течение окна времени вы можете проверить Esper, который обычно представляет собой сложный блок обработки событий ( КЭП). Должно быть очень полезно для обработки потока событий, как вы упомянули.

Интеграцию между strom и esper можно найти здесь.
И основной Esper

person user2720864    schedule 07.11.2013

Стоит взглянуть на Splunk. С помощью Splunk вы можете отслеживать и оповещать в режиме реального времени. Он также поддерживает возможности поиска и анализа в реальном времени. Splunk в основном собирает, индексирует и сопоставляет данные в режиме реального времени в репозитории с возможностью поиска, из которого пользователи могут создавать графики, отчеты, предупреждения, информационные панели и визуализации, что было бы намного проще с точки зрения конечного пользователя.

person Tariq    schedule 07.11.2013
comment
Splunk — хорошее решение, но, к сожалению, для моих требований мне пришлось бы использовать корпоративную версию, а это невозможно (по финансовым причинам). - person Unknown; 07.11.2013

Мы используем Storm (в сочетании с Kafka) для аналогичных задач, и нам это очень нравится. Ошибки, генерируемые инструментом, всегда настолько полезны и информативны, насколько можно было бы надеяться, но в целом, преодолев их, он обеспечивает очень надежную и надежную инфраструктуру.

Если требования к оповещению достаточно просты (нет необходимости коррелировать между событиями, получать данные из других ресурсов и т. д.), может даже иметь смысл напрямую использовать Kafka (или другую систему обмена сообщениями).

При проверке альтернатив мы также провели исследование S4 (http://incubator.apache.org/s4/), но, похоже, он не набирает таких оборотов, как Storm.

Spark (https://amplab.cs.berkeley.edu/projects/spark-lightning-fast-cluster-computing/), который в основном направлен на пакетную обработку как в Hadoop, но также имеет инициативу, направленную на потоковую обработку.

person erankl    schedule 07.11.2013

Вы можете посмотреть на EVAM. Он имеет конструктор на основе сценариев, и для одного и того же потока можно запускать несколько сценариев параллельно или последовательно. Генерация событий и действий выполняется один раз, затем можно использовать метод перетаскивания графического интерфейса для создания множества сценариев.

person Ahmet Gök    schedule 21.11.2016

Для более ориентированного на эксплуатацию решения вы можете посмотреть graylog . Недостатком является то, что у вас нет бесконечных возможностей, как в случае со Storm, поэтому то, что вы не можете сделать, вы также не можете закодировать (по крайней мере, не так просто, но это с открытым исходным кодом).

Кроме того, вы вполне можете использовать Centreon для более полного решения. Все зависит от того, был ли ваш пример просто случайным или вашим реальным вариантом использования (если это так, посмотрите на инструменты для операций, а не для программирования. Существует множество инструментов для мониторинга).

person C4stor    schedule 07.11.2013