Skip to content

Commit

Permalink
Merge pull request #321 from influxdata/update-telegraf-11
Browse files Browse the repository at this point in the history
Telegraf 0.11 docs
  • Loading branch information
Regan Kuchan committed Mar 19, 2016
2 parents eac9a38 + 33e55ed commit e236f5b
Show file tree
Hide file tree
Showing 11 changed files with 699 additions and 4 deletions.
403 changes: 403 additions & 0 deletions config.toml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion content/telegraf/v0.10/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ menu:
telegraf:
name: v0.10
identifier: telegraf_010
weight: 0
weight: 10
---

Telegraf is a plugin-driven server agent for collecting & reporting metrics. Telegraf has plugins to source a variety of metrics directly from the system it's running on, pull metrics from third party APIs, or even listen for metrics via a statsd and Kafka consumer services. It also has output plugins to send metrics to a variety of other datastores, services, and message queues, including InfluxDB, Graphite, OpenTSDB, Datadog, Librato, Kafka, MQTT, NSQ, and many others.
Expand Down
21 changes: 21 additions & 0 deletions content/telegraf/v0.11/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Telegraf Version 0.11 Documentation

menu:
telegraf:
name: v0.11
identifier: telegraf_011
weight: 0
---

Telegraf is a plugin-driven server agent for collecting & reporting metrics. Telegraf has plugins to source a variety of metrics directly from the system it's running on, pull metrics from third party APIs, or even listen for metrics via a statsd and Kafka consumer services. It also has output plugins to send metrics to a variety of other datastores, services, and message queues, including InfluxDB, Graphite, OpenTSDB, Datadog, Librato, Kafka, MQTT, NSQ, and many others.

## Key Features

Here are some of the features that Telegraf currently supports and make it a great choice for metrics collection.

* Written entirely in Go.
It compiles into a single binary with no external dependencies.
* Minimal memory footprint.
* Plugin system allows new inputs and outputs to be easily added.
* A wide number of plugins for many popular services already exist for well known services and APIs.
64 changes: 64 additions & 0 deletions content/telegraf/v0.11/inputs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: Supported Input Plugins

menu:
telegraf_011:
name: Input Plugins
identifier: inputs
weight: 20
---

Telegraf is entirely input driven. It gathers all metrics from the inputs specified in the configuration file.

## Usage Instructions

View usage instructions for each input by running `telegraf -usage <input-name>`.

## Supported Input Plugins

* [Aerospike](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/aerospike)
* [Apache](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/apache)
* [bcache](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/bcache)
* [CouchDB](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/couchdb)
* [Disque](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/disque)
* [DNS Query Time](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/dns_query)
* [Docker](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/docker)
* [Dovecot](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/dovecot)
* [Elasticsearch](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/elasticsearch)
* [exec](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec) (generic JSON-emitting executable plugin)
* [HAProxy](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/haproxy)
* [HTTPJSON](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/httpjson) (generic JSON-emitting http service plugin)
* [InfluxDB](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/influxdb)
* [Jolokia](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia) (remote JMX with JSON over HTTP)
* [LeoFS](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/leofs)
* [Lustre2](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/lustre2)
* [Mailchimp](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mailchimp)
* [Memcached](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/memcached)
* [Mesos](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mesos)
* [MongoDB](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mongodb)
* [MySQL](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mysql)
* [NGINX](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nginx)
* [NSQ](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nsq)
* [NTPQ](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ntpq)
* [PHP-FPM](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/phpfpm)
* [Phusion Passenger](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/passenger)
* [ping](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ping)
* [PostgreSQL](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/postgresql)
* [PowerDNS](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/powerdns)
* [procstat](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/procstat)
* [Prometheus](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/prometheus)
* [Puppet Agent](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/puppetagent)
* [RabbitMQ](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/rabbitmq)
* [raindrops](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/raindrops)
* [Redis](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/redis)
* [RethinkDB](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/rethinkdb)
* [Riak](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/riak)
* [sensors](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sensors)
* [snmp](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/snmp)
* [SQL server (Microsoft)](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sqlserver)
* [system](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/system) (cpu, mem, net, netstat, disk, diskio, swap)
* [trig](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/trig)
* [twemproxy (nutcracker)](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/twemproxy)
* [Windows performance counters](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/win_perf_counters)
* [ZFS](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/zfs)
* [Zookeeper](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/zookeeper)
23 changes: 23 additions & 0 deletions content/telegraf/v0.11/introduction/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: Configuring Telegraf

menu:
telegraf_011:
name: Configuring Telegraf
weight: 10
parent: introduction
---

## Configuring Telegraf

### Create a configuration file with every input and output
```
telegraf -sample-config > telegraf.conf
```

### Create a configuration file with specific inputs and outputs
```
telegraf -sample-config -input-filter <pluginname>[:<pluginname>] -output-filter <outputname>[:<outputname>] > telegraf.conf
```

> **Note:** In most cases, you will need to edit the configuration file to match your needs.
122 changes: 122 additions & 0 deletions content/telegraf/v0.11/introduction/getting-started-telegraf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
title: Getting Started with Telegraf

menu:
telegraf_011:
name: Getting Started
weight: 0
parent: introduction
---

## Getting Started with Telegraf
Telegraf is an agent written in Go for collecting metrics and writing them into InfluxDB or other possible outputs.
This guide will get you up and running with Telegraf.
It walks you through the download, installation, and configuration processes, and it shows how to use Telegraf to get data into InfluxDB.

## Download and Install Telegraf
Follow the instructions in the Telegraf section on the [Downloads page](https://influxdata.com/downloads/).

> **Note:** Telegraf will start automatically using the default configuration when installed from a deb package.
## Configuration
### Configuration file location by installation type

* OS X [Homebrew](http://brew.sh/): `/usr/local/etc/telegraf.conf`
* Linux debian and RPM packages: `/etc/telegraf/telegraf.conf`
* Standalone Binary: see the next section for how to create a configuration file

### Creating and Editing the Configuration File
Before starting the Telegraf server you need to edit and/or create an initial configuration that specifies your desired [inputs](/telegraf/v0.11/inputs/) (where the metrics come from) and [outputs](/telegraf/v0.11/outputs/) (where the metrics go). There are [several ways](/telegraf/v0.11/introduction/configuration/) to create and edit the configuration file.
Here, we'll generate a configuration file and simultaneously specify the desired inputs with the `-input-filter` flag and the desired output with the `-output-filter` flag.

In the example below, we create a configuration file called `telegraf.conf` with two inputs:
one that reads metrics about the system's cpu usage (`cpu`) and one that reads metrics about the system's memory usage (`mem`). `telegraf.conf` specifies InfluxDB as the desired output.

```bash
telegraf -sample-config -input-filter cpu:mem -output-filter influxdb > telegraf.conf
```

## Start the Telegraf Server
Start the Telegraf server and direct it to the relevant configuration file:
### OS X [Homebrew](http://brew.sh/)
```bash
telegraf -config telegraf.conf
```

### Linux debian and RPM packages
```bash
sudo service telegraf start
```

### Ubuntu 15+
```bash
systemctl start telegraf
```

## Results
Once Telegraf is up and running it'll start collecting data and writing them to the desired output.

Returning to our sample configuration, we show what the `cpu` and `mem` data look like in InfluxDB below.
Note that we used the default input and output configuration settings to get these data.

* List all [measurements](https://docs.influxdata.com/influxdb/v0.10/concepts/glossary/#measurement) in the `telegraf` [database](https://docs.influxdata.com/influxdb/v0.10/concepts/glossary/#database):

```bash
> SHOW MEASUREMENTS
name: measurements
------------------
name
cpu
mem
```

* List all [field keys](https://docs.influxdata.com/influxdb/v0.10/concepts/glossary/#field-key) by measurement:

```bash
> SHOW FIELD KEYS
name: cpu
---------
fieldKey
usage_guest
usage_guest_nice
usage_idle
usage_iowait
usage_irq
usage_nice
usage_softirq
usage_steal
usage_system
usage_user

name: mem
---------
fieldKey
available
available_percent
buffered
cached
free
total
used
used_percent
```

* Select a sample of the data in the [field](https://docs.influxdata.com/influxdb/v0.10/concepts/glossary/#field) `usage_idle` in the measurement `cpu_usage_idle`:

```bash
> SELECT usage_idle FROM cpu WHERE cpu = 'cpu-total' LIMIT 5
name: cpu
---------
time usage_idle
2016-01-16T00:03:00Z 97.56189047261816
2016-01-16T00:03:10Z 97.76305923519121
2016-01-16T00:03:20Z 97.32533433320835
2016-01-16T00:03:30Z 95.68857785553611
2016-01-16T00:03:40Z 98.63715928982245
```


Notice that the timestamps occur at rounded ten second intervals (that is, `:00`, `:10`, `:20`, and so on) - this is a configurable setting.


That's it! You now have the foundation for using Telegraf to collect metrics and write them to your output of choice.
9 changes: 9 additions & 0 deletions content/telegraf/v0.11/introduction/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Introduction

menu:
telegraf_011:
name: Introduction
identifier: introduction
weight: 0
---
28 changes: 28 additions & 0 deletions content/telegraf/v0.11/outputs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: Supported Outputs

menu:
telegraf_011:
name: Output Plugins
identifier: outputs
weight: 10
---

Telegraf allows users to specify multiple output sinks in the configuration file.

## Supported Output Plugins List

* [InfluxDB](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/influxdb)
* [amon](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/amon)
* [AMQP](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/amqp)
* [Amazon CloudWatch](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/cloudwatch)
* [Datadog](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/datadog)
* [Graphite](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/graphite)
* [Kafka](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/kafka)
* [Amazon Kinesis](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/kinesis)
* [Librato](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/librato)
* [MQTT](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/mqtt)
* [NSQ](ghttps://ithub.com/influxdata/telegraf/tree/master/plugins/outputs/nsq)
* [OpenTSDB](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/opentsdb)
* [Prometheus](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/prometheus_client)
* [Riemann](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/riemann)
25 changes: 25 additions & 0 deletions content/telegraf/v0.11/services/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Supported Service Inputs

menu:
telegraf_011:
name: Service Inputs
identifier: services
weight: 30
---

Telegraf is entirely input driven. It gathers all metrics from the inputs specified in the configuration file.

## Usage Instructions

View usage instructions for each service input by running `telegraf -usage <service-input-name>`.

## Supported Service Plugin List

* [Kafka Consumer](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/kafka_consumer)
* [GitHub Webhooks](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/github_webhooks)
* [MQTT Consumer](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mqtt_consumer)
* [NATS Consumer](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nats_consumer)
* [StatsD](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/statsd)
* [TCP Listener](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/tcp_listener)
* [UDP Listener](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/udp_listener)
2 changes: 1 addition & 1 deletion content/telegraf/v0.2/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ menu:
telegraf:
name: v0.2
identifier: telegraf_02
weight: 0
weight: 20
---

The Telegraf documentation is currently under construction.
4 changes: 2 additions & 2 deletions data/default_versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
telegraf = "telegraf_010"
telegraf_semver = "v0.10"
telegraf = "telegraf_011"
telegraf_semver = "v0.11"
influxdb = "influxdb_010"
influxdb_semver = "v0.10"
chronograf = "chronograf_010"
Expand Down

0 comments on commit e236f5b

Please sign in to comment.