首页 > 其他分享 >05、数据采集技术

05、数据采集技术

时间:2023-03-09 10:23:52浏览次数:32  
标签:Flume Fluentd 收集 05 采集 日志 Logtail 数据 服务端

转载公众号《微言晓意》,仅用于个人学习

大数据分析中的数据采集方式包括Logstash、Flume、Fluentd、Logtail等,本文对这几种数据采集技术进行简要介绍。

Logstash

Logstash是一个具备实时处理能力的开源的数据收集引擎。可以动态地从不同的来源收集数据,将数据处理(过滤、变形)过之后统一输出到某个特定地址,为将来更多样化的数据分析做准备。Logstash的作用包括:
  • 收集各类系统日志:如Apache日志、log4j(Java程序日志)、Windows系统事件日志。通过Filebeat能够实现安全、快速的的日志传输。能够与很多采用UDP及TCP协议的工具对接,如JMX、NetFlow等等。

  • Elasticsearch的数据采集的利器,可以配合Elasticsearch和Kibana使用;对input、filter及output部分可以使用多种插件灵活配合部署用以实现不同功能。

  • 在Web接口服务中,可以收集HTTP请求。能够与各类SQL或非SQL数据库对接,只要这个数据库支持JDBC接口。

Flume

Flume是由Cloudera公司开源的,分布式可靠,高可用的系统,它能够将不同数据源的海量日志数据进行高效收集、聚合、移动、最后存储到一个中心化数据存储系统中。由原来的Flume OG到现在的Flume NG,进行了架构重构,并且现在NG版本完全不兼容原来的OG版本,经过架构重构后,Flume NG更像是一个轻量级的小工具,适应各种方式的日志收集,并支持failover和负载均衡。

Flume NG的特点:
  • NG只有一种角色的节点:代理节点(Agent)
  • 没有collector,master节点,这是核心组件最核心的变化
  • 去除了physical nodes,local nodes 的概念和相关内容
  • agent节点的组成也发生了变化,脱离了zookeeper

Fluentd

Fluentd是一个日志收集系统,通过丰富的插件,可以收集来自于各种系统或应用的日志,然后根据用户定义将日志做分类处理。通过Fluentd,你可以非常轻易的实现像追踪日志文件并将其过滤后转存到MongoDB这样的操作。Fluentd可以彻底的将你从繁琐的日志处理中解放出来。本质上,Fluentd可以分为客户端和服务端两种模块。客户端为安装在被采集系统中的程序,用于读取log文件等信息,并发送到Fluentd的服务端。服务端则是一个收集器。在Fluentd服务端,我们可以进行相应的配置,使其可以对收集到的数据进行过滤和处理,并最终路由到下一跳。下一跳可以是用于存储的数据库,如MongoDB, Amazon S3,也可以是其他的数据处理平台,比如Hadoop。Fluentd有四个关键功能,使其适合构建清洁,可靠的日志管道:
  • 使用JSON进行统一日志记录:Fluentd尝试尽可能地将数据结构化为JSON:这允许Fluentd 统一处理日志数据的所有方面:收集,过滤,缓冲和跨多个源和目标(统一日志层)输出日志。使用JSON可以更轻松地进行下游数据处理,因为它具有足够的结构,可以在保留灵活模式的同时进行访问。
  • 可插拔架构:Fluentd拥有灵活的插件系统,允许社区扩展其功能。我们的500多个社区贡献插件连接了数十个数据源和数据输出。通过利用插件,您可以立即开始更好地使用日志。
  • 所需的资源较少: Fluentd是用C语言和Ruby组合编写的,只需要很少的系统资源。vanilla实例运行30-40MB内存,可处理13,000个事件/秒/核心。
  • 内置可靠性:Fluentd支持基于内存和文件的缓冲,以防止节点间数据丢失。Fluentd还支持强大的故障转移功能,可以设置为高可用性。

Logtail

