Giter Site home page Giter Site logo

evro23x / file.d Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ozontech/file.d

0.0 1.0 0.0 381 KB

A blazing fast tool for building data pipelines: read, process and output events.

Home Page: https://ozonru.github.io/file.d

License: Other

Dockerfile 0.03% Makefile 0.35% Go 99.34% HTML 0.28%

file.d's Introduction

file.d

Overview

file.d is a blazing fast tool for building data pipelines: read, process, and output events. Primarily developed to read from files, but also supports numerous input/action/output plugins.

โš  Although we use it in production, it still isn't v1.0.0. Please, test your pipelines carefully on dev/stage environments.

Motivation

Well, we already have several similar tools: vector, filebeat, logstash, fluend-d, fluent-bit, etc.

Performance tests state that best ones achieve a throughput of roughly 100MB/sec. Guys, it's 2020 now. HDDs and NICs can handle the throughput of a few GB/sec and CPUs processes dozens of GB/sec. Are you sure 100MB/sec is what we deserve? Are you sure it is fast?

Main features

  • Fast: more than 10x faster compared to similar tools
  • Predictable: it uses pooling, so memory consumption is limited
  • Reliable: doesn't lose data due to commitment mechanism
  • Container / cloud / kubernetes native
  • Simply configurable with YAML
  • Prometheus-friendly: transform your events into metrics on any pipeline stage
  • Vault-friendly: store sensitive info and get it for any pipeline parameter
  • Well-tested and used in production to collect logs from Kubernetes cluster with 3000+ total CPU cores

Performance

On MacBook Pro 2017 with two physical cores file.d can achieve the following throughput:

  • 1.7GB/s in files > devnull case
  • 1.0GB/s in files > json decode > devnull case

TBD: throughput on production servers.

Plugins

Input: dmesg, fake, file, http, journalctl, k8s, kafka

Action: add_host, convert_date, debug, discard, flatten, join, json_decode, keep_fields, modify, parse_es, parse_re2, remove_fields, rename, throttle

Output: devnull, elasticsearch, gelf, kafka, splunk, stdout

What's next


Generated using insane-doc

file.d's People

Contributors

snyssfx avatar vitkovskii avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.