diff --git a/prober/http.go b/prober/http.go index f4abdbe1..555a10a0 100644 --- a/prober/http.go +++ b/prober/http.go @@ -35,6 +35,7 @@ import ( "github.com/go-kit/kit/log/level" "github.com/prometheus/client_golang/prometheus" pconfig "github.com/prometheus/common/config" + "github.com/prometheus/common/version" "golang.org/x/net/publicsuffix" "github.com/prometheus/blackbox_exporter/config" @@ -226,6 +227,8 @@ func (t *transport) GotFirstResponseByte() { t.current.responseStart = time.Now() } +var userAgentDefaultHeader = fmt.Sprintf("Blackbox Exporter/%s", version.Version) + func ProbeHTTP(ctx context.Context, target string, module config.Module, registry *prometheus.Registry, logger log.Logger) (success bool) { var redirects int var ( @@ -403,6 +406,11 @@ func ProbeHTTP(ctx context.Context, target string, module config.Module, registr request.Header.Set(key, value) } + _, hasUserAgent := request.Header["User-Agent"] + if !hasUserAgent { + request.Header.Set("User-Agent", userAgentDefaultHeader) + } + trace := &httptrace.ClientTrace{ DNSStart: tt.DNSStart, DNSDone: tt.DNSDone,