Skip to content

Commit

Permalink
Add http path configuration for OpenTSDB output (influxdata#4347)
Browse files Browse the repository at this point in the history
  • Loading branch information
jtlisi authored and rgitzel committed Oct 17, 2018
1 parent 2d26254 commit a1f5a39
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 1 deletion.
4 changes: 4 additions & 0 deletions etc/telegraf.conf
Original file line number Diff line number Diff line change
Expand Up @@ -723,6 +723,10 @@
# ## Not used with telnet API.
# httpBatchSize = 50
#
# ## URI Path for Http requests to OpenTSDB.
# ## Used in cases where OpenTSDB is located behind a reverse proxy.
# httpPath = "/api/put"
#
# ## Debug true - Prints OpenTSDB communication
# debug = false
#
Expand Down
8 changes: 8 additions & 0 deletions plugins/outputs/opentsdb/opentsdb.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ var (
`%`, "-",
"#", "-",
"$", "-")
defaultHttpPath = "/api/put"
defaultSeperator = "_"
)

Expand All @@ -32,6 +33,7 @@ type OpenTSDB struct {
Port int

HttpBatchSize int
HttpPath string

Debug bool

Expand All @@ -54,6 +56,10 @@ var sampleConfig = `
## Not used with telnet API.
httpBatchSize = 50
## URI Path for Http requests to OpenTSDB.
## Used in cases where OpenTSDB is located behind a reverse proxy.
httpPath = "/api/put"
## Debug true - Prints OpenTSDB communication
debug = false
Expand Down Expand Up @@ -121,6 +127,7 @@ func (o *OpenTSDB) WriteHttp(metrics []telegraf.Metric, u *url.URL) error {
Scheme: u.Scheme,
User: u.User,
BatchSize: o.HttpBatchSize,
Path: o.HttpPath,
Debug: o.Debug,
}

Expand Down Expand Up @@ -260,6 +267,7 @@ func sanitize(value string) string {
func init() {
outputs.Add("opentsdb", func() telegraf.Output {
return &OpenTSDB{
HttpPath: defaultHttpPath,
Separator: defaultSeperator,
}
})
Expand Down
3 changes: 2 additions & 1 deletion plugins/outputs/opentsdb/opentsdb_http.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ type openTSDBHttp struct {
Scheme string
User *url.Userinfo
BatchSize int
Path string
Debug bool

metricCounter int
Expand Down Expand Up @@ -123,7 +124,7 @@ func (o *openTSDBHttp) flush() error {
Scheme: o.Scheme,
User: o.User,
Host: fmt.Sprintf("%s:%d", o.Host, o.Port),
Path: "/api/put",
Path: o.Path,
}

if o.Debug {
Expand Down
1 change: 1 addition & 0 deletions plugins/outputs/opentsdb/opentsdb_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ func BenchmarkHttpSend(b *testing.B) {
Port: port,
Prefix: "",
HttpBatchSize: BatchSize,
HttpPath: "/api/put",
}

b.ResetTimer()
Expand Down

0 comments on commit a1f5a39

Please sign in to comment.