Redact datadog API key in log output (#3420)

This commit is contained in:
Bob Shannon 2017-11-06 20:41:14 -05:00 committed by Daniel Nelson
parent b2e0677c09
commit 180cd896fd
1 changed files with 4 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import (
"net/http"
"net/url"
"sort"
"strings"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/internal"
@ -100,6 +101,7 @@ func (d *Datadog) Write(metrics []telegraf.Metric) error {
}
}
redactedApiKey := "****************"
ts.Series = make([]*Metric, metricCounter)
copy(ts.Series, tempSeries[0:])
tsBytes, err := json.Marshal(ts)
@ -108,13 +110,13 @@ func (d *Datadog) Write(metrics []telegraf.Metric) error {
}
req, err := http.NewRequest("POST", d.authenticatedUrl(), bytes.NewBuffer(tsBytes))
if err != nil {
return fmt.Errorf("unable to create http.Request, %s\n", err.Error())
return fmt.Errorf("unable to create http.Request, %s\n", strings.Replace(err.Error(), d.Apikey, redactedApiKey, -1))
}
req.Header.Add("Content-Type", "application/json")
resp, err := d.client.Do(req)
if err != nil {
return fmt.Errorf("error POSTing metrics, %s\n", err.Error())
return fmt.Errorf("error POSTing metrics, %s\n", strings.Replace(err.Error(), d.Apikey, redactedApiKey, -1))
}
defer resp.Body.Close()