diff --git a/cmd/node/server/client.go b/cmd/node/server/client.go
index aa7d1dae4..ebc00aa1d 100644
--- a/cmd/node/server/client.go
+++ b/cmd/node/server/client.go
@@ -92,7 +92,7 @@ func ParseClientCommnad(args []string) {
App := cli.NewApp()
App.Version = "0.1"
App.Commands = []cli.Command{
- cli.Command{
+ {
Name: "upgrade",
Flags: []cli.Flag{
cli.StringFlag{
diff --git a/cmd/node/server/server.go b/cmd/node/server/server.go
index 00524b2bc..dfc8921f6 100644
--- a/cmd/node/server/server.go
+++ b/cmd/node/server/server.go
@@ -21,28 +21,27 @@ package server
import (
"context"
"fmt"
- "github.com/goodrain/rainbond/discover.v2"
- "github.com/goodrain/rainbond/node/initiate"
- "github.com/goodrain/rainbond/util/constants"
- "k8s.io/client-go/kubernetes"
"os"
"os/signal"
"syscall"
"github.com/goodrain/rainbond/cmd/node/option"
+ "github.com/goodrain/rainbond/discover.v2"
eventLog "github.com/goodrain/rainbond/event"
"github.com/goodrain/rainbond/node/api"
"github.com/goodrain/rainbond/node/api/controller"
"github.com/goodrain/rainbond/node/core/store"
+ "github.com/goodrain/rainbond/node/initiate"
"github.com/goodrain/rainbond/node/kubecache"
"github.com/goodrain/rainbond/node/masterserver"
"github.com/goodrain/rainbond/node/nodem"
"github.com/goodrain/rainbond/node/nodem/docker"
"github.com/goodrain/rainbond/node/nodem/envoy"
+ "github.com/goodrain/rainbond/util/constants"
etcdutil "github.com/goodrain/rainbond/util/etcd"
k8sutil "github.com/goodrain/rainbond/util/k8s"
-
"github.com/sirupsen/logrus"
+ "k8s.io/client-go/kubernetes"
)
//Run start run
diff --git a/monitor/prometheus/rules_manager.go b/monitor/prometheus/rules_manager.go
index 67839d107..f9d02da6c 100644
--- a/monitor/prometheus/rules_manager.go
+++ b/monitor/prometheus/rules_manager.go
@@ -310,27 +310,6 @@ func NewRulesManager(config *option.Config) *AlertingRulesManager {
&AlertingNameConfig{
Name: "ClusterHealth",
Rules: []*RulesConfig{
- &RulesConfig{
- Alert: "RbdNodeUnhealth",
- Expr: "rainbond_cluster_node_health != 0",
- For: "3m",
- Labels: commonLables,
- Annotations: map[string]string{"description": "cluster node {{ $labels.node_ip }} is unhealth"},
- },
- &RulesConfig{
- Alert: "KubeNodeUnhealth",
- Expr: "rainbond_cluster_component_health{component=\"KubeNodeReady\"} != 0",
- For: "3m",
- Labels: commonLables,
- Annotations: map[string]string{"description": "kubernetes cluster node {{ $labels.node_ip }} is unhealth"},
- },
- &RulesConfig{
- Alert: "ClusterCollectorTimeout",
- Expr: "rainbond_cluster_collector_duration_seconds > 10",
- For: "3m",
- Labels: commonLables,
- Annotations: map[string]string{"description": "Cluster collector '{{ $labels.instance }}' more than 10s"},
- },
&RulesConfig{
Alert: "InsufficientClusteMemoryResources",
Expr: "max(rbd_api_exporter_cluster_memory_total) - max(sum(namespace_resource_memory_request) by (instance)) < 2048",
diff --git a/node/api/controller/comman.go b/node/api/controller/comman.go
index b739c380c..9059a0d82 100644
--- a/node/api/controller/comman.go
+++ b/node/api/controller/comman.go
@@ -38,7 +38,7 @@ var kubecli kubecache.KubeClient
//Init 初始化
func Init(c *option.Conf, ms *masterserver.MasterServer, kube kubecache.KubeClient) {
if ms != nil {
- prometheusService = service.CreatePrometheusService(c, ms)
+ prometheusService = service.CreatePrometheusService(c)
datacenterConfig = config.GetDataCenterConfig()
nodeService = service.CreateNodeService(c, ms.Cluster, kube)
}
diff --git a/node/api/manager.go b/node/api/manager.go
index 36ecd7ac2..d91d33fdf 100644
--- a/node/api/manager.go
+++ b/node/api/manager.go
@@ -19,33 +19,29 @@
package api
import (
+ "context"
"fmt"
"net/http"
"strconv"
-
- "github.com/prometheus/client_golang/prometheus"
- "github.com/prometheus/client_golang/prometheus/promhttp"
-
- "github.com/goodrain/rainbond/discover"
- "github.com/goodrain/rainbond/node/kubecache"
- "github.com/goodrain/rainbond/node/masterserver"
- "github.com/goodrain/rainbond/node/statsd"
-
- "github.com/goodrain/rainbond/node/api/controller"
- "github.com/goodrain/rainbond/node/api/router"
-
- "context"
"strings"
- "github.com/goodrain/rainbond/cmd/node/option"
- nodeclient "github.com/goodrain/rainbond/node/nodem/client"
-
- _ "net/http/pprof"
-
client "github.com/coreos/etcd/clientv3"
"github.com/go-chi/chi"
+ "github.com/goodrain/rainbond/cmd/node/option"
+ "github.com/goodrain/rainbond/discover"
+ "github.com/goodrain/rainbond/node/api/controller"
+ "github.com/goodrain/rainbond/node/api/router"
+ "github.com/goodrain/rainbond/node/kubecache"
+ "github.com/goodrain/rainbond/node/masterserver"
+ nodeclient "github.com/goodrain/rainbond/node/nodem/client"
+ "github.com/goodrain/rainbond/node/statsd"
etcdutil "github.com/goodrain/rainbond/util/etcd"
+ "github.com/prometheus/client_golang/prometheus"
+ "github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/sirupsen/logrus"
+
+ // pprof
+ _ "net/http/pprof"
)
//Manager api manager
@@ -146,9 +142,6 @@ func (m *Manager) HandleClusterScrape(w http.ResponseWriter, r *http.Request) {
gatherers := prometheus.Gatherers{
prometheus.DefaultGatherer,
}
- if m.ms != nil {
- gatherers = append(gatherers, m.ms.GetRegistry())
- }
// Delegate http serving to Prometheus client library, which will call collector.Collect.
h := promhttp.HandlerFor(gatherers,
promhttp.HandlerOpts{
diff --git a/node/core/service/prometheus_service.go b/node/core/service/prometheus_service.go
index c91868b15..89faacfb2 100644
--- a/node/core/service/prometheus_service.go
+++ b/node/core/service/prometheus_service.go
@@ -21,7 +21,6 @@ package service
import (
"github.com/goodrain/rainbond/cmd/node/option"
"github.com/goodrain/rainbond/node/api/model"
- "github.com/goodrain/rainbond/node/masterserver"
"github.com/goodrain/rainbond/node/utils"
)
@@ -29,18 +28,16 @@ import (
type PrometheusService struct {
prometheusAPI *model.PrometheusAPI
conf *option.Conf
- ms *masterserver.MasterServer
}
var prometheusService *PrometheusService
//CreatePrometheusService create prometheus service
-func CreatePrometheusService(c *option.Conf, ms *masterserver.MasterServer) *PrometheusService {
+func CreatePrometheusService(c *option.Conf) *PrometheusService {
if prometheusService == nil {
prometheusService = &PrometheusService{
prometheusAPI: &model.PrometheusAPI{API: c.PrometheusAPI},
conf: c,
- ms: ms,
}
}
return prometheusService
diff --git a/node/masterserver/monitor/manager.go b/node/masterserver/monitor/manager.go
deleted file mode 100644
index 2e4554f5e..000000000
--- a/node/masterserver/monitor/manager.go
+++ /dev/null
@@ -1,59 +0,0 @@
-// RAINBOND, Application Management Platform
-// Copyright (C) 2014-2017 Goodrain Co., Ltd.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version. For any non-GPL usage of Rainbond,
-// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
-// must be obtained first.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see .
-
-package monitor
-
-import (
- "github.com/goodrain/rainbond/node/masterserver/node"
-
- "github.com/prometheus/client_golang/prometheus"
-)
-
-//Manager Manager
-type Manager interface {
- Start(errchan chan error) error
- Stop() error
- GetRegistry() *prometheus.Registry
-}
-
-type manager struct {
- clusterExporterRestry *prometheus.Registry
- cluster *node.Cluster
-}
-
-//CreateManager CreateManager
-func CreateManager(cluster *node.Cluster) (Manager, error) {
- clusterRegistry := prometheus.NewRegistry()
- manage := &manager{
- clusterExporterRestry: clusterRegistry,
- cluster: cluster,
- }
- return manage, nil
-}
-
-func (m *manager) Start(errchan chan error) error {
- return m.clusterExporterRestry.Register(m.cluster)
-}
-
-func (m *manager) Stop() error {
- return nil
-}
-
-func (m *manager) GetRegistry() *prometheus.Registry {
- return m.clusterExporterRestry
-}
diff --git a/node/masterserver/node/monitor.go b/node/masterserver/node/monitor.go
deleted file mode 100644
index d34842534..000000000
--- a/node/masterserver/node/monitor.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// RAINBOND, Application Management Platform
-// Copyright (C) 2014-2019 Goodrain Co., Ltd.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version. For any non-GPL usage of Rainbond,
-// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
-// must be obtained first.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see .
-
-package node
-
-import (
- "strconv"
- "time"
-
- "github.com/goodrain/rainbond/node/nodem/client"
-
- "github.com/prometheus/client_golang/prometheus"
-)
-
-var (
- namespace = "rainbond"
- scrapeDurationDesc = prometheus.NewDesc(
- prometheus.BuildFQName(namespace, "cluster", "collector_duration_seconds"),
- "cluster_exporter: Duration of a collector scrape.",
- []string{},
- nil,
- )
- nodeStatus = prometheus.NewDesc(
- prometheus.BuildFQName(namespace, "cluster", "node_health"),
- "node_health: Rainbond node health status.",
- []string{"node_id", "node_ip", "status", "healthy"},
- nil,
- )
- componentStatus = prometheus.NewDesc(
- prometheus.BuildFQName(namespace, "cluster", "component_health"),
- "component_health: Rainbond node component health status.",
- []string{"node_id", "node_ip", "component"},
- nil,
- )
-)
-
-//Collect prometheus collect
-func (n *Cluster) Collect(ch chan<- prometheus.Metric) {
- begin := time.Now()
- for _, node := range n.GetAllNode() {
- ch <- prometheus.MustNewConstMetric(nodeStatus, prometheus.GaugeValue, func() float64 {
- if node.Status == client.Running && node.NodeStatus.NodeHealth {
- return 0
- }
- return 1
- }(), node.ID, node.InternalIP, node.Status, strconv.FormatBool(node.NodeStatus.NodeHealth))
- for _, con := range node.NodeStatus.Conditions {
- ch <- prometheus.MustNewConstMetric(componentStatus, prometheus.GaugeValue, func() float64 {
- if con.Status == client.ConditionTrue {
- return 0
- }
- return 1
- }(), node.ID, node.InternalIP, string(con.Type))
- }
- }
- duration := time.Since(begin)
- ch <- prometheus.MustNewConstMetric(scrapeDurationDesc, prometheus.GaugeValue, duration.Seconds())
-}
-
-//Describe prometheus describe
-func (n *Cluster) Describe(ch chan<- *prometheus.Desc) {
- ch <- scrapeDurationDesc
- ch <- nodeStatus
- ch <- componentStatus
-}
diff --git a/node/masterserver/server.go b/node/masterserver/server.go
index c39e3e539..aa8b39f84 100644
--- a/node/masterserver/server.go
+++ b/node/masterserver/server.go
@@ -21,10 +21,6 @@ package masterserver
import (
"context"
- "github.com/prometheus/client_golang/prometheus"
-
- "github.com/goodrain/rainbond/node/masterserver/monitor"
-
"github.com/sirupsen/logrus"
"github.com/goodrain/rainbond/node/kubecache"
@@ -43,7 +39,6 @@ type MasterServer struct {
ctx context.Context
cancel context.CancelFunc
datacenterConfig *config.DataCenterConfig
- clusterMonitor monitor.Manager
}
//NewMasterServer 创建master节点
@@ -51,11 +46,6 @@ func NewMasterServer(modelnode *client.HostNode, kubecli kubecache.KubeClient) (
datacenterConfig := config.GetDataCenterConfig()
ctx, cancel := context.WithCancel(context.Background())
nodecluster := node.CreateCluster(kubecli, modelnode, datacenterConfig)
- clusterMonitor, err := monitor.CreateManager(nodecluster)
- if err != nil {
- cancel()
- return nil, err
- }
ms := &MasterServer{
Client: store.DefalutClient,
HostNode: modelnode,
@@ -63,7 +53,6 @@ func NewMasterServer(modelnode *client.HostNode, kubecli kubecache.KubeClient) (
ctx: ctx,
cancel: cancel,
datacenterConfig: datacenterConfig,
- clusterMonitor: clusterMonitor,
}
return ms, nil
}
@@ -75,7 +64,7 @@ func (m *MasterServer) Start(errchan chan error) error {
logrus.Error("node cluster start error,", err.Error())
return err
}
- return m.clusterMonitor.Start(errchan)
+ return nil
}
//Stop 停止
@@ -83,13 +72,5 @@ func (m *MasterServer) Stop(i interface{}) {
if m.Cluster != nil {
m.Cluster.Stop(i)
}
- if m.clusterMonitor != nil {
- m.clusterMonitor.Stop()
- }
m.cancel()
}
-
-//GetRegistry get monitor metric registry
-func (m *MasterServer) GetRegistry() *prometheus.Registry {
- return m.clusterMonitor.GetRegistry()
-}