Logtail是日志服务提供的一种便于日志接入的日志采集客户端。通过在您的机器上安装Logtail来监听指定的日志文件并自动把新写入到文件的日志上传到您所指定的日志库。Logtail的功能优势主要包括以下几个方面:
  • 基于日志文件、无侵入式的收集日志。用户无需修改应用程序代码,且日志收集不会影响用户应用程序的运行逻辑。
  • 除支持文本日志采集外,还支持binlog、http、容器stdout等采集方式。
  • 对于容器支持友好,支持标准容器、swarm集群、Kubernetes集群等容器集群的数据采集。
  • 能够稳定地处理日志收集过程中各种异常。当遇到网络异常、服务端异常等问题时会采用主动重试、本地缓存数据等措施保障数据安全。
  • 基于服务端的集中管理能力。用户在安装Logtail后,只需要在服务端集中配置需要收集的机器、收集方式等信息即可,无需逐个登录服务器进行配置。
  • 完善的自我保护机制。为保证运行在客户机器上的收集Agent不会明显影响用户自身服务的性能,Logtail客户端在CPU、内存及网络使用方面都做了严格的限制和保护机制。

标签:Flume,Fluentd,收集,05,采集,日志,Logtail,数据,服务端
From: https://www.cnblogs.com/qinke/p/17197377.html

相关文章

  • 06、数据解析技术
    转载公众号《微言晓意》,仅用于个人学习由于网络空间态势感知的数据来自众多的网络设备,其数据格式、数据内容、数据质量千差万别,存储形式各异,表达的语义也不尽相同。如果能......
  • 第六章 数据简化原理
    第六章数据简化原理该笔记基于书本《统计推断》,笔记省略部分均可在该书上找到对应的详细解释。6.1基本定义定义$T(\boldsymbol{X})$是一个统计量,其中\(\bolds......
  • MySQL数据库如何在SQL语句中显式的使用排序规则?
    大家都知道,MySQL数据库在SQL语句中都是使用ORDERBY子句来进行排序,可以使用ASC或DESC关键字来指定排序的方式,即升序或降序。那如果要在排序时指定特定的排序规则,该怎么写......
  • 01、为什么要用大数据技术进行安全分析?
    转载公众号《微言晓意》,仅用于个人学习关于安全运营系列文章,在2020年10月份写了篇《安全运营的定义与核心目标》,算是开了个头。后面几个月由于精力不够,内容方向也没有想清......
  • 容灾恢复 | 记一次K8S集群中etcd数据快照的备份恢复实践
    [点击......
  • 02、大数据安全分析技术框架与关键技术
    转载公众号《微言晓意》,仅用于个人学习大数据分析通过对安全告警、系统日志以及网络流量等海量多源异构数据进行采集、存储与分析,打破原有网络安全烟囱式防护模式,将所有安......
  • 03、数据采集对象与数据类型
    转载公众号《微言晓意》,仅用于个人学习安全告警、系统与应用日志、网络流量以及资产漏洞、威胁情报等数据中,都包含大量有价值的安全信息,对这些分离的多源异构数据进行统一......
  • postgresql 中同一数据类型在不同标准下的命名方式
    我在使用pgadim和navicate时发现它们的数据类型和生成sql语句完全不一样,于是问了一下ChatGPT,算是搞清楚了。以下内容来自ChatGPT:1.postgresql中doubleprecisio......
  • VS error C2471: 无法更新程序数据库vc90.pdb的解决办法
    修改项目属性右击项目-->"属性”  1.“C/C++”-->"常规”-->”调试信息格式”设置为“C7兼容(/Z7)”  2.“C/C++”-->"代码生成”-->”启用字符串池......
  • 12、安全运营中心应该如何进行数据收集?
    关于安全运营中心到底应该如何收集数据的问题,起初很多人认为应该收集尽可能多的全量数据,但也有人认为收集那么多数据占用很多资源,有些数据收集上来又没有什么用,主张需要什......