Logstash:数据管道处理工具,14k Star

Logstash:数据管道处理工具,14k Star
文章目录Logstash数据管道处理工具14k StarLogstash数据管道处理工具14k StarElastic Stack 里有一个专门负责数据处理的组件叫 Logstash目前在 GitHub 上拿到了 14,880 个 Star。Logstash 是 Elastic 公司开源的服务端数据处理管道工具。它能从多个数据源同时接收数据对数据做转换处理然后发送到目标存储系统。Logstash 的核心能力是数据管道编排。它把数据处理拆成三个阶段输入Input、过滤Filter、输出Output。用户通过配置文件定义每个阶段使用的插件就能搭建出一条完整的数据处理流程。输入阶段支持从文件、网络端口、消息队列等多种来源采集数据。过滤阶段可以对数据做解析、转换、过滤等操作。输出阶段把处理好的数据发往 Elasticsearch、文件、消息队列等目标。Logstash 目前有超过 200 个官方插件覆盖了常见的数据源和目标系统。每个插件是一个独立的 Ruby Gem发布在 RubyGems.org 上。用户也可以自己编写插件来扩展功能。插件仓库分布在 GitHub 的 logstash-plugins 组织下各自独立维护。这意味着某个插件的更新不会影响其他插件也不会影响 Logstash 核心。从源码构建 Logstash 需要 JDK 21 和 JRuby 10.0.5.0。构建工具推荐使用 Gradle也可以用 Bundler。安装依赖后执行 gradle 命令就能完成构建。Logstash 的测试体系比较完整。Ruby 部分用 rspecJava 部分用 junit。核心测试、插件测试、集成测试都有对应的 gradle task。开发过程中如果遇到测试挂起的问题可以通过远程调试端口连接 IDE 排查。Logstash 遵循三条项目原则社区层面新手遇到不好的体验算作 bug软件层面先让它跑起来再优化再提速技术层面今天做不了的事明天可以做。这个项目接受各种形式的贡献包括代码、文档、问题报告甚至是随手画的草图。编程能力不是硬性门槛。Logstash 适合需要从多个异构数据源采集数据、统一处理后集中存储的场景。它是 Elastic Stack 数据采集环节的标准方案和 Elasticsearch、Kibana 配合使用效果最好。sticsearch、Kibana 配合使用效果最好。