logkafka是一个日志收集代理,可以按行收集日志文件并发送到kafka 0.8,每行为一条消息。
在生产环境部署之前请查看一下FAQ。
通过zookeeper来管理日志收集相关配置
支持包含时间格式的日志路径
日志文件轮转
批量发送
压缩 (none, gzip, snappy)
消息正则过滤器
用户自定义分隔符
用户自定义监控
与 flume , fluentd , logstash 区别:
flume, fluentd, logstash需要在日志所在机器添加日志收集配置项,并在本地启动服务,用于管理日志配置项和状态。
logkafka将日志收集配置和收集状态保存在zookeeper节点中:logkafka监控相应的节点,当配置变动时,logkafka会自 动拉取最新的日志配置项;logkafka会将所收集文件内的当前偏移记录在本地文件中,并定期将收集的状态信息上传到zookeeper。
flume, fluentd, logstash的INPUT类型中都包含’tail’插件,但这些插件都是对扫描到的所有文件同时进行收集,不会考虑日志文件在时间上的顺序性。
logkafka会按时间顺序扫描新的文件。