Skip to content

Commit 159daa6

Browse files
committed
2 parents 912ff96 + 9b0af44 commit 159daa6

File tree

452 files changed

+29939
-3989
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

452 files changed

+29939
-3989
lines changed

.github/PULL_REQUEST_TEMPLATE.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
### Required for all PRs:
22

3-
- [ ] CHANGELOG.md updated (we recommend not updating this until the PR has been approved by a maintainer)
4-
- [ ] Sign [CLA](https://influxdata.com/community/cla/) (if not already signed)
5-
- [ ] README.md updated (if adding a new plugin)
3+
- [ ] Signed [CLA](https://influxdata.com/community/cla/).
4+
- [ ] Associated README.md updated.
5+
- [ ] Has appropriate unit tests.

CHANGELOG.md

+287-1
Large diffs are not rendered by default.

CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ You should also add the following to your SampleConfig() return:
124124

125125
```toml
126126
## Data format to consume.
127-
## Each data format has it's own unique set of configuration options, read
127+
## Each data format has its own unique set of configuration options, read
128128
## more about them here:
129129
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
130130
data_format = "influx"
@@ -254,7 +254,7 @@ You should also add the following to your SampleConfig() return:
254254

255255
```toml
256256
## Data format to output.
257-
## Each data format has it's own unique set of configuration options, read
257+
## Each data format has its own unique set of configuration options, read
258258
## more about them here:
259259
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
260260
data_format = "influx"

Godeps

+39-11
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,91 @@
1-
github.com/Shopify/sarama 574d3147eee384229bf96a5d12c207fe7b5234f3
2-
github.com/Sirupsen/logrus 61e43dc76f7ee59a82bdf3d71033dc12bea4c77d
1+
collectd.org 2ce144541b8903101fb8f1483cc0497a68798122
32
github.com/aerospike/aerospike-client-go 95e1ad7791bdbca44707fedbb29be42024900d9c
43
github.com/amir/raidman c74861fe6a7bb8ede0a010ce4485bdbb4fc4c985
5-
github.com/aws/aws-sdk-go 7524cb911daddd6e5c9195def8e59ae892bef8d9
4+
github.com/apache/thrift 4aaa92ece8503a6da9bc6701604f69acf2b99d07
5+
github.com/aws/aws-sdk-go c861d27d0304a79f727e9a8a4e2ac1e74602fdc0
66
github.com/beorn7/perks 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9
7+
github.com/bsm/sarama-cluster ccdc0803695fbce22f1706d04ded46cd518fd832
78
github.com/cenkalti/backoff b02f2bbce11d7ea6b97f282ef1771b0fe2f65ef3
89
github.com/couchbase/go-couchbase bfe555a140d53dc1adf390f1a1d4b0fd4ceadb28
910
github.com/couchbase/gomemcached 4a25d2f4e1dea9ea7dd76dfd943407abf9b07d29
1011
github.com/couchbase/goutils 5823a0cbaaa9008406021dc5daf80125ea30bba6
1112
github.com/davecgh/go-spew 346938d642f2ec3594ed81d874461961cd0faa76
12-
github.com/docker/docker b89aff1afa1f61993ab2ba18fd62d9375a195f5d
13+
github.com/docker/docker f5ec1e2936dcbe7b5001c2b817188b095c700c27
14+
github.com/docker/go-connections 990a1a1a70b0da4c4cb70e117971a4f0babfbf1a
1315
github.com/eapache/go-resiliency b86b1ec0dd4209a588dc1285cdd471e73525c0b3
1416
github.com/eapache/go-xerial-snappy bb955e01b9346ac19dc29eb16586c90ded99a98c
1517
github.com/eapache/queue 44cc805cf13205b55f69e14bcb69867d1ae92f98
1618
github.com/eclipse/paho.mqtt.golang d4f545eb108a2d19f9b1a735689dbfb719bc21fb
19+
github.com/go-logfmt/logfmt 390ab7935ee28ec6b286364bba9b4dd6410cb3d5
1720
github.com/go-sql-driver/mysql 2e00b5cd70399450106cec6431c2e2ce3cae5034
1821
github.com/gobwas/glob bea32b9cd2d6f55753d94a28e959b13f0244797a
22+
github.com/go-ini/ini 9144852efba7c4daf409943ee90767da62d55438
23+
github.com/gogo/protobuf 7b6c6391c4ff245962047fc1e2c6e08b1cdfa0e8
1924
github.com/golang/protobuf 8ee79997227bf9b34611aee7946ae64735e6fd93
2025
github.com/golang/snappy 7db9049039a047d955fe8c19b83c8ff5abd765c7
26+
github.com/go-ole/go-ole be49f7c07711fcb603cff39e1de7c67926dc0ba7
27+
github.com/google/go-cmp f94e52cad91c65a63acc1e75d4be223ea22e99bc
2128
github.com/gorilla/mux 392c28fe23e1c45ddba891b0320b3b5df220beea
29+
github.com/go-sql-driver/mysql 2e00b5cd70399450106cec6431c2e2ce3cae5034
2230
github.com/hailocab/go-hostpool e80d13ce29ede4452c43dea11e79b9bc8a15b478
2331
github.com/hashicorp/consul 63d2fc68239b996096a1c55a0d4b400ea4c2583f
24-
github.com/influxdata/tail e9ef7e826dafcb3093b40b989fefa90eeb9a8ca1
32+
github.com/influxdata/tail a395bf99fe07c233f41fba0735fa2b13b58588ea
2533
github.com/influxdata/toml 5d1d907f22ead1cd47adde17ceec5bda9cacaf8f
2634
github.com/influxdata/wlog 7c63b0a71ef8300adc255344d275e10e5c3a71ec
2735
github.com/jackc/pgx b84338d7d62598f75859b2b146d830b22f1b9ec8
36+
github.com/jmespath/go-jmespath bd40a432e4c76585ef6b72d3fd96fb9b6dc7b68d
2837
github.com/kardianos/osext c2c54e542fb797ad986b31721e1baedf214ca413
2938
github.com/kardianos/service 6d3a0ee7d3425d9d835debc51a0ca1ffa28f4893
3039
github.com/kballard/go-shellquote d8ec1a69a250a17bb0e419c386eac1f3711dc142
31-
github.com/klauspost/crc32 cb6bfca970f6908083f26f39a79009d608efd5cd
3240
github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c
41+
github.com/Microsoft/go-winio ce2922f643c8fd76b46cadc7f404a06282678b34
3342
github.com/miekg/dns 99f84ae56e75126dd77e5de4fae2ea034a468ca1
43+
github.com/mitchellh/mapstructure d0303fe809921458f417bcf828397a65db30a7e4
44+
github.com/multiplay/go-ts3 07477f49b8dfa3ada231afc7b7b17617d42afe8e
3445
github.com/naoina/go-stringutil 6b638e95a32d0c1131db0e7fe83775cbea4a0d0b
3546
github.com/nats-io/go-nats ea9585611a4ab58a205b9b125ebd74c389a6b898
3647
github.com/nats-io/nats ea9585611a4ab58a205b9b125ebd74c389a6b898
3748
github.com/nats-io/nuid 289cccf02c178dc782430d534e3c1f5b72af807f
38-
github.com/nsqio/go-nsq a53d495e81424aaf7a7665a9d32a97715c40e953
49+
github.com/nsqio/go-nsq eee57a3ac4174c55924125bb15eeeda8cffb6e6f
50+
github.com/opencontainers/runc 89ab7f2ccc1e45ddf6485eaa802c35dcf321dfc8
51+
github.com/opentracing-contrib/go-observer a52f2342449246d5bcc273e65cbdcfa5f7d6c63c
52+
github.com/opentracing/opentracing-go 06f47b42c792fef2796e9681353e1d908c417827
53+
github.com/openzipkin/zipkin-go-opentracing 1cafbdfde94fbf2b373534764e0863aa3bd0bf7b
3954
github.com/pierrec/lz4 5c9560bfa9ace2bf86080bf40d46b34ae44604df
4055
github.com/pierrec/xxHash 5a004441f897722c627870a981d02b29924215fa
56+
github.com/pkg/errors 645ef00459ed84a119197bfb8d8205042c6df63d
57+
github.com/pmezard/go-difflib/difflib 792786c7400a136282c1664665ae0a8db921c6c2
4158
github.com/prometheus/client_golang c317fb74746eac4fc65fe3909195f4cf67c5562a
4259
github.com/prometheus/client_model fa8ad6fec33561be4280a8f0514318c79d7f6cb6
4360
github.com/prometheus/common dd2f054febf4a6c00f2343686efb775948a8bff4
4461
github.com/prometheus/procfs 1878d9fbb537119d24b21ca07effd591627cd160
4562
github.com/rcrowley/go-metrics 1f30fe9094a513ce4c700b9a54458bbb0c96996c
4663
github.com/samuel/go-zookeeper 1d7be4effb13d2d908342d349d71a284a7542693
47-
github.com/shirou/gopsutil dfbb3e40da8d6fcd1aa0d87003e965fe0ca745ea
64+
github.com/satori/go.uuid 5bf94b69c6b68ee1b541973bb8e1144db23a194b
65+
github.com/shirou/gopsutil a452de7c734a0fa0f16d2e5725b0fa5934d9fbec
66+
github.com/shirou/w32 3c9377fc6748f222729a8270fe2775d149a249ad
67+
github.com/Shopify/sarama c01858abb625b73a3af51d0798e4ad42c8147093
68+
github.com/Sirupsen/logrus 61e43dc76f7ee59a82bdf3d71033dc12bea4c77d
4869
github.com/soniah/gosnmp 5ad50dc75ab389f8a1c9f8a67d3a1cd85f67ed15
70+
github.com/StackExchange/wmi f3e2bae1e0cb5aef83e319133eabfee30013a4a5
4971
github.com/streadway/amqp 63795daa9a446c920826655f26ba31c81c860fd6
72+
github.com/stretchr/objx 1a9d0bb9f541897e62256577b352fdbc1fb4fd94
5073
github.com/stretchr/testify 4d4bfba8f1d1027c4fdbe371823030df51419987
51-
github.com/vjeantet/grok 83bfdfdfd1a8146795b28e547a8e3c8b28a466c2
74+
github.com/vjeantet/grok d73e972b60935c7fec0b4ffbc904ed39ecaf7efe
5275
github.com/wvanbergen/kafka bc265fedb9ff5b5c5d3c0fdcef4a819b3523d3ee
5376
github.com/wvanbergen/kazoo-go 968957352185472eacb69215fa3dbfcfdbac1096
5477
github.com/yuin/gopher-lua 66c871e454fcf10251c61bf8eff02d0978cae75a
5578
github.com/zensqlmonitor/go-mssqldb ffe5510c6fa5e15e6d983210ab501c815b56b363
5679
golang.org/x/crypto dc137beb6cce2043eb6b5f223ab8bf51c32459f4
5780
golang.org/x/net f2499483f923065a842d38eb4c7f1927e6fc6e6d
81+
golang.org/x/sys 739734461d1c916b6c72a63d7efda2b27edb369f
5882
golang.org/x/text 506f9d5c962f284575e88337e7d9296d27e729d3
59-
gopkg.in/dancannon/gorethink.v1 edc7a6a68e2d8015f5ffe1b2560eed989f8a45be
83+
gopkg.in/asn1-ber.v1 4e86f4367175e39f69d9358a5f17b4dda270378d
6084
gopkg.in/fatih/pool.v2 6e328e67893eb46323ad06f0e92cb9536babbabc
85+
gopkg.in/fsnotify.v1 a8a77c9133d2d6fd8334f3260d06f60e8d80a5fb
86+
gopkg.in/gorethink/gorethink.v3 7ab832f7b65573104a555d84a27992ae9ea1f659
87+
gopkg.in/ldap.v2 8168ee085ee43257585e50c6441aadf54ecb2c9f
6188
gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655
62-
gopkg.in/olivere/elastic.v5 ee3ebceab960cf68ab9a89ee6d78c031ef5b4a4e
89+
gopkg.in/olivere/elastic.v5 3113f9b9ad37509fe5f8a0e5e91c96fdc4435e26
90+
gopkg.in/tomb.v1 dd632973f1e7218eb1089048e0798ec9ae7dceb8
6391
gopkg.in/yaml.v2 4c78c975fe7c825c6d1466c42be594d1d6f3aba6

Godeps_windows

-11
This file was deleted.

Makefile

+82-59
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,76 @@
1-
VERSION := $(shell sh -c 'git describe --always --tags')
2-
BRANCH := $(shell sh -c 'git rev-parse --abbrev-ref HEAD')
3-
COMMIT := $(shell sh -c 'git rev-parse --short HEAD')
1+
PREFIX := /usr/local
2+
VERSION := $(shell git describe --exact-match --tags 2>/dev/null)
3+
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
4+
COMMIT := $(shell git rev-parse --short HEAD)
45
ifdef GOBIN
56
PATH := $(GOBIN):$(PATH)
67
else
78
PATH := $(subst :,/bin:,$(GOPATH))/bin:$(PATH)
89
endif
910

10-
# Standard Telegraf build
11-
default: prepare build
11+
TELEGRAF := telegraf$(shell go tool dist env | grep -q 'GOOS=.windows.' && echo .exe)
1212

13-
# Windows build
14-
windows: prepare-windows build-windows
15-
16-
# Only run the build (no dependency grabbing)
17-
build:
18-
go install -ldflags \
19-
"-X main.version=$(VERSION) -X main.commit=$(COMMIT) -X main.branch=$(BRANCH)" ./...
13+
LDFLAGS := $(LDFLAGS) -X main.commit=$(COMMIT) -X main.branch=$(BRANCH)
14+
ifdef VERSION
15+
LDFLAGS += -X main.version=$(VERSION)
16+
endif
2017

21-
build-windows:
22-
GOOS=windows GOARCH=amd64 go build -o telegraf.exe -ldflags \
23-
"-X main.version=$(VERSION) -X main.commit=$(COMMIT) -X main.branch=$(BRANCH)" \
24-
./cmd/telegraf/telegraf.go
2518

26-
build-for-docker:
27-
CGO_ENABLED=0 GOOS=linux go build -installsuffix cgo -o telegraf -ldflags \
28-
"-s -X main.version=$(VERSION) -X main.commit=$(COMMIT) -X main.branch=$(BRANCH)" \
29-
./cmd/telegraf/telegraf.go
19+
all:
20+
$(MAKE) deps
21+
$(MAKE) telegraf
3022

31-
# run package script
32-
package:
33-
./scripts/build.py --package --version="$(VERSION)" --platform=linux --arch=all --upload
34-
35-
# Get dependencies and use gdm to checkout changesets
36-
prepare:
23+
deps:
3724
go get github.com/sparrc/gdm
3825
gdm restore
3926

40-
# Use the windows godeps file to prepare dependencies
41-
prepare-windows:
42-
go get github.com/sparrc/gdm
43-
gdm restore
44-
gdm restore -f Godeps_windows
27+
telegraf:
28+
go build -i -o $(TELEGRAF) -ldflags "$(LDFLAGS)" ./cmd/telegraf/telegraf.go
29+
30+
go-install:
31+
go install -ldflags "-w -s $(LDFLAGS)" ./cmd/telegraf
32+
33+
install: telegraf
34+
mkdir -p $(DESTDIR)$(PREFIX)/bin/
35+
cp $(TELEGRAF) $(DESTDIR)$(PREFIX)/bin/
36+
37+
test:
38+
go test -short ./...
4539

46-
# Run all docker containers necessary for unit tests
40+
test-windows:
41+
go test ./plugins/inputs/ping/...
42+
go test ./plugins/inputs/win_perf_counters/...
43+
go test ./plugins/inputs/win_services/...
44+
45+
lint:
46+
go vet ./...
47+
48+
test-all: lint
49+
go test ./...
50+
51+
package:
52+
./scripts/build.py --package --platform=all --arch=all
53+
clean:
54+
-rm -f telegraf
55+
-rm -f telegraf.exe
56+
57+
docker-image:
58+
./scripts/build.py --package --platform=linux --arch=amd64
59+
cp build/telegraf*$(COMMIT)*.deb .
60+
docker build -f scripts/dev.docker --build-arg "package=telegraf*$(COMMIT)*.deb" -t "telegraf-dev:$(COMMIT)" .
61+
62+
# Run all docker containers necessary for integration tests
4763
docker-run:
4864
docker run --name aerospike -p "3000:3000" -d aerospike/aerospike-server:3.9.0
65+
docker run --name zookeeper -p "2181:2181" -d wurstmeister/zookeeper
4966
docker run --name kafka \
50-
-e ADVERTISED_HOST=localhost \
51-
-e ADVERTISED_PORT=9092 \
52-
-p "2181:2181" -p "9092:9092" \
53-
-d spotify/kafka
67+
--link zookeeper:zookeeper \
68+
-e KAFKA_ADVERTISED_HOST_NAME=localhost \
69+
-e KAFKA_ADVERTISED_PORT=9092 \
70+
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
71+
-e KAFKA_CREATE_TOPICS="test:1:1" \
72+
-p "9092:9092" \
73+
-d wurstmeister/kafka
5474
docker run --name elasticsearch -p "9200:9200" -p "9300:9300" -d elasticsearch:5
5575
docker run --name mysql -p "3306:3306" -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql
5676
docker run --name memcached -p "11211:11211" -d memcached
@@ -61,38 +81,41 @@ docker-run:
6181
docker run --name mqtt -p "1883:1883" -d ncarlier/mqtt
6282
docker run --name riemann -p "5555:5555" -d stealthly/docker-riemann
6383
docker run --name nats -p "4222:4222" -d nats
84+
docker run --name openldap \
85+
-e SLAPD_CONFIG_ROOTDN="cn=manager,cn=config" \
86+
-e SLAPD_CONFIG_ROOTPW="secret" \
87+
-p "389:389" -p "636:636" \
88+
-d cobaugh/openldap-alpine
6489

65-
# Run docker containers necessary for CircleCI unit tests
90+
# Run docker containers necessary for integration tests; skipping services provided
91+
# by CircleCI
6692
docker-run-circle:
6793
docker run --name aerospike -p "3000:3000" -d aerospike/aerospike-server:3.9.0
94+
docker run --name zookeeper -p "2181:2181" -d wurstmeister/zookeeper
6895
docker run --name kafka \
69-
-e ADVERTISED_HOST=localhost \
70-
-e ADVERTISED_PORT=9092 \
71-
-p "2181:2181" -p "9092:9092" \
72-
-d spotify/kafka
96+
--link zookeeper:zookeeper \
97+
-e KAFKA_ADVERTISED_HOST_NAME=localhost \
98+
-e KAFKA_ADVERTISED_PORT=9092 \
99+
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
100+
-e KAFKA_CREATE_TOPICS="test:1:1" \
101+
-p "9092:9092" \
102+
-d wurstmeister/kafka
73103
docker run --name elasticsearch -p "9200:9200" -p "9300:9300" -d elasticsearch:5
74104
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
75105
docker run --name mqtt -p "1883:1883" -d ncarlier/mqtt
76106
docker run --name riemann -p "5555:5555" -d stealthly/docker-riemann
77107
docker run --name nats -p "4222:4222" -d nats
108+
docker run --name openldap \
109+
-e SLAPD_CONFIG_ROOTDN="cn=manager,cn=config" \
110+
-e SLAPD_CONFIG_ROOTPW="secret" \
111+
-p "389:389" -p "636:636" \
112+
-d cobaugh/openldap-alpine
78113

79-
# Kill all docker containers, ignore errors
80114
docker-kill:
81-
-docker kill nsq aerospike redis rabbitmq postgres memcached mysql kafka mqtt riemann nats elasticsearch
82-
-docker rm nsq aerospike redis rabbitmq postgres memcached mysql kafka mqtt riemann nats elasticsearch
83-
84-
# Run full unit tests using docker containers (includes setup and teardown)
85-
test: vet docker-kill docker-run
86-
# Sleeping for kafka leadership election, TSDB setup, etc.
87-
sleep 60
88-
# SUCCESS, running tests
89-
go test -race ./...
90-
91-
# Run "short" unit tests
92-
test-short: vet
93-
go test -short ./...
94-
95-
vet:
96-
go vet ./...
115+
-docker kill aerospike elasticsearch kafka memcached mqtt mysql nats nsq \
116+
openldap postgres rabbitmq redis riemann zookeeper
117+
-docker rm aerospike elasticsearch kafka memcached mqtt mysql nats nsq \
118+
openldap postgres rabbitmq redis riemann zookeeper
97119

98-
.PHONY: test test-short vet build default
120+
.PHONY: deps telegraf telegraf.exe install test test-windows lint test-all \
121+
package clean docker-run docker-run-circle docker-kill docker-image

0 commit comments

Comments
 (0)