rticommunity / telegraf

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Installation:

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 https://github.com/rticommunity/telegraf.git
    
  3. Run make from the source directory
    cd telegraf
    make
    

Changelog

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 https://github.com/rticommunity/rticonnextdds-connector-go.git
$ 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.

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

About

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

License:MIT License


Languages

Language:Go 99.0%Language:Python 0.6%Language:Shell 0.2%Language:Ragel 0.2%Language:Makefile 0.1%Language:Dockerfile 0.0%Language:Ruby 0.0%