diff --git a/clusterloader2/cmd/clusterloader.go b/clusterloader2/cmd/clusterloader.go index 710f82e2fb..52f2571608 100644 --- a/clusterloader2/cmd/clusterloader.go +++ b/clusterloader2/cmd/clusterloader.go @@ -237,6 +237,8 @@ func main() { var prometheusController *prometheus.PrometheusController var prometheusFramework *framework.Framework if clusterLoaderConfig.PrometheusConfig.EnableServer { + // Pass overrides to prometheus controller + clusterLoaderConfig.TestScenario.OverridePaths = testOverridePaths if prometheusController, err = prometheus.NewPrometheusController(&clusterLoaderConfig); err != nil { klog.Exitf("Error while creating Prometheus Controller: %v", err) } diff --git a/clusterloader2/pkg/config/cluster.go b/clusterloader2/pkg/config/cluster.go index bd73ba52fd..f25a69a5f4 100644 --- a/clusterloader2/pkg/config/cluster.go +++ b/clusterloader2/pkg/config/cluster.go @@ -47,6 +47,7 @@ type PrometheusConfig struct { ScrapeEtcd bool ScrapeNodeExporter bool ScrapeKubelets bool + ScrapeKubeProxy bool } // GetMasterIp returns the first master ip, added for backward compatibility. diff --git a/clusterloader2/pkg/prometheus/prometheus.go b/clusterloader2/pkg/prometheus/prometheus.go index 66801cc3b0..e82f0f72dd 100644 --- a/clusterloader2/pkg/prometheus/prometheus.go +++ b/clusterloader2/pkg/prometheus/prometheus.go @@ -56,6 +56,7 @@ func InitFlags(p *config.PrometheusConfig) { flags.BoolEnvVar(&p.ScrapeEtcd, "prometheus-scrape-etcd", "PROMETHEUS_SCRAPE_ETCD", false, "Whether to scrape etcd metrics.") flags.BoolEnvVar(&p.ScrapeNodeExporter, "prometheus-scrape-node-exporter", "PROMETHEUS_SCRAPE_NODE_EXPORTER", false, "Whether to scrape node exporter metrics.") flags.BoolEnvVar(&p.ScrapeKubelets, "prometheus-scrape-kubelets", "PROMETHEUS_SCRAPE_KUBELETS", false, "Whether to scrape kubelets. Experimental, may not work in larger clusters. Requires heapster node to be at least n1-standard-4, which needs to be provided manually.") + flags.BoolEnvVar(&p.ScrapeKubeProxy, "prometheus-scrape-kube-proxy", "PROMETHEUS_SCRAPE_KUBE_PROXY", true, "Whether to scrape kube proxy.") } // PrometheusController is a util for managing (setting up / tearing down) the prometheus stack in @@ -106,6 +107,12 @@ func NewPrometheusController(clusterLoaderConfig *config.ClusterLoaderConfig) (p // Backward compatibility. clusterLoaderConfig.PrometheusConfig.ScrapeNodeExporter = mapping["PROMETHEUS_SCRAPE_NODE_EXPORTER"].(bool) } + if _, exists := mapping["PROMETHEUS_SCRAPE_KUBE_PROXY"]; !exists { + mapping["PROMETHEUS_SCRAPE_KUBE_PROXY"] = clusterLoaderConfig.PrometheusConfig.ScrapeKubeProxy + } else { + // Backward compatibility. + clusterLoaderConfig.PrometheusConfig.ScrapeKubeProxy = mapping["PROMETHEUS_SCRAPE_KUBE_PROXY"].(bool) + } mapping["PROMETHEUS_SCRAPE_KUBELETS"] = clusterLoaderConfig.PrometheusConfig.ScrapeKubelets pc.templateMapping = mapping diff --git a/verify/verify-flags/known-flags.txt b/verify/verify-flags/known-flags.txt index 669a5105da..2648e47188 100644 --- a/verify/verify-flags/known-flags.txt +++ b/verify/verify-flags/known-flags.txt @@ -27,6 +27,7 @@ ping-server-bind-address ping-sleep-duration prometheus-scrape-etcd prometheus-scrape-kubelets +prometheus-scrape-kube-proxy prometheus-scrape-node-exporter purge-after-seconds report-dir