Crates.io | emmett |
lib.rs | emmett |
version | 0.1.3-alpha |
source | src |
created_at | 2019-06-25 23:49:37.242253 |
updated_at | 2019-06-27 01:01:44.103754 |
description | a simple etl tool |
homepage | https://gitlab.com/andrewbanchich/emmett |
repository | https://github.com/andrewbanchich/emmett |
max_upload_size | |
id | 143612 |
size | 142,512 |
emmett is a unified logging layer 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:
emmett currently uses TOML for configuration, but will be able to parse Logstash configuration files as well as other formats like JSON in the future.
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.
[[inputs]]
[inputs.http_poller]
request_timeout = 60
schedule = { cron = "* * * * * UTC" }
codec = "json"
metadata_target = "http_poller_metadata"
truststore = "/path/to/downloaded_truststore.jks"
truststore_password = "mypassword"
[[inputs.http_poller.urls]]
test1 = "https://jsonplaceholder.typicode.com/posts/1"
[[filters]]
[filters.mutate]
replace = { "id" = "yo dawg" }
copy = { "title" = "titleCopy" }
strip = ["body"]
split = { "body" = "\n", "titleCopy" = " repellat " }
capitalize = ["titleCopy"]
join = { "body" = " ... "}
[filters.json]
source = "jsonString"
target = "jsonString"
[filters.date]
match = [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
[[outputs]]
[outputs.elasticsearch]
hosts = ["localhost:9200"]