数据采集工具Flume相关的知识介绍-上海怡健医学
优采云 发布时间: 2021-08-24 00:10数据采集工具Flume相关的知识介绍-上海怡健医学
之前文章给大家介绍过数据采集工具Flume,接下来文章我想继续给大家介绍data采集工具Logstash相关知识,一起来看看看!
基本概念
Logstash 基于管道进行数据处理,管道可以理解为对数据处理过程的抽象。一条管道数据通过上游数据源汇总到消息队列中,然后通过多个工作线程进行转换,最后输出到下游组件。一个 Logstash 可以收录多个管道。
框架特征
l 主要用于 Elasticsearch 和更多的摄取工作。
具有强大 Elasticsearch 和 Kibana 协作功能的可扩展数据处理管道。
l 可以插拔管道结构。
混合、匹配和协调不同的输入、过滤器和输出在管道中发挥和谐的作用。
l良好的社区生态系统。
开发社区有200多个插件,可以扩展和定制。
工作原理
1.处理过程:
从上图可以看出,Logstash的数据处理过程主要包括三个部分:Inputs、Filters、Outputs。此外,Codecs 还可以用于 Inputs 和 Outputs 中的数据格式处理。这四个都以插件的形式存在。用户可以定义流水线配置文件,设置所需的输入、过滤、输出、编解码插件,实现具体的数据采集、数据处理、数据输出等功能。
lInputs:用于从数据源获取数据。 file、syslog、redis、beats等常用插件[详细参考]
lFilters:用于处理grok、mutate、drop、clone、geoip等格式转换、数据推导等数据。
lOutputs:用于数据输出,如elastcisearch、file、graphite、statsd等。常有sd等[详细参考]
lCodecs:Codecs 不是一个单独的进程,而是插件中用于输入输出等数据转换的模块。 json、multiline等常用的数据编码处理插件[详细参考]
2.执行方式:
lEach Input 启动一个线程,从对应的数据源获取数据。
l 互联网将数据写入队列:默认为内存中的边界队列(意外停止会导致数据丢失)。为了防止数字丢失,Logstash 提供了两个特性: PersistentQueues:防止数据通过磁盘上的队列丢失。
lLogstash会有多个pipelineworker,每个pipelineworker会从队列中获取一批数据,然后执行filter和output(worker的数量和每次处理的数据量由配置决定)
应用场景
Elasticsearch 是目前主流的分布式大数据存储和搜索引擎。 h可以为用户提供强大的全文检索能力,广泛应用于日志检索、全站搜索等领域。 Logstash作为Elasicsearch常用的实时数据采集引擎,可以从不同的数据源采集数据,处理后输出到多个输出源。它是 ElasticStack 的重要组成部分。
在上面文章中,我介绍了常用数据采集工具Logstash相关知识,下一篇文章我会继续分享另一个常用数据采集工具Fluentd,感兴趣的同学可以去51CTO学校看看。