我有20个左右的进程在各自的服务器上生成日志(每个大约500MB),到目前为止,我已经将这些日志复制到中央服务器并编写GUI并直接监视这些复制的日志文件。
我设置Kafka并使用fluent-bit成功地将日志复制到每个服务器的分区,这看起来效果非常好。
我在客户端有点困惑,因为我只关心每天的数据(我的每个源日志文件都有文件名中的日期)。
通常最好在一天结束时删除我的所有kafka主题吗?我知道kafka内置了每个客户端偏移跟踪,但我不想承担任何风险,而且,我从一开始就看不到引导程序的重点。< / p>
另一种方法可能是将日期添加到主题名称?所以我基本上每天要创建20个新主题。我认为这样做的好处是它几乎可以保证我的数据仅适用于那一天。前几天也是&#39;数据也可用,我可以在一周或一个月后删除这些主题。
我的客户流程包括:
或许卡夫卡可能不是最好的解决方案?
答案 0 :(得分:0)
为什么不使用Elasticsearch和Kibana? (可选择Filebeat而不是Fluentd)
Kafka Connect实时转储数据,您从Kibana切片数据以按天或其他方式进行搜索。创建可以每天实时或几次更新的Kibana仪表板
除非您在fluent-bit中设置一些基于动态时间的路由,否则不要删除Kafka主题。默认情况下,Kafka有一周的保留数据,但您可以设置主题以保留24小时的数据
但是,卡夫卡在这里甚至不需要。查找“EFK堆栈”,Elastic,Fluentd,Kibana,或者如果使用Beats,您可以删除对Fluentd的需求
另外,使用最近的Elastic XPack开放版本,您可以设置搜索警报并在数据中进行异常检测