一个文件汇集搜索系统(NiFi + ELK)

Posted lightsong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个文件汇集搜索系统(NiFi + ELK)相关的知识,希望对你有一定的参考价值。

目的

建立一个文件夹,文件夹中存放一些文本文件, 系统实时监测此文件夹,当有文件变化时候,自动执行入库功能(将文件内容推送到搜索库),

文件内容可以即时被搜索系统搜索到。

 

技术依赖

1、 NIFI -- 文件检测入库

2、 ElasticSearch -- 文件内存存储和搜索

3、 Kibana负责Elastic数据库的测试(dev tool功能)

 

NiFi流配置

Overview

ListFile -》 FetchFile -》 ExtractText -》 AttributeToJson -》 PutElasticHttp

技术图片

 

 

ListFile

指定观测的文件夹。

技术图片

 

 

FetchFile

配置不用修改。

符合获取文件内容,存储到flow content中。

技术图片

 

 

ExtractText

新增最后一个属性 fullContent ,其值是捕获文件中所有内容。

此属性会作为 flow attribute出现。

技术图片

 

 

AttributesToJSON

在第一行,指定需要转换的属性名称。

第三行,执行转换成的JSON数据,保存的位置,是content,还是attribute。

技术图片

 

 

PutElasticHttp

第一行,执行elastic的服务器。

 

技术图片

 

 倒数第三到第五行

指定了elastic中存储的要素, 文档id + 索引名 + 索引类型

技术图片

 

 

测试

创建一个含有 hello kitty 的文件。

技术图片

 

 

在kibana上查询 kitty关键字:

技术图片

 

 

 

参考:

https://gitee.com/streamone/full-text-search-in-action/blob/master/doc/ElasticSearch%20%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2%E5%AE%9E%E6%88%98.md

 

以上是关于一个文件汇集搜索系统(NiFi + ELK)的主要内容,如果未能解决你的问题,请参考以下文章

67-日志分析系统ELK-ELK架构简述

集中日志系统ELK

集中日志系统ELK

ELK日志分析系统(实例!!!)

ELK 实现 Java 分布式系统日志分析架构

集中式日志系统 ELK 协议栈详解