Skip to content

lavaorg/telex

 
 

Repository files navigation

Telex

Telex is an agent for collecting, processing, aggregating, and writing metrics.

Design goals are to have a minimal memory footprint with a plugin system so that developers in the community can easily add support for collecting metrics.

Telex is plugin-driven and has the concept of 4 distinct plugin types:

  1. Input Plugins collect metrics from the system, services, or 3rd party APIs
  2. Processor Plugins transform, decorate, and/or filter metrics
  3. Aggregator Plugins create aggregate metrics (e.g. mean, min, max, quantiles, etc.)
  4. Output Plugins write metrics to various destinations

New plugins are designed to be easy to contribute, we'll eagerly accept pull requests and will manage the set of plugins that Telex supports.

Contributing

There are many ways to contribute:

Installation:

You can download the binaries directly from the downloads page or from the releases section.

Ansible Role:

Ansible role: https://github.com/rossmcdonald/telex

From Source:

Telex requires golang version 1.9 or newer, the Makefile requires GNU make.

  1. Install Go >=1.9 (1.10 recommended)
  2. Install dep ==v0.5.0
  3. Download Telex source:
    go get -d github.com/lavaorg/telex
    
  4. Run make from the source directory
    cd "$HOME/go/src/github.com/lavaorg/telex"
    make
    

How to use it:

See usage with:

telex --help

Generate a telex config file:

telex config > telex.conf

Generate config with only cpu input & influxdb output plugins defined:

telex --input-filter cpu --output-filter influxdb config

Run a single telex collection, outputing metrics to stdout:

telex --config telex.conf --test

Run telex with all plugins defined in config file:

telex --config telex.conf

Run telex, enabling the cpu & memory input, and influxdb output plugins:

telex --config telex.conf --input-filter cpu:mem --output-filter influxdb

Documentation

[Latest Release Documentation][release docs].

For documentation on the latest development code see the documentation index.

Input Plugins

For inspiration for more plugins please see the orignal https://github.com/influxdata/telegraf project that is the parent of Telex.

Parsers

Serializers

Processor Plugins

Aggregator Plugins

Output Plugins

About

The plugin-driven server agent for collecting & reporting metrics.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 99.4%
  • Other 0.6%