diff --git a/cmd/client/main.go b/cmd/client/main.go index 143f340..9ef4eca 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -49,6 +49,7 @@ var ( tlsCert = kingpin.Flag("tls.cert", " Client certificate file").String() tlsKey = kingpin.Flag("tls.key", " Private key file").String() metricsAddr = kingpin.Flag("metrics-addr", "Serve Prometheus metrics at this address").Default(":9369").String() + target = kingpin.Flag("target", "Scraping target").String() retryInitialWait = kingpin.Flag("proxy.retry.initial-wait", "Amount of time to wait after proxy failure").Default("1s").Duration() retryMaxWait = kingpin.Flag("proxy.retry.max-wait", "Maximum amount of time to wait between proxy poll retries").Default("5s").Duration() @@ -133,6 +134,14 @@ func (c *Coordinator) doScrape(request *http.Request, client *http.Client) { return } + if *target != "" { + if request.URL.Port() == "" { + request.URL.Host = *target + } else { + request.URL.Host = *target + ":" + request.URL.Port() + } + } + scrapeResp, err := client.Do(request) if err != nil { msg := fmt.Sprintf("failed to scrape %s", request.URL.String()) @@ -280,6 +289,10 @@ func main() { }() } + if *target != "" { + level.Info(coordinator.logger).Log("msg", "Scraping target", "target", *target) + } + transport := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{