神策分析提供几种不同的工具,方便用户将各种形式的数据导入系统中。可以根据 运行的环境、源数据的格式 以及 导入数据量的大小,确认使用哪种导入工具。
导入工具
运行环境要求
适用场景及数据类型
优势
劣势
FormatImporter
Python 3 运行环境即可。
用于导入 CSV、MySQL、Oracle、Nginx 日志、符合神策 JSON 格式的日志文件。
灵活,只要装了 Python 3 就能运行;可以作为格式转换器使用,不作为导入工具使用,节省了数据清洗的工作。
导入数据慢,实际是用 Python SDK 的 BatchConsumer 导入数据的。
Integrator Importer
运行在部署神策系统的服务器上,可以用于单机版和集群版,无法在云版上使用。
一般用于批量的导入历史数据,符合神策 JSON 格式的日志文件,一行一个 JSON。
导入速度较 FormatImporter 和 LogAgent 要快。
需要在部署神策系统的服务器上使用。
LogAgent
一般用在客户的业务服务器或生产日志服务器。
用于导入实时数据,符合神策 JSON 格式的日志文件,一行一个 JSON,一般配合神策后端 SDK 的 FileConsumer 来使用。
实时、不重不丢,有进度管理、断点续传,可以读取同一个文件新追加的内容。
Java 程序,耗费系统资源较多;不适用于容器的场景。
Filebeat+Logstash
一般用在客户的业务服务器或生产日志服务器,支持容器化部署。
符合神策 JSON 格式的日志文件,一行一个 JSON,一般用于上报容器化部署的服务端实时数据。
Filebeat+Logstash 成熟的开源工具组合,配置丰富,可以接收多种输入,针对文件型输入,一个组件可同时采集多个目录下的日志,Filebeat 相比 LogAgent 更轻,并且与服务端之间无耦合。
需要对工具有一定的理解,使用的方式五花八门,出现问题不易排查。
