diff --git a/pkg/tsdb/opentsdb/opentsdb.go b/pkg/tsdb/opentsdb/opentsdb.go index bd1684397ce..75d6e8f2711 100644 --- a/pkg/tsdb/opentsdb/opentsdb.go +++ b/pkg/tsdb/opentsdb/opentsdb.go @@ -2,10 +2,14 @@ package opentsdb import ( "context" + "crypto/tls" "fmt" "path" "strconv" "strings" + "time" + + "golang.org/x/net/context/ctxhttp" "io/ioutil" "net/http" @@ -30,12 +34,21 @@ func NewOpenTsdbExecutor(dsInfo *tsdb.DataSourceInfo) tsdb.Executor { var ( plog log.Logger - HttpClient http.Client + HttpClient *http.Client ) func init() { plog = log.New("tsdb.opentsdb") tsdb.RegisterExecutor("opentsdb", NewOpenTsdbExecutor) + + tr := &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + } + + HttpClient = &http.Client{ + Timeout: time.Duration(15 * time.Second), + Transport: tr, + } } func (e *OpenTsdbExecutor) Execute(ctx context.Context, queries tsdb.QuerySlice, queryContext *tsdb.QueryContext) *tsdb.BatchResult { @@ -65,7 +78,7 @@ func (e *OpenTsdbExecutor) Execute(ctx context.Context, queries tsdb.QuerySlice, return result } - res, err := HttpClient.Do(req) + res, err := ctxhttp.Do(ctx, HttpClient, req) if err != nil { result.Error = err return result