Я работаю с 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
и так далее....
Я озадачен парой вещей:
Какие компоненты необходимы для этого? Я вижу, что есть GenerateFlowFile, который, как мне кажется, должен сделать имена индексов динамическими.
Поскольку я хочу получить весь индекс, я думаю, мне нужно использовать ScrollElasticSearchHttp, но я не уверен. Есть и другие варианты, но я не знаю, что лучше. При использовании PySpark я делал простые запросы с помощью коннектора ES-Hadoop для получения целых индексов, но мне пришлось увеличить размер прокрутки до 10 КБ, чтобы он работал быстрее. Просто запуталась, какой процессор мне следует использовать.
Если кто-то может дать мне представление о структуре этого (какие процессоры, разъемы и т. Д.) Мне нужно получить индексы сообщений из системного журнала от ES к моей HDFS, это было бы здорово. Все еще изучаю это, поэтому, пожалуйста, извините за мое невежество по этому поводу. Большое спасибо за любую помощь!