Skip to content

telemetry aggregation and shipping, last up the ladder

License

Notifications You must be signed in to change notification settings

postmates/cernan

Repository files navigation

Now Archived and Forked

cernan will not be maintained in this repository going forward. Please use, create issues on, and make PRs to the fork of cernan located here.

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.