Logkit通用的日志收集工具
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中的数据。
- MicroSoft SQL Server:读取Microsoft SQL Server中的数据。
- Postgre SQL:读取 PostgreSQL 中的数据。
- Kafka:读取Kafka中的数据。
- Redis:读取Redis中的数据。
- Socket:读取tcp\udp\unixsocket协议中的数据。
- Http:作为 http 服务端,接受 POST 请求发送过来的数据。
- Script:支持执行脚本,并获得执行结果中的数据。
- Snmp:主动抓取 Snmp 服务中的数据。
工作方式
logkit本身支持多种数据源,并且可以同时发送多个数据源的数据到Pandora,每个数据源对应一个逻辑上的runner,一个runner负责一个数据源的数据推送,工作原理如下图所示
评论