From 1ecec78379dc581fea0ffcfa81190e58cef691ea Mon Sep 17 00:00:00 2001 From: LiHui Date: Mon, 4 Jan 2021 12:11:38 +0800 Subject: [PATCH] enable metrics by default Signed-off-by: LiHui --- cmd/controller-manager/app/options/options.go | 4 ---- cmd/controller-manager/app/server.go | 9 +++---- cmd/ks-apiserver/app/options/options.go | 1 - pkg/apiserver/apiserver.go | 14 ++++------- pkg/apiserver/config/config.go | 3 --- pkg/apiserver/config/config_test.go | 4 ---- .../workspace/workspace_controller.go | 4 ++-- pkg/simple/client/metrics/metrics.go | 24 ------------------- 8 files changed, 10 insertions(+), 53 deletions(-) delete mode 100644 pkg/simple/client/metrics/metrics.go diff --git a/cmd/controller-manager/app/options/options.go b/cmd/controller-manager/app/options/options.go index c6e57d422..2d98ef8b4 100644 --- a/cmd/controller-manager/app/options/options.go +++ b/cmd/controller-manager/app/options/options.go @@ -29,7 +29,6 @@ import ( "kubesphere.io/kubesphere/pkg/simple/client/devops/jenkins" "kubesphere.io/kubesphere/pkg/simple/client/k8s" ldapclient "kubesphere.io/kubesphere/pkg/simple/client/ldap" - "kubesphere.io/kubesphere/pkg/simple/client/metrics" "kubesphere.io/kubesphere/pkg/simple/client/multicluster" "kubesphere.io/kubesphere/pkg/simple/client/network" "kubesphere.io/kubesphere/pkg/simple/client/openpitrix" @@ -46,7 +45,6 @@ type KubeSphereControllerManagerOptions struct { OpenPitrixOptions *openpitrix.Options NetworkOptions *network.Options MultiClusterOptions *multicluster.Options - MetricsOptions *metrics.Options ServiceMeshOptions *servicemesh.Options LeaderElect bool LeaderElection *leaderelection.LeaderElectionConfig @@ -62,7 +60,6 @@ func NewKubeSphereControllerManagerOptions() *KubeSphereControllerManagerOptions OpenPitrixOptions: openpitrix.NewOptions(), NetworkOptions: network.NewNetworkOptions(), MultiClusterOptions: multicluster.NewOptions(), - MetricsOptions: metrics.NewMetricsOptions(), ServiceMeshOptions: servicemesh.NewServiceMeshOptions(), AuthenticationOptions: authoptions.NewAuthenticateOptions(), LeaderElection: &leaderelection.LeaderElectionConfig{ @@ -89,7 +86,6 @@ func (s *KubeSphereControllerManagerOptions) Flags() cliflag.NamedFlagSets { s.NetworkOptions.AddFlags(fss.FlagSet("network"), s.NetworkOptions) s.MultiClusterOptions.AddFlags(fss.FlagSet("multicluster"), s.MultiClusterOptions) s.ServiceMeshOptions.AddFlags(fss.FlagSet("servicemesh"), s.ServiceMeshOptions) - s.MetricsOptions.AddFlags(fss.FlagSet("metrics"), s.MetricsOptions) fs := fss.FlagSet("leaderelection") s.bindLeaderElectionFlags(s.LeaderElection, fs) diff --git a/cmd/controller-manager/app/server.go b/cmd/controller-manager/app/server.go index a0a950f1b..e40e7a02d 100644 --- a/cmd/controller-manager/app/server.go +++ b/cmd/controller-manager/app/server.go @@ -18,7 +18,6 @@ package app import ( "fmt" - "kubesphere.io/kubesphere/pkg/utils/metrics" "github.com/spf13/cobra" utilerrors "k8s.io/apimachinery/pkg/util/errors" cliflag "k8s.io/component-base/cli/flag" @@ -42,6 +41,7 @@ import ( ldapclient "kubesphere.io/kubesphere/pkg/simple/client/ldap" "kubesphere.io/kubesphere/pkg/simple/client/openpitrix" "kubesphere.io/kubesphere/pkg/simple/client/s3" + "kubesphere.io/kubesphere/pkg/utils/metrics" "kubesphere.io/kubesphere/pkg/utils/term" "os" application "sigs.k8s.io/application/controllers" @@ -65,7 +65,6 @@ func NewControllerManagerCommand() *cobra.Command { OpenPitrixOptions: conf.OpenPitrixOptions, NetworkOptions: conf.NetworkOptions, MultiClusterOptions: conf.MultiClusterOptions, - MetricsOptions: conf.MetricsOptions, ServiceMeshOptions: conf.ServiceMeshOptions, LeaderElection: s.LeaderElection, LeaderElect: s.LeaderElect, @@ -263,10 +262,8 @@ func run(s *options.KubeSphereControllerManagerOptions, stopCh <-chan struct{}) hookServer.Register("/validate-network-kubesphere-io-v1alpha1", &webhook.Admission{Handler: &webhooks.ValidatingHandler{C: mgr.GetClient()}}) hookServer.Register("/mutate-network-kubesphere-io-v1alpha1", &webhook.Admission{Handler: &webhooks.MutatingHandler{C: mgr.GetClient()}}) - if s.MetricsOptions != nil && s.MetricsOptions.Enable { - klog.V(2).Info("registering metrics to then webhook server") - hookServer.Register("/metrics", metrics.Handler()) - } + klog.V(2).Info("registering metrics to the webhook server") + hookServer.Register("/metrics", metrics.Handler()) klog.V(0).Info("Starting the controllers.") if err = mgr.Start(stopCh); err != nil { diff --git a/cmd/ks-apiserver/app/options/options.go b/cmd/ks-apiserver/app/options/options.go index 873b4224e..2745b6c25 100644 --- a/cmd/ks-apiserver/app/options/options.go +++ b/cmd/ks-apiserver/app/options/options.go @@ -82,7 +82,6 @@ func (s *ServerRunOptions) Flags() (fss cliflag.NamedFlagSets) { s.MultiClusterOptions.AddFlags(fss.FlagSet("multicluster"), s.MultiClusterOptions) s.EventsOptions.AddFlags(fss.FlagSet("events"), s.EventsOptions) s.AuditingOptions.AddFlags(fss.FlagSet("auditing"), s.AuditingOptions) - s.MetricsOptions.AddFlags(fss.FlagSet("metric"), s.MetricsOptions) fs = fss.FlagSet("klog") local := flag.NewFlagSet("klog", flag.ExitOnError) diff --git a/pkg/apiserver/apiserver.go b/pkg/apiserver/apiserver.go index a0f02d67a..010b2687b 100644 --- a/pkg/apiserver/apiserver.go +++ b/pkg/apiserver/apiserver.go @@ -158,10 +158,8 @@ func (s *APIServer) PrepareRun(stopCh <-chan struct{}) error { s.installKubeSphereAPIs() - s.installAPI() - if s.Config.MetricsOptions != nil && s.Config.MetricsOptions.Enable { - s.container.Filter(monitorRequest) - } + s.installMetricsAPI() + s.container.Filter(monitorRequest) for _, ws := range s.container.RegisteredWebServices() { klog.V(2).Infof("%s", ws.RootPath()) @@ -185,11 +183,9 @@ func monitorRequest(r *restful.Request, response *restful.Response, chain *restf } } -func (s *APIServer) installAPI() { - if s.Config.MetricsOptions != nil && s.Config.MetricsOptions.Enable { - register() - metrics.Defaults.Install(s.container) - } +func (s *APIServer) installMetricsAPI() { + register() + metrics.Defaults.Install(s.container) } // Install all kubesphere api groups diff --git a/pkg/apiserver/config/config.go b/pkg/apiserver/config/config.go index 8bdbfd4fe..7255a3c8b 100644 --- a/pkg/apiserver/config/config.go +++ b/pkg/apiserver/config/config.go @@ -30,7 +30,6 @@ import ( "kubesphere.io/kubesphere/pkg/simple/client/k8s" "kubesphere.io/kubesphere/pkg/simple/client/ldap" "kubesphere.io/kubesphere/pkg/simple/client/logging/elasticsearch" - "kubesphere.io/kubesphere/pkg/simple/client/metrics" "kubesphere.io/kubesphere/pkg/simple/client/monitoring/prometheus" "kubesphere.io/kubesphere/pkg/simple/client/multicluster" "kubesphere.io/kubesphere/pkg/simple/client/network" @@ -98,7 +97,6 @@ type Config struct { AuditingOptions *auditingclient.Options `json:"auditing,omitempty" yaml:"auditing,omitempty" mapstructure:"auditing"` AlertingOptions *alerting.Options `json:"alerting,omitempty" yaml:"alerting,omitempty" mapstructure:"alerting"` NotificationOptions *notification.Options `json:"notification,omitempty" yaml:"notification,omitempty" mapstructure:"notification"` - MetricsOptions *metrics.Options `json:"metrics,omitempty" yaml:"metrics,omitempty" mapstructure:"metrics"` } // newConfig creates a default non-empty Config @@ -122,7 +120,6 @@ func New() *Config { MultiClusterOptions: multicluster.NewOptions(), EventsOptions: eventsclient.NewElasticSearchOptions(), AuditingOptions: auditingclient.NewElasticSearchOptions(), - MetricsOptions: metrics.NewMetricsOptions(), } } diff --git a/pkg/apiserver/config/config_test.go b/pkg/apiserver/config/config_test.go index d581cf387..4d6c7e1d5 100644 --- a/pkg/apiserver/config/config_test.go +++ b/pkg/apiserver/config/config_test.go @@ -33,7 +33,6 @@ import ( "kubesphere.io/kubesphere/pkg/simple/client/k8s" "kubesphere.io/kubesphere/pkg/simple/client/ldap" "kubesphere.io/kubesphere/pkg/simple/client/logging/elasticsearch" - "kubesphere.io/kubesphere/pkg/simple/client/metrics" "kubesphere.io/kubesphere/pkg/simple/client/monitoring/prometheus" "kubesphere.io/kubesphere/pkg/simple/client/multicluster" "kubesphere.io/kubesphere/pkg/simple/client/network" @@ -157,9 +156,6 @@ func newTestConfig() (*Config, error) { IndexPrefix: "ks-logstash-auditing", Version: "6", }, - MetricsOptions: &metrics.Options{ - Enable: false, - }, } return conf, nil } diff --git a/pkg/controller/workspace/workspace_controller.go b/pkg/controller/workspace/workspace_controller.go index 357d480ac..e800267f0 100644 --- a/pkg/controller/workspace/workspace_controller.go +++ b/pkg/controller/workspace/workspace_controller.go @@ -98,7 +98,7 @@ func (r *Reconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { if err := r.Update(rootCtx, workspace); err != nil { return ctrl.Result{}, err } - workspaceOperation.WithLabelValues("create", instance.Name).Inc() + workspaceOperation.WithLabelValues("create", workspace.Name).Inc() } } else { // The object is being deleted @@ -112,7 +112,7 @@ func (r *Reconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { logger.Error(err, "update workspace failed") return ctrl.Result{}, err } - workspaceOperation.WithLabelValues("delete", instance.Name).Inc() + workspaceOperation.WithLabelValues("delete", workspace.Name).Inc() } // Our finalizer has finished, so the reconciler can do nothing. return ctrl.Result{}, nil diff --git a/pkg/simple/client/metrics/metrics.go b/pkg/simple/client/metrics/metrics.go deleted file mode 100644 index 96cf93a6e..000000000 --- a/pkg/simple/client/metrics/metrics.go +++ /dev/null @@ -1,24 +0,0 @@ -package metrics - -import "github.com/spf13/pflag" - -type Options struct { - Enable bool `json:"enable,omitempty" description:"enable metric"` -} - -func NewMetricsOptions() *Options { - return &Options{ - Enable: false, - } -} - -func (s *Options) ApplyTo(options *Options) { - if options == nil { - options = s - return - } -} - -func (s *Options) AddFlags(fs *pflag.FlagSet, c *Options) { - fs.BoolVar(&s.Enable, "enable-metrics", c.Enable, "If true, allow metrics. [default=false]") -}