Использование NiFi для получения индексов Elasticsearch

Я работаю с NiFi (недавно подключился к нему, и, похоже, он мне подходит). Недавно мы создали кластер Spark / Hadoop, и уже около двух лет мы используем Elasticsearch. Моя цель - получить конкретные индексы из Elasticsearch в HDFS (в частности, syslog). Я занимаюсь машинным обучением для обнаружения аномалий, но хочу поработать с данными из HDFS, чтобы ускорить процесс.

Итак, немного предыстории - наши индексы системного журнала меняются каждый день (logstash-syslog-2017-11-20 и т. Д.). Мне нужны только сообщения из системного журнала, поэтому я хочу сделать следующее:

ES -> NiFi -> Parse JSON to give me back text -> write each message to its own line in a text file. 

В конце концов, в моей HDFS у меня были бы текстовые файлы сообщений для каждого индекса (дня), например:

syslog-2017-11-19
syslog-2017-11-20
syslog-2017-11-21

и так далее....

Я озадачен парой вещей:

  1. Какие компоненты необходимы для этого? Я вижу, что есть GenerateFlowFile, который, как мне кажется, должен сделать имена индексов динамическими.

  2. Поскольку я хочу получить весь индекс, я думаю, мне нужно использовать ScrollElasticSearchHttp, но я не уверен. Есть и другие варианты, но я не знаю, что лучше. При использовании PySpark я делал простые запросы с помощью коннектора ES-Hadoop для получения целых индексов, но мне пришлось увеличить размер прокрутки до 10 КБ, чтобы он работал быстрее. Просто запуталась, какой процессор мне следует использовать.

Если кто-то может дать мне представление о структуре этого (какие процессоры, разъемы и т. Д.) Мне нужно получить индексы сообщений из системного журнала от ES к моей HDFS, это было бы здорово. Все еще изучаю это, поэтому, пожалуйста, извините за мое невежество по этому поводу. Большое спасибо за любую помощь!


person azdatasci    schedule 20.11.2017    source источник
comment
Комментарии не подлежат расширенному обсуждению; этот разговор был перемещен в чат < / а>.   -  person Andy♦    schedule 01.12.2017


Ответы (2)


Также есть ListenBeats процессор. Вы можете перенаправить Logstash в NiFi, и Nifi может писать как в EL, так и в HDF. Это правда, что это поставит NiFi на ваш критический путь.

Также есть возможность написать свои собственные процессоры, и вы можете сделать это очень легко. Просто следуйте этой статье

Я также недавно нашел Нифи, и я думаю, что это здорово. Немного поигрался с ней, поэтому я не эксперт.

person sbiz    schedule 24.11.2017
comment
Я закончил тем, что использовал процессор ScrollElasticsearchHttp, в соответствии с моим комментарием выше, казалось, что некоторые параметры были отформатированы неправильно. Как только я получил правильный формат, все заработало. Мне бы хотелось, чтобы в документации NiFi было больше примеров / явных примеров, показывающих формат и отличающих его от параметров форматирования ES-Hadoop. Как бы то ни было, сейчас все работает. Мне было бы интересно написать свои собственные процессоры - есть ли для этого руководство или что-то еще? - person azdatasci; 25.11.2017
comment
Просто перейдите по ссылке из ответа. Вы найдете там руководство и примеры. - person sbiz; 25.11.2017
comment
Да ... извините, вы полностью дали мне ссылку, а потом я спросил об этом. Я проверил эту ссылку, хороший материал. Я думаю, что ScrollElasticSearchHttp - это мой ответ на данный момент, но я думаю, что, основываясь на нашем огромном инвентаре разрозненных источников данных, мне, скорее всего, когда-нибудь это понадобится. Хорошая информация. - person azdatasci; 27.11.2017

В качестве ответа я публикую свой первый комментарий, так как именно он стал моим решением.

Я закончил тем, что использовал процессор ScrollElasticsearchHttp, в соответствии с моим комментарием выше, казалось, что некоторые параметры были отформатированы неправильно. Как только я получил правильный формат, все заработало. Мне бы хотелось, чтобы в документации NiFi было больше примеров / явных примеров, показывающих формат и отличающих его от параметров форматирования ES-Hadoop. Как бы то ни было, сейчас все работает. Мне было бы интересно написать свои собственные процессоры - есть ли для этого руководство или что-то еще?

person azdatasci    schedule 18.04.2019
comment
Можете ли вы поделиться документами, которые вы указали? - person andani; 30.01.2020
comment
azdatasci, не могли бы вы разместить здесь снимок экрана с потоком данных NiFi. В частности, параметры, которые вы устанавливаете. - person Vijay Kumar; 04.02.2020