logkit是七牛Pandora开发的一个通用的日志收集工具,可以将不同数据源的数据方便的发送到Pandora进行数据分析,除了基本的数据发送功能,logkit还有容错、并发、监控、删除等功能。
logkit详细的文档可以参见WIKI页面。
优势
GO语言编写,性能优良,资源消耗低,跨平台支持。Web支持,提供页面对数据收集、解析、发送过程可视化插件式架构,扩展性强,使用灵活,易于复用。定制化能力强,可以仅使用部分logkit包,以此定制专属收集工具。配置简单,易于上手,可通过页面进行操作管理。原生中文支持,没有汉化烦恼。功能全面,涵盖了包括grok解析、metric收集、字段变化(transform)在内的多种开源软件特点。生态全面,数据发送到七牛的Pandora大数据平台支持包括时序数据库、日志检索以及压缩永久存储等多种数据落地方案。数据收集安全稳定,拥有磁盘队列、内存队列、错误重试、压缩传输、限速限流等多种机制,数据发送不重不漏。集群化,可以通过一个logkit作为master在web管理众多logkit,对整体集群进行管理。支持的数据源
File:读取文件中的日志数据,包括csv格式的文件,kafka-rest日志文件,nginx日志文件等,并支持以grok的方式解析日志。Elasticsearch:读取ElasticSearch中的数据。MongoDB:读取MongoDB中的数据。MySQL:读取MySQL中的数据。MicroSoftSQLServer:读取MicrosoftSQLServer中的数据。PostgreSQL:读取PostgreSQL中的数据。Kafka:读取Kafka中的数据。Redis:读取Redis中的数据。Socket:读取tcp\udp\unixsocket协议中的数据。Http:作为http服务端,接受POST请求发送过来的数据。Script:支持执行脚本,并获得执行结果中的数据。Snmp:主动抓取Snmp服务中的数据。工作方式
logkit本身支持多种数据源,并且可以同时发送多个数据源的数据到Pandora,每个数据源对应一个逻辑上的runner,一个runner负责一个数据源的数据推送,工作原理如下图所示
评论