metrics_distributor

Crates.iometrics_distributor
lib.rsmetrics_distributor
version0.5.3
sourcesrc
created_at2016-02-25 23:57:41.47592
updated_at2020-04-24 04:16:38.904862
descriptionIngest logs and forward aggregated data to APIs/services.
homepage
repositoryhttps://github.com/dirk/metrics_distributor
max_upload_size
id4292
size87,489
Dirk Gadsden (dirk)

documentation

https://docs.rs/metrics_distributor

README

Build Status

Metrics Distributor

Metrics distributor is a Rust library for streamlining the creation and operation of metrics aggregation services. You can use it to build a simple, multi-protocol collection and forwarding service for your metrics.

Distributors can collect over a number of protocols and formats:

They can then forward aggregated metrics over a number of protocols:

Building on macOS

The system OpenSSL on macOS is too outdated. To use the one installed by Homebrew, run the following commands before building:

export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib
export LDFLAGS=-L`brew --prefix openssl`/lib

Configuration

Distributor uses code as configuration. Rather than parsing a configuration format, you configure your service by composing collectors and forwarders. This means you get the added advantage of the powerful Rust compiler checking your "configuration" for correctness and that it's very easy to customize or create entirely new collections/forwarders.

See the examples/ folder for some common configurations:

It turns out that the number of lines needed to set up a few collectors and forwarders in code is almost exactly the same as you would need with YAML/TOML/etc.

License

Licensed under the 3-clause BSD license. See LICENSE for details.

Commit count: 131

cargo fmt