Skip to content
The plugin-driven server agent for collecting & reporting metrics.
Go Other
  1. Go 98.9%
  2. Other 1.1%
Branch: master
Clone or download
Pull request Compare This branch is 125 commits ahead, 221 commits behind influxdata:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
agent
cmd/telegraf
docs
etc
example_configs
filter
internal
logger
metric
plugins
scripts
selfstat
testutil
.gitattributes
.gitignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
README.md
accumulator.go
aggregator.go
appveyor.yml
docker-compose.yml
input.go
metric.go
output.go
processor.go

README.md

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

Installation:

Telegraf requires golang version 1.10 or newer, the Makefile requires GNU make.

  1. Install Go >=1.10 (1.12 recommended)
  2. Install dep ==v0.5.0
  3. Download Telegraf source:
    cd $GOPATH
    mkdir -p src/github.com/influxdata
    cd $GOPATH/src/github.com/influxdata
    git clone https://github.com/rticommunity/telegraf.git
    
  4. Run make from the source directory
    cd "$GOPATH/src/github.com/influxdata/telegraf"
    make
    

How to use it:

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

$ export LD_LIBRARY_PATH=$GOPATH/src/github.com/influxdata/telegraf/vendor/github.com/rticommunity/rticonnextdds-connector-go/rticonnextdds-connector/lib/x64Linux2.6gcc4.4.5:$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

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.

Documentation

Latest Release Documentation.

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

Input Plugins

Parsers

Serializers

Processor Plugins

Aggregator Plugins

Output Plugins

You can’t perform that action at this time.