Skip to content
Brian L. Troutwine edited this page Jan 11, 2017 · 16 revisions

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. As of this writing cernan can ingest from these sources:

  • [graphite](... link to graphite source docs)
  • [statsd](... link to statsd source docs)
  • [on-disk files](... link to files source docs)
  • [native](... link to native source docs)

and emit to these sinks:

Cernan is high-performance, having minimal CPU and memory requirements and is intended to service bursty telemetry without load shedding. Cernan is reliable and convenient to use, both as application engineers and operations staff.

Here are things you might find interesting if you're looking to use cernan in your own infra:

You'll find a full table of contents in the sidebar to this wiki.

Consider the following configuration:

data-directory = "data/"
scripts-directory = "examples/scripts/"

flush-interval = 5

[tags]
service = "really_important"
machine_id = "hopper-compute00"

[sources]
  [sources.statsd.primary]
  enabled = true
  port = 8125
  forwards = ["sinks.console", "sinks.influxdb", "sinks.wavefront"]

  [sources.native_server]
  ip = "127.0.0.1"
  port = 1972
  forwards = ["sinks.influxdb", "sinks.wavefront"]

  [sources.graphite.primary]
  enabled = true
  port = 2004
  forwards = ["filters.collectd_scrub"]

  [sources.graphite.secondary]
  enabled = true
  port = 2005
  forwards = ["sinks.native"]

  [sources.files]
  [sources.files.var_log]
  path = "/var/log/*.log"
  forwards = ["sinks.firehose.stream_one"]

[filters]
  [filters.collectd_scrub]
  script = "collectd_scrub.lua"
  forwards = ["sinks.wavefront"]

[sinks]
  [sinks.console]
  bin_width = 1

  [sinks.wavefront]
  port = 2878
  host = "yourproxy.example.org"
  bin_width = 1

  [sinks.influxdb] 
  port = 8089
  host = "influxdb.example.org"
  bin_width = 1

  [sinks.native]
  host = "cernan.example.org"
  port = 1972

  [sinks.firehose.stream_one]
  delivery_stream = "stream_one"
  batch_size = 800
  region = "us-east-1"

There is... there is a lot going on here. Let's break it down.

data-directory = "data/"
scripts-directory = "examples/scripts/"

flush-interval = 5

[tags]
service = "really_important"
machine_id = "hopper-compute00"