8 releases
0.3.3 | May 23, 2024 |
---|---|
0.3.2 | May 17, 2024 |
0.3.1 | Jan 4, 2023 |
0.2.12 | Dec 17, 2021 |
0.2.9 | Jan 16, 2020 |
#318 in Database interfaces
30 downloads per month
320KB
7.5K
SLoC
New major version: 0.3.0 (2022-03-14)
Breaking Changes
- Migrate from chrono to time as per https://rustsec.org/advisories/RUSTSEC-2020-0071
- String formatting changed from strftime to time custom formatting - see
flowgger.toml
for examples on change
- String formatting changed from strftime to time custom formatting - see
Flowgger is a fast, simple and lightweight data collector written in Rust.
It reads log entries over a given protocol, extracts them, decodes them using a given format, re-encodes them into a different format, and asynchronously pushes the result into a remote data store.
Flowgger is designed to be:
- Paranoid: it carefully validates input data to prevent injection of malformed/incomplete records down the chain.
- Safe: written in Rust, without any
unsafe
code. - Fast: even though messages are systematically parsed and validated, Flowgger is orders of magnitude faster than Logstash and Fluentd.
- Standalone: it comes as a single executable file, and doesn't require a JVM.
Flowgger supports common input types: stdin, UDP, TCP, TLS and Redis, as well as multiple input formats: JSON (GELF), LTSV, Cap'n Proto and RFC5424. Normalized messages can be sent to Kafka, Graylog, to downstream Flowgger servers, or to other log collectors for further processing.
Jump to the Flowgger documentation
Dependencies
~7–36MB
~547K SLoC