es获取最大时间的记录_Python日志写入ES之五种方案比较

本文对比了flume+kafka+spark、logging+CMRESHandler、pyinotify、Elasticsearch库实时写入ES以及定时批量写入ES的方案。针对数据丢失、网络异常和并发性能等问题,文章详细介绍了每种方案的特点和适用场景,并给出了自定义超时重试及定时批量写入ES的实现细节。
摘要由CSDN通过智能技术生成

​实时/准实时方案可以使用以下四种方式实现

  • flume+kafka+spark准实时写入ES
  • logging + CMRESHandler实时写入ES
  • 利用python中的Elasticsearch库实时写入ES
  • pyinotify后台监控文件变化写入ES

定时写入方案则有

  • 超时重试及定时批量写入ES

接下来我将比较这几个方案的区别,及实现定时写入ES方案。

flume+kafka+spark实时写入ES

此方案流程为:通过flume采集日志,上送到kafka,接着spark程序订阅Topic并消费日志,然后写入ES。因为消息存在一定的滞后,所以叫准实时。对于数据量超大的场景,或同时需要利用spark做日志分析场景,一般采用此方案,目前公司使用的就是这样一套系统,但存在很多问题。目前随着集群上应用越来越多,资源可能不够用,导致程序偶尔会挂掉,另外kafka数据消息偶尔延时以及丢失问题,最终决定弃用本方案(项目对日志有精确要求,日志语料需要导出标注)

logging + CMRESHandler实时写入ES

另一种实时写入方案是:利用logging配合es写入模块做实时写入操作

环境安装

pip install CMRESHandler

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值