Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Graphite output #494

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
56509a6
Change 0.3.0 -> 0.10.0
sparrc Jan 9, 2016
2ec1ffd
Fix Telegraf s3 upload and readme links
sparrc Jan 11, 2016
fb837ca
Add 0.10.0 blog post link to README
sparrc Jan 14, 2016
3c89847
internal: FlattenJSON, flatten arrays as well
psilva261 Jan 12, 2016
3cc1fec
Ping input doesn't return response time metric when timeout
titilambert Jan 11, 2016
7531e21
build.py: Make build script work on both Python2.x and Python3.x
Ormod Jan 12, 2016
923be10
Align exec documentation with v0.10 updates
Jan 14, 2016
a39a7a7
Add an interface:"all" tag to the net protocol counters
sparrc Jan 14, 2016
d6ef3b1
Note on where to look for plugin information
Jan 14, 2016
e8907ac
Update Godeps and fix changelog 2014->2016
sparrc Jan 15, 2016
7bfb429
Switched to /etc/debian_version for Debian/Ubuntu distribution recogn…
Jan 15, 2016
b44644b
Add response time to httpjson plugin
titilambert Jan 8, 2016
c0d98ec
Added initial support for gosensors module
md14454 Jan 14, 2016
378b746
Fixed an unused variable
md14454 Jan 14, 2016
9b96c62
Change build configuration to linux only
md14454 Jan 15, 2016
2eda8d6
Added infor to readme and changelog
md14454 Jan 15, 2016
963a942
Tweak changelog for sensors plugin, and add a non-linux build file
sparrc Jan 15, 2016
50334e6
Only compile the sensors plugin if the 'sensors' tag is set
sparrc Jan 15, 2016
f60c090
Add a quiet mode to telegraf
sparrc Jan 15, 2016
b24e71b
Removing old package script, trim Makefile
sparrc Jan 15, 2016
71f4e72
interval options should have string value
Jan 15, 2016
5e7dd6d
Merge pull request #533 from influxdata/fix-interval-option-v0.10
Jan 15, 2016
1421bce
Update README.md
Jan 15, 2016
40a5bad
Update procstat doc
sparrc Jan 15, 2016
c483e16
Add option to disable statsd name conversion
sparrc Jan 15, 2016
e12d9f9
Add Graphite output
titilambert Jan 8, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
## v0.3.0 [unreleased]
## v0.10.1 [unreleased]

### Features
- [#509](https://github.com/influxdb/telegraf/pull/509): Flatten JSON arrays with indices. Thanks @psilva261!
- [#512](https://github.com/influxdata/telegraf/pull/512): Python 3 build script, add lsof dep to package. Thanks @Ormod!
- [#475](https://github.com/influxdata/telegraf/pull/475): Add response time to httpjson plugin. Thanks @titilambert!
- [#519](https://github.com/influxdata/telegraf/pull/519): Added a sensors input based on lm-sensors. Thanks @md14454!
- [#467](https://github.com/influxdata/telegraf/issues/467): Add option to disable statsd measurement name conversion.

### Bugfixes
- [#506](https://github.com/influxdb/telegraf/pull/506): Ping input doesn't return response time metric when timeout. Thanks @titilambert!
- [#508](https://github.com/influxdb/telegraf/pull/508): Fix prometheus cardinality issue with the `net` plugin

## v0.10.0 [2016-01-12]

### Release Notes
- Linux packages have been taken out of `opt`, the binary is now in `/usr/bin`
Expand All @@ -23,7 +36,7 @@ aggregated).

### Packaging change note:

RHEL/CentOS users upgrading from 0.2 to 0.3 will probably have their
RHEL/CentOS users upgrading from 0.2.x to 0.10.0 will probably have their
configurations overwritten by the upgrade. There is a backup stored at
/etc/telegraf/telegraf.conf.$(date +%s).backup.

Expand Down
30 changes: 15 additions & 15 deletions Godeps
Original file line number Diff line number Diff line change
Expand Up @@ -3,50 +3,50 @@ github.com/Shopify/sarama d37c73f2b2bce85f7fa16b6a550d26c5372892ef
github.com/Sirupsen/logrus 446d1c146faa8ed3f4218f056fcd165f6bcfda81
github.com/amir/raidman 6a8e089bbe32e6b907feae5ba688841974b3c339
github.com/armon/go-metrics 345426c77237ece5dab0e1605c3e4b35c3f54757
github.com/aws/aws-sdk-go f09322ae1e6468fe828c862542389bc45baf3c00
github.com/aws/aws-sdk-go c4c1a1a2a076858fe18b2be674d833c796c45b09
github.com/beorn7/perks b965b613227fddccbfffe13eae360ed3fa822f8d
github.com/boltdb/bolt 34a0fa5307f7562980fb8e7ff4723f7987edf49b
github.com/boltdb/bolt 6465994716bf6400605746e79224cf1e7ed68725
github.com/cenkalti/backoff 4dc77674aceaabba2c7e3da25d4c823edfb73f99
github.com/dancannon/gorethink a124c9663325ed9f7fb669d17c69961b59151e6e
github.com/dancannon/gorethink ff457cac6a529d9749d841a733d76e8305cba3c8
github.com/davecgh/go-spew 5215b55f46b2b919f50a1df0eaa5886afe4e3b3d
github.com/eapache/go-resiliency b86b1ec0dd4209a588dc1285cdd471e73525c0b3
github.com/eapache/queue ded5959c0d4e360646dc9e9908cff48666781367
github.com/fsouza/go-dockerclient 175e1df973274f04e9b459a62cffc49808f1a649
github.com/fsouza/go-dockerclient 2fb7694010aa553998ed513dc8805ab00708077a
github.com/go-ini/ini afbd495e5aaea13597b5e14fe514ddeaa4d76fc3
github.com/go-sql-driver/mysql 7a8740a6bd8feb6af5786ab9a9f1513970019d8c
github.com/gogo/protobuf 7b1331554dbe882cb3613ee8f1824a5583627963
github.com/go-sql-driver/mysql 6fd058ce0d6b7ee43174e80d5a3e7f483c4dfbe5
github.com/gogo/protobuf c57e439bad574c2e0877ff18d514badcfced004d
github.com/golang/protobuf 2402d76f3d41f928c7902a765dfc872356dd3aad
github.com/golang/snappy 723cc1e459b8eea2dea4583200fd60757d40097a
github.com/gonuts/go-shellquote e842a11b24c6abfb3dd27af69a17f482e4b483c2
github.com/hailocab/go-hostpool 50839ee41f32bfca8d03a183031aa634b2dc1c64
github.com/hashicorp/go-msgpack fa3f63826f7c23912c15263591e65d54d080b458
github.com/hashicorp/raft d136cd15dfb7876fd7c89cad1995bc4f19ceb294
github.com/hashicorp/raft-boltdb d1e82c1ec3f15ee991f7cc7ffd5b67ff6f5bbaee
github.com/influxdb/influxdb bd63489ef0faae2465ae5b1f0a28bd7e71e02e38
github.com/influxdb/influxdb db84a6ed76353905432ff8bd91527c68b3ea1be6
github.com/jmespath/go-jmespath c01cf91b011868172fdcd9f41838e80c9d716264
github.com/klauspost/crc32 a3b15ae34567abb20a22992b989cd76f48d09c47
github.com/lib/pq 11fc39a580a008f1f39bb3d11d984fb34ed778d9
github.com/klauspost/crc32 999f3125931f6557b991b2f8472172bdfa578d38
github.com/lib/pq 8ad2b298cadd691a77015666a5372eae5dbfac8f
github.com/matttproud/golang_protobuf_extensions d0c3fe89de86839aecf2e0579c40ba3bb336a453
github.com/mreiferson/go-snappystream 028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504
github.com/naoina/go-stringutil 6b638e95a32d0c1131db0e7fe83775cbea4a0d0b
github.com/naoina/toml 751171607256bb66e64c9f0220c00662420c38e9
github.com/nsqio/go-nsq 2118015c120962edc5d03325c680daf3163a8b5f
github.com/pborman/uuid dee7705ef7b324f27ceb85a121c61f2c2e8ce988
github.com/pmezard/go-difflib e8554b8641db39598be7f6342874b958f12ae1d4
github.com/pmezard/go-difflib 792786c7400a136282c1664665ae0a8db921c6c2
github.com/prometheus/client_golang 67994f177195311c3ea3d4407ed0175e34a4256f
github.com/prometheus/client_model fa8ad6fec33561be4280a8f0514318c79d7f6cb6
github.com/prometheus/common 0a3005bb37bc411040083a55372e77c405f6464c
github.com/prometheus/procfs 406e5b7bfd8201a36e2bb5f7bdae0b03380c2ce8
github.com/samuel/go-zookeeper 218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f
github.com/shirou/gopsutil ef151b7ff7fe76308f89a389447b7b78dfa02e0f
github.com/shirou/gopsutil 8850f58d7035653e1ab90711481954c8ca1b9813
github.com/streadway/amqp b4f3ceab0337f013208d31348b578d83c0064744
github.com/stretchr/objx 1a9d0bb9f541897e62256577b352fdbc1fb4fd94
github.com/stretchr/testify c92828f29518bc633893affbce12904ba41a7cfa
github.com/stretchr/testify f390dcf405f7b83c997eac1b06768bb9f44dec18
github.com/wvanbergen/kafka 1a8639a45164fcc245d5c7b4bd3ccfbd1a0ffbf3
github.com/wvanbergen/kazoo-go 0f768712ae6f76454f987c3356177e138df258f8
golang.org/x/crypto f23ba3a5ee43012fcb4b92e1a2a405a92554f4f2
golang.org/x/net 520af5de654dc4dd4f0f65aa40e66dbbd9043df1
gopkg.in/dancannon/gorethink.v1 a124c9663325ed9f7fb669d17c69961b59151e6e
golang.org/x/crypto 3760e016850398b85094c4c99e955b8c3dea5711
golang.org/x/net 99ca920b6037ef77af8a11297150f7f0d8f4ef80
gopkg.in/dancannon/gorethink.v1 e2cef022d0495329dfb0635991de76efcab5cf50
gopkg.in/fatih/pool.v2 cba550ebf9bce999a02e963296d4bc7a486cb715
gopkg.in/mgo.v2 e30de8ac9ae3b30df7065f766c71f88bba7d4e49
gopkg.in/yaml.v2 f7716cbe52baa25d2e9b0d0da546fcf909fc16b4
12 changes: 0 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,6 @@ dev: prepare
"-X main.Version=$(VERSION)" \
./cmd/telegraf/telegraf.go

# Build linux 64-bit, 32-bit and arm architectures
build-linux-bins: prepare
GOARCH=amd64 GOOS=linux go build -o telegraf_linux_amd64 \
-ldflags "-X main.Version=$(VERSION)" \
./cmd/telegraf/telegraf.go
GOARCH=386 GOOS=linux go build -o telegraf_linux_386 \
-ldflags "-X main.Version=$(VERSION)" \
./cmd/telegraf/telegraf.go
GOARCH=arm GOOS=linux go build -o telegraf_linux_arm \
-ldflags "-X main.Version=$(VERSION)" \
./cmd/telegraf/telegraf.go

# Get dependencies and use gdm to checkout changesets
prepare:
go get ./...
Expand Down
30 changes: 19 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,18 @@ new plugins.

## Installation:

NOTE: Telegraf 0.3.x is **not** backwards-compatible with previous versions of
telegraf, both in the database layout and the configuration file. 0.2.x will
continue to be supported, see below for download links.
NOTE: Telegraf 0.10.x is **not** backwards-compatible with previous versions
of telegraf, both in the database layout and the configuration file. 0.2.x
will continue to be supported, see below for download links.

TODO: link to blog post about 0.3.x changes.
For more details on the differences between Telegraf 0.2.x and 0.10.x, see
the [release blog post](https://influxdata.com/blog/announcing-telegraf-0-10-0/).

### Linux deb and rpm packages:

Latest:
* http://get.influxdb.org/telegraf/telegraf_0.3.0_amd64.deb
* http://get.influxdb.org/telegraf/telegraf-0.3.0-1.x86_64.rpm
* http://get.influxdb.org/telegraf/telegraf_0.10.0-1_amd64.deb
* http://get.influxdb.org/telegraf/telegraf-0.10.0-1.x86_64.rpm

0.2.x:
* http://get.influxdb.org/telegraf/telegraf_0.2.4_amd64.deb
Expand All @@ -45,9 +46,9 @@ controlled via `systemctl [action] telegraf`
### Linux binaries:

Latest:
* http://get.influxdb.org/telegraf/telegraf_linux_amd64_0.3.0.tar.gz
* http://get.influxdb.org/telegraf/telegraf_linux_386_0.3.0.tar.gz
* http://get.influxdb.org/telegraf/telegraf_linux_arm_0.3.0.tar.gz
* http://get.influxdb.org/telegraf/telegraf-0.10.0_linux_amd64.tar.gz
* http://get.influxdb.org/telegraf/telegraf-0.10.0_linux_386.tar.gz
* http://get.influxdb.org/telegraf/telegraf-0.10.0_linux_arm.tar.gz

0.2.x:
* http://get.influxdb.org/telegraf/telegraf_linux_amd64_0.2.4.tar.gz
Expand Down Expand Up @@ -84,7 +85,7 @@ if you don't have it already. You also must build with golang version 1.4+.

```console
$ telegraf -help
Telegraf, The plugin-driven server agent for reporting metrics into InfluxDB
Telegraf, The plugin-driven server agent for collecting and reporting metrics.

Usage:

Expand All @@ -99,6 +100,8 @@ The flags are:
-input-filter filter the input plugins to enable, separator is :
-output-filter filter the output plugins to enable, separator is :
-usage print usage for a plugin, ie, 'telegraf -usage mysql'
-debug print metrics as they're generated to stdout
-quiet run in quiet mode
-version print the version to stdout

Examples:
Expand Down Expand Up @@ -126,7 +129,11 @@ configuration options.

## Supported Input Plugins

Telegraf currently has support for collecting metrics from:
Telegraf currently has support for collecting metrics from many sources. For
more information on each, please look at the directory of the same name in
`plugins/inputs`.

Currently implemented sources:

* aerospike
* apache
Expand Down Expand Up @@ -157,6 +164,7 @@ Telegraf currently has support for collecting metrics from:
* twemproxy
* zfs
* zookeeper
* sensors
* system
* cpu
* mem
Expand Down
27 changes: 17 additions & 10 deletions agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,10 @@ func (a *Agent) gatherParallel(pointChan chan *client.Point) error {
wg.Wait()

elapsed := time.Since(start)
log.Printf("Gathered metrics, (%s interval), from %d inputs in %s\n",
a.Config.Agent.Interval.Duration, counter, elapsed)
if !a.Config.Agent.Quiet {
log.Printf("Gathered metrics, (%s interval), from %d inputs in %s\n",
a.Config.Agent.Interval.Duration, counter, elapsed)
}
return nil
}

Expand All @@ -149,8 +151,10 @@ func (a *Agent) gatherSeparate(
}

elapsed := time.Since(start)
log.Printf("Gathered metrics, (separate %s interval), from %s in %s\n",
input.Config.Interval, input.Name, elapsed)
if !a.Config.Agent.Quiet {
log.Printf("Gathered metrics, (separate %s interval), from %s in %s\n",
input.Config.Interval, input.Name, elapsed)
}

if outerr != nil {
return outerr
Expand Down Expand Up @@ -235,8 +239,10 @@ func (a *Agent) writeOutput(
if err == nil {
// Write successful
elapsed := time.Since(start)
log.Printf("Flushed %d metrics to output %s in %s\n",
len(filtered), ro.Name, elapsed)
if !a.Config.Agent.Quiet {
log.Printf("Flushed %d metrics to output %s in %s\n",
len(filtered), ro.Name, elapsed)
}
return
}

Expand Down Expand Up @@ -327,12 +333,13 @@ func jitterInterval(ininterval, injitter time.Duration) time.Duration {
func (a *Agent) Run(shutdown chan struct{}) error {
var wg sync.WaitGroup

a.Config.Agent.FlushInterval.Duration = jitterInterval(a.Config.Agent.FlushInterval.Duration,
a.Config.Agent.FlushInterval.Duration = jitterInterval(
a.Config.Agent.FlushInterval.Duration,
a.Config.Agent.FlushJitter.Duration)

log.Printf("Agent Config: Interval:%s, Debug:%#v, Hostname:%#v, "+
"Flush Interval:%s\n",
a.Config.Agent.Interval.Duration, a.Config.Agent.Debug,
log.Printf("Agent Config: Interval:%s, Debug:%#v, Quiet:%#v, Hostname:%#v, "+
"Flush Interval:%s \n",
a.Config.Agent.Interval.Duration, a.Config.Agent.Debug, a.Config.Agent.Quiet,
a.Config.Agent.Hostname, a.Config.Agent.FlushInterval.Duration)

// channel shared between all input threads for accumulating points
Expand Down
Loading