我有大约20个进程在各自的服务器上生成日志(每个大约500MB),到目前为止,我一直在将这些日志复制到中央服务器,并编写GUI并直接监视这些复制的日志文件的尾部。
我设置了Kafka,并使用fluent-bit成功地将日志复制到每个服务器的一个分区中,这似乎非常有效。
我在客户端有点困惑,因为我只关心每天的数据(我的每个源日志文件在文件名中都有一个日期)。
在一天结束的时候删除我所有的kafka话题是不是一种好的做法?我知道kafka内置了每个客户端的偏移量跟踪,但我不想冒任何风险,而且,我也看不出从一开始就有什么值得引导的地方。
另一种方法可能是将日期添加到主题名称?因此,我基本上每天会创建20个新主题。我认为这样做的好处是,它将很好地保证我的数据只在那一天。另外,前几天的数据也是可用的,我可以在一周或一个月左右删除这些主题。
我的客户端进程包括:
或者也许Kafka可能不是最好的解决方案?
发布于 2018-06-03 03:31:42
为什么不使用Elasticsearch和Kibana呢?(可选择Filebeat而不是Fluentd)
Kafka Connect实时转储数据,您可以对Kibana中的数据进行切片,以便按天进行搜索或其他操作。创建可实时更新或每天更新几次的Kibana仪表板
不要删除Kafka主题,除非您在fluent-bit中设置了一些动态的基于时间的路由。Kafka默认保留一周的数据,但您可以设置您的主题保留24小时的数据
然而,Kafka在这里甚至都不是必需的。查找"EFK栈“、Elastic、Fluentd、Kibana,或者如果使用Beats,您可以消除对Fluentd的需求
此外,使用最新开放版本的弹性XPack,您可以设置搜索警报并在数据中进行异常检测
https://stackoverflow.com/questions/50659657
复制相似问题