Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 461 commits ahead, 2773 commits behind influxdata:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status

Telegraf 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.

Telegraf 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

This repository is a fork of Telegraf adding a DDS input plugin (dds_consumer). It is synced up with the Telegraf v1.14 branch.

Minimum Requirements

Telegraf shares the same minimum requirements as Go:

  • Linux kernel version 2.6.23 or later
  • Windows 7 or later
  • FreeBSD 11.2 or later
  • MacOS 10.11 El Capitan or later

Minimum Requirements

Telegraf shares the same minimum requirements as Go:

  • Linux kernel version 2.6.23 or later
  • Windows 7 or later
  • FreeBSD 11.2 or later
  • MacOS 10.11 El Capitan or later


From Source:

Telegraf requires Go version 1.12 or newer, the Makefile requires GNU make.

  1. Install Go >=1.12 (1.13 recommended)
  2. Clone the Telegraf repository:
    git clone
  3. Run make from the source directory
    cd telegraf


View the changelog for the latest updates and changes by version.

Nightly Builds

These builds are generated from the master branch:

How to use it:

Add RTI Connector C library to the library path

RTI Go Connector dynamically links to RTI Connector C library. The path for Connector C library should be included in the environment variable for library path (e.g. LD_LIBRARY_PATH). After you build Telegraf, the RTI C Connector library is checked out under the vendor directory. You can include the path like the following.

$ cd ~/src
$ git clone
$ export LD_LIBRARY_PATH=~/src/rticonnextdds-connector-go/rticonnextdds-connector/lib/linux-x64:$LD_LIBRARY_PATH

See usage with:

./telegraf --help

Generate a telegraf config file:

./telegraf config > telegraf.conf

Run a single telegraf collection, outputing metrics to stdout:

./telegraf --config telegraf.conf --test
telegraf --section-filter agent:inputs:outputs --input-filter cpu --output-filter influxdb config

Generate config with DDS input & influxdb output plugins defined:

./telegraf --input-filter dds_consumer --output-filter influxdb config

Generate a config file with DDS input & file output plugins:

./telegraf --input-filter dds_consumer --output-filter file config > dds_to_file.conf

When you run with dds_consumer plugin, please make sure an XML file for DDS configurations is located at the config_path in your Telegraf TOML config.

Example XML files (e.g. ShapeExample.xml) and Telegraf config files are given under example_configs directory.

./telegraf --config ./example_configs/dds_to_file.conf

Telegraf with the example config will create a DDS DataReader with a "Square" topic. They are all defined in ShapeExample.xml. You can simply test with the RTI Shapes Demo with publishing data with "Square" topic.


Latest Release Documentation.

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

Input Plugins



Processor Plugins

Aggregator Plugins

Output Plugins


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








  • Go 98.9%
  • Python 0.6%
  • Shell 0.2%
  • Ragel 0.2%
  • Makefile 0.1%
  • Dockerfile 0.0%