Rust Lua Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
benches
examples
resources
src
tests
.gitignore
.rustfmt.toml Formatting changes Jul 11, 2017
.travis.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Cargo.lock
Cargo.toml
Dockerfile
Gene-Cernan-1-578x485.jpg
LICENSE.txt
README.md
build-container.sh
codecov.yml

README.md

cernan - telemetry aggregation and shipping, last up the ladder

Build Status Codecov

Eugene Cernan, Apollo 17 EVA

Cernan is a telemetry and logging aggregation server. It exposes multiple interfaces for ingestion and can emit to multiple aggregation sources while doing in-flight manipulation of data. Cernan has minimal CPU and memory requirements and is intended to service bursty telemetry without load shedding. Cernan aims to be reliable and convenient to use, both for application engineers and operations staff.

Why you might choose to use cernan:

  • You need to ingest telemetry from multiple protocols.
  • You need to multiplex telemetry over aggregation services.
  • You want to convert log lines into telemetry.
  • You want to convert telemetry into log lines.
  • You want to transform telemetry or log lines in-flight.

If you'd like to learn more, please do have a look in our wiki.

Quickstart

To build cernan you will need to have Rust. This should be as simple as:

> curl -sSf https://static.rust-lang.org/rustup.sh | sh

Once Rust is installed, from the root of this project run:

> cargo run -- --config examples/configs/quickstart.toml

and you're good to go. Cernan will report to stdout what ports it is now listening on. If you would like to debug your service--to determine if the telemetry you intend is issued--run cernan like:

> cargo run -- -vvvv --config examples/configs/quickstart.toml

and full trace output will be reported to stdout.

Usage

The cernan server has a few command-line toggles to control its behaviour:

-C, --config <config>    The config file to feed in.
-v               Turn on verbose output.

The verbose flag -v allows multiples, each addition cranking up the verbosity by one. So:

  • -v -- error, warning
  • -vv -- error, warning, info
  • -vvv -- error, warning, info, debug
  • -vvvv -- error, warning, info, debug, trace

License

cernan is copyright © 2017-2018 Postmates, Inc and released to the public under the terms of the MIT license.