Crate cernan [] [src]

Cernan is a telemetry and logging aggregation server. It exposes multiple interfaces for ingestion and can emit to mutiple 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.

Modules

buckets

Buckets are the primary internal storage type.

config

Provides the CLI option parser

constants

Library level constants

filter

Transform or create metric::Event from a stream of metric::Event.

http

Tiny, unassuming HTTP Server

matrix

Collection of matrix implementations.

metric

metric is a collection of the abstract datatypes that cernan operates over, plus related metadata. The main show here is metric::Event. Everything branches down from that.

protocols

The input protocols that cernan must parse. Not all sources are reflected here. These modules are used by the sources to do their work.

sink

A 'sink' is a final destination for telemetry and log lines. That is, a 'sink' is that which is at the end of a source -> filter -> filter -> ... -> sink chain. The sink has no obligations with regard to the telemetry and log lines it receives, other than to receive them. Individual sinks make different choices.

source

Staging ground for all sources

thread

Mio enabled threading library.

time

Collection of time utilities for cernan

util

Utility module, a grab-bag of functionality