emmett 0.1.0

A simple ETL tool.
Documentation

Note: This project is currently under heavy development, and contributors are welcome! Feedback is also greatly appreciated.

About

emmett is an ETL tool with the goal of serving as a drop-in Logstash replacement as well as providing added / improved features.

emmett is written in Rust and uses Tokio, which means:

  • Blazing fast ⚡⚡⚡
  • Very small resource requirements (currently needs less than 3 MB RAM for simple pipelines)
  • No garbage collector == better and more consistent performance
  • Completely asynchronous - plugins operate independently of one another
  • Multithreaded and work-stealing
  • No need to install Java

Usage

emmett uses TOML for configuration, and can also parse Logstash configuration files.

The Logstash configuration file parser is currently on hold until the plugins themselves become more stable. Merge requests are always welcome though!

# This is an emmett config file.

[input.stdin]

[filter.grok]
match = { message = "%{COMBINEDAPACHELOG}" }
    
[filter.date]
match = [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]	

[output.stdout]
codec = "rubydebug"

[output.elasticsearch]
hosts = ["localhost:9200"]