From c82d11aa4da6e1af64261086d1d63db3ad4eb676 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Wed, 30 Jun 2021 19:59:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=9F=BA=E7=A1=80=E7=9A=84?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8C=87=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 2 +- go.sum | 8 +++ internal/rpc/rpc_client.go | 4 ++ .../cluster/settings/metrics/createPopup.go | 36 +++++++++- .../cluster/settings/metrics/delete.go | 21 +++++- .../cluster/settings/metrics/index.go | 5 +- .../clusters/clusterutils/cluster_helper.go | 4 +- .../actions/default/servers/metrics/charts.go | 2 +- .../default/servers/metrics/createPopup.go | 2 + .../actions/default/servers/metrics/init.go | 1 + .../actions/default/servers/metrics/item.go | 2 +- .../actions/default/servers/metrics/stats.go | 65 +++++++++++++++++++ .../actions/default/servers/metrics/update.go | 5 +- .../actions/default/servers/metrics/utils.go | 11 ++-- internal/web/helpers/user_must_auth.go | 4 +- .../js/components/common/warning-message.js | 4 ++ .../cluster/settings/metrics/createPopup.html | 8 +-- .../cluster/settings/metrics/createPopup.js | 23 +++++++ .../cluster/settings/metrics/index.html | 6 +- .../cluster/settings/metrics/index.js | 7 +- web/views/@default/servers/iplists/index.html | 4 +- .../@default/servers/metrics/@item_menu.html | 1 + .../@default/servers/metrics/charts.html | 2 +- .../@default/servers/metrics/createPopup.html | 13 +--- web/views/@default/servers/metrics/index.html | 4 +- web/views/@default/servers/metrics/item.html | 6 ++ web/views/@default/servers/metrics/stats.html | 27 ++++++++ .../@default/servers/metrics/update.html | 15 ++--- .../locations/reverseProxy/index.html | 2 +- .../server/settings/reverseProxy/index.html | 2 +- .../server/settings/serverNames/index.html | 2 +- .../servers/server/settings/waf/groups.html | 2 +- .../settings/waf/ipadmin/allowList.html | 4 +- .../settings/waf/ipadmin/countries.html | 4 +- .../server/settings/waf/ipadmin/denyList.html | 4 +- .../settings/waf/ipadmin/provinces.html | 4 +- .../server/settings/waf/ipadmin/test.html | 4 +- .../@default/settings/authority/index.html | 2 +- web/views/@default/settings/server/index.html | 2 +- 39 files changed, 258 insertions(+), 66 deletions(-) create mode 100644 internal/web/actions/default/servers/metrics/stats.go create mode 100644 web/public/js/components/common/warning-message.js create mode 100644 web/views/@default/clusters/cluster/settings/metrics/createPopup.js create mode 100644 web/views/@default/servers/metrics/stats.html diff --git a/go.mod b/go.mod index 7e07d604..b66a144c 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/go-yaml/yaml v2.1.0+incompatible github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.6 // indirect - github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f + github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060 github.com/miekg/dns v1.1.35 github.com/shirou/gopsutil v3.21.5+incompatible // indirect github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e diff --git a/go.sum b/go.sum index ed45af99..52b31529 100644 --- a/go.sum +++ b/go.sum @@ -65,8 +65,12 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f h1:r2O8PONj/KiuZjJHVHn7KlCePUIjNtgAmvLfgRafQ8o= github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc= +github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060 h1:qdLtK4PDXxk2vMKkTWl5Fl9xqYuRCukzWAgJbLHdfOo= +github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc= github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -76,8 +80,12 @@ github.com/miekg/dns v1.1.35 h1:oTfOaDH+mZkdcgdIjH6yBajRGtIwcwcaR+rt23ZSrJs= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= diff --git a/internal/rpc/rpc_client.go b/internal/rpc/rpc_client.go index 0ffb74b2..b36aef4b 100644 --- a/internal/rpc/rpc_client.go +++ b/internal/rpc/rpc_client.go @@ -392,6 +392,10 @@ func (this *RPCClient) MetricItemRPC() pb.MetricItemServiceClient { return pb.NewMetricItemServiceClient(this.pickConn()) } +func (this *RPCClient) MetricStatRPC() pb.MetricStatServiceClient { + return pb.NewMetricStatServiceClient(this.pickConn()) +} + func (this *RPCClient) NodeClusterMetricItemRPC() pb.NodeClusterMetricItemServiceClient { return pb.NewNodeClusterMetricItemServiceClient(this.pickConn()) } diff --git a/internal/web/actions/default/clusters/cluster/settings/metrics/createPopup.go b/internal/web/actions/default/clusters/cluster/settings/metrics/createPopup.go index ba3144c9..55b3b2e4 100644 --- a/internal/web/actions/default/clusters/cluster/settings/metrics/createPopup.go +++ b/internal/web/actions/default/clusters/cluster/settings/metrics/createPopup.go @@ -5,6 +5,7 @@ package metrics import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" ) @@ -17,12 +18,14 @@ func (this *CreatePopupAction) Init() { } func (this *CreatePopupAction) RunGet(params struct { - Category string + ClusterId int64 + Category string }) { if len(params.Category) == 0 { params.Category = "http" } this.Data["category"] = params.Category + this.Data["clusterId"] = params.ClusterId countResp, err := this.RPC().MetricItemRPC().CountAllEnabledMetricItems(this.AdminContext(), &pb.CountAllEnabledMetricItemsRequest{Category: params.Category}) if err != nil { @@ -44,6 +47,17 @@ func (this *CreatePopupAction) RunGet(params struct { } var itemMaps = []maps.Map{} for _, item := range itemsResp.MetricItems { + // 是否已添加 + existsResp, err := this.RPC().NodeClusterMetricItemRPC().ExistsNodeClusterMetricItem(this.AdminContext(), &pb.ExistsNodeClusterMetricItemRequest{ + NodeClusterId: params.ClusterId, + MetricItemId: item.Id, + }) + if err != nil { + this.ErrorPage(err) + return + } + var exists = existsResp.Exists + itemMaps = append(itemMaps, maps.Map{ "id": item.Id, "name": item.Name, @@ -53,9 +67,29 @@ func (this *CreatePopupAction) RunGet(params struct { "keys": item.Keys, "value": item.Value, "category": item.Category, + "isChecked": exists, }) } this.Data["items"] = itemMaps this.Show() } + +func (this *CreatePopupAction) RunPost(params struct { + ClusterId int64 + ItemId int64 + + Must *actions.Must +}) { + defer this.CreateLogInfo("添加指标 %d 到集群 %d", params.ItemId, params.ClusterId) + + _, err := this.RPC().NodeClusterMetricItemRPC().EnableNodeClusterMetricItem(this.AdminContext(), &pb.EnableNodeClusterMetricItemRequest{ + NodeClusterId: params.ClusterId, + MetricItemId: params.ItemId, + }) + if err != nil { + this.ErrorPage(err) + return + } + this.Success() +} diff --git a/internal/web/actions/default/clusters/cluster/settings/metrics/delete.go b/internal/web/actions/default/clusters/cluster/settings/metrics/delete.go index 60128ba9..2efdbfaf 100644 --- a/internal/web/actions/default/clusters/cluster/settings/metrics/delete.go +++ b/internal/web/actions/default/clusters/cluster/settings/metrics/delete.go @@ -2,12 +2,29 @@ package metrics -import "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) type DeleteAction struct { actionutils.ParentAction } -func (this *DeleteAction) RunPost(params struct{}) { +func (this *DeleteAction) RunPost(params struct { + ClusterId int64 + ItemId int64 +}) { + defer this.CreateLogInfo("从集群 %d 中移除指标 %d", params.ClusterId, params.ItemId) + + _, err := this.RPC().NodeClusterMetricItemRPC().DisableNodeClusterMetricItem(this.AdminContext(), &pb.DisableNodeClusterMetricItemRequest{ + NodeClusterId: params.ClusterId, + MetricItemId: params.ItemId, + }) + if err != nil { + this.ErrorPage(err) + return + } + this.Success() } diff --git a/internal/web/actions/default/clusters/cluster/settings/metrics/index.go b/internal/web/actions/default/clusters/cluster/settings/metrics/index.go index 6bb2e072..9e247d82 100644 --- a/internal/web/actions/default/clusters/cluster/settings/metrics/index.go +++ b/internal/web/actions/default/clusters/cluster/settings/metrics/index.go @@ -26,7 +26,10 @@ func (this *IndexAction) RunGet(params struct { } this.Data["category"] = params.Category - itemsResp, err := this.RPC().NodeClusterMetricItemRPC().FindAllNodeClusterMetricItems(this.AdminContext(), &pb.FindAllNodeClusterMetricItemsRequest{NodeClusterId: params.ClusterId}) + itemsResp, err := this.RPC().NodeClusterMetricItemRPC().FindAllNodeClusterMetricItems(this.AdminContext(), &pb.FindAllNodeClusterMetricItemsRequest{ + NodeClusterId: params.ClusterId, + Category: params.Category, + }) if err != nil { this.ErrorPage(err) return diff --git a/internal/web/actions/default/clusters/clusterutils/cluster_helper.go b/internal/web/actions/default/clusters/clusterutils/cluster_helper.go index eb6dde8e..a3c2fab4 100644 --- a/internal/web/actions/default/clusters/clusterutils/cluster_helper.go +++ b/internal/web/actions/default/clusters/clusterutils/cluster_helper.go @@ -121,12 +121,12 @@ func (this *ClusterHelper) createSettingMenu(cluster *pb.NodeCluster, info *pb.F "isActive": selectedItem == "dns", "isOn": cluster.DnsDomainId > 0 || len(cluster.DnsName) > 0, }) - /**items = append(items, maps.Map{ + items = append(items, maps.Map{ "name": "统计指标", "url": "/clusters/cluster/settings/metrics?clusterId=" + clusterId, "isActive": selectedItem == "metric", "isOn": info != nil && info.HasMetricItems, - })**/ + }) if teaconst.IsPlus { items = append(items, maps.Map{ diff --git a/internal/web/actions/default/servers/metrics/charts.go b/internal/web/actions/default/servers/metrics/charts.go index 445a3fea..034e21e1 100644 --- a/internal/web/actions/default/servers/metrics/charts.go +++ b/internal/web/actions/default/servers/metrics/charts.go @@ -15,7 +15,7 @@ func (this *ChartsAction) Init() { func (this *ChartsAction) RunGet(params struct { ItemId int64 }) { - err := InitItem(this.Parent(), params.ItemId) + _, err := InitItem(this.Parent(), params.ItemId) if err != nil { this.ErrorPage(err) return diff --git a/internal/web/actions/default/servers/metrics/createPopup.go b/internal/web/actions/default/servers/metrics/createPopup.go index 40124302..7dad80ca 100644 --- a/internal/web/actions/default/servers/metrics/createPopup.go +++ b/internal/web/actions/default/servers/metrics/createPopup.go @@ -6,6 +6,7 @@ import ( "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" ) @@ -22,6 +23,7 @@ func (this *CreatePopupAction) RunGet(params struct { Category string }) { this.Data["category"] = params.Category + this.Data["valueDefinitions"] = serverconfigs.FindAllMetricValueDefinitions(params.Category) this.Show() } diff --git a/internal/web/actions/default/servers/metrics/init.go b/internal/web/actions/default/servers/metrics/init.go index 8ab69e43..899aa3e8 100644 --- a/internal/web/actions/default/servers/metrics/init.go +++ b/internal/web/actions/default/servers/metrics/init.go @@ -19,6 +19,7 @@ func init() { Post("/delete", new(DeleteAction)). Get("/item", new(ItemAction)). Get("/charts", new(ChartsAction)). + Get("/stats", new(StatsAction)). EndAll() }) } diff --git a/internal/web/actions/default/servers/metrics/item.go b/internal/web/actions/default/servers/metrics/item.go index 0f47eacb..0ce86f60 100644 --- a/internal/web/actions/default/servers/metrics/item.go +++ b/internal/web/actions/default/servers/metrics/item.go @@ -15,7 +15,7 @@ func (this *ItemAction) Init() { func (this *ItemAction) RunGet(params struct { ItemId int64 }) { - err := InitItem(this.Parent(), params.ItemId) + _, err := InitItem(this.Parent(), params.ItemId) if err != nil { this.ErrorPage(err) return diff --git a/internal/web/actions/default/servers/metrics/stats.go b/internal/web/actions/default/servers/metrics/stats.go new file mode 100644 index 00000000..d6c4c89f --- /dev/null +++ b/internal/web/actions/default/servers/metrics/stats.go @@ -0,0 +1,65 @@ +// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved. + +package metrics + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" + "github.com/iwind/TeaGo/maps" +) + +type StatsAction struct { + actionutils.ParentAction +} + +func (this *StatsAction) Init() { + this.Nav("", "", "stat") +} + +func (this *StatsAction) RunGet(params struct { + ItemId int64 +}) { + item, err := InitItem(this.Parent(), params.ItemId) + if err != nil { + this.ErrorPage(err) + return + } + + countResp, err := this.RPC().MetricStatRPC().CountMetricStats(this.AdminContext(), &pb.CountMetricStatsRequest{ + MetricItemId: params.ItemId, + }) + if err != nil { + this.ErrorPage(err) + return + } + var count = countResp.Count + + page := this.NewPage(count) + this.Data["page"] = page.AsHTML() + + statsResp, err := this.RPC().MetricStatRPC().ListMetricStats(this.AdminContext(), &pb.ListMetricStatsRequest{ + MetricItemId: params.ItemId, + Offset: page.Offset, + Size: page.Size, + }) + if err != nil { + this.ErrorPage(err) + return + } + var statMaps = []maps.Map{} + for _, stat := range statsResp.MetricStats { + statMaps = append(statMaps, maps.Map{ + "id": stat.Id, + "time": serverconfigs.HumanMetricTime(item.PeriodUnit, stat.Time), + "keys": stat.Keys, + "value": stat.Value, + "cluster": maps.Map{"id": stat.NodeCluster.Id, "name": stat.NodeCluster.Name}, + "node": maps.Map{"id": stat.Node.Id, "name": stat.Node.Name}, + "server": maps.Map{"id": stat.Server.Id, "name": stat.Server.Name}, + }) + } + this.Data["stats"] = statMaps + + this.Show() +} diff --git a/internal/web/actions/default/servers/metrics/update.go b/internal/web/actions/default/servers/metrics/update.go index 4f0dae9c..fbf9d059 100644 --- a/internal/web/actions/default/servers/metrics/update.go +++ b/internal/web/actions/default/servers/metrics/update.go @@ -6,6 +6,7 @@ import ( "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" ) @@ -21,12 +22,14 @@ func (this *UpdateAction) Init() { func (this *UpdateAction) RunGet(params struct { ItemId int64 }) { - err := InitItem(this.Parent(), params.ItemId) + item, err := InitItem(this.Parent(), params.ItemId) if err != nil { this.ErrorPage(err) return } + this.Data["valueDefinitions"] = serverconfigs.FindAllMetricValueDefinitions(item.Category) + this.Show() } diff --git a/internal/web/actions/default/servers/metrics/utils.go b/internal/web/actions/default/servers/metrics/utils.go index 37e12dcf..683a6081 100644 --- a/internal/web/actions/default/servers/metrics/utils.go +++ b/internal/web/actions/default/servers/metrics/utils.go @@ -10,18 +10,19 @@ import ( "github.com/iwind/TeaGo/maps" ) -func InitItem(parent *actionutils.ParentAction, itemId int64) error { +// InitItem 初始化指标信息 +func InitItem(parent *actionutils.ParentAction, itemId int64) (*pb.MetricItem, error) { client, err := rpc.SharedRPC() if err != nil { - return err + return nil, err } resp, err := client.MetricItemRPC().FindEnabledMetricItem(parent.AdminContext(), &pb.FindEnabledMetricItemRequest{MetricItemId: itemId}) if err != nil { - return err + return nil, err } var item = resp.MetricItem if item == nil { - return errors.New("not found") + return nil, errors.New("not found") } parent.Data["item"] = maps.Map{ "id": item.Id, @@ -33,5 +34,5 @@ func InitItem(parent *actionutils.ParentAction, itemId int64) error { "periodUnit": item.PeriodUnit, "category": item.Category, } - return nil + return item, nil } diff --git a/internal/web/helpers/user_must_auth.go b/internal/web/helpers/user_must_auth.go index 16d4710d..12e5442d 100644 --- a/internal/web/helpers/user_must_auth.go +++ b/internal/web/helpers/user_must_auth.go @@ -177,11 +177,11 @@ func (this *userMustAuth) modules(adminId int64) []maps.Map { "url": "/servers/certs", "code": "cert", }, - /**{ + { "name": "统计指标", "url": "/servers/metrics", "code": "metric", - },**/ + }, }, }, { diff --git a/web/public/js/components/common/warning-message.js b/web/public/js/components/common/warning-message.js new file mode 100644 index 00000000..c0017b7f --- /dev/null +++ b/web/public/js/components/common/warning-message.js @@ -0,0 +1,4 @@ +// 警告消息 +Vue.component("warning-message", { + template: `

` +}) \ No newline at end of file diff --git a/web/views/@default/clusters/cluster/settings/metrics/createPopup.html b/web/views/@default/clusters/cluster/settings/metrics/createPopup.html index 01e89ab4..d4b57be3 100644 --- a/web/views/@default/clusters/cluster/settings/metrics/createPopup.html +++ b/web/views/@default/clusters/cluster/settings/metrics/createPopup.html @@ -1,8 +1,8 @@ {$layout "layout_popup"} -

添加指标

+

可以添加的指标

-

暂时还没有指标。

+

暂时还没有可用的指标。

@@ -29,8 +29,8 @@
- 添加 - 已添加 + 添加 + 已添加
diff --git a/web/views/@default/clusters/cluster/settings/metrics/createPopup.js b/web/views/@default/clusters/cluster/settings/metrics/createPopup.js new file mode 100644 index 00000000..c8be793d --- /dev/null +++ b/web/views/@default/clusters/cluster/settings/metrics/createPopup.js @@ -0,0 +1,23 @@ +Tea.context(function () { + this.addItem = function (item) { + this.$post("$") + .params({ + clusterId: this.clusterId, + itemId: item.id + }) + .success(function () { + item.isChecked = true + }) + } + + this.removeItem = function (item) { + this.$post(".delete") + .params({ + clusterId: this.clusterId, + itemId: item.id + }) + .success(function () { + item.isChecked = false + }) + } +}) \ No newline at end of file diff --git a/web/views/@default/clusters/cluster/settings/metrics/index.html b/web/views/@default/clusters/cluster/settings/metrics/index.html index 73e03ab3..0d7141eb 100644 --- a/web/views/@default/clusters/cluster/settings/metrics/index.html +++ b/web/views/@default/clusters/cluster/settings/metrics/index.html @@ -4,15 +4,15 @@
HTTP - TCP - UDP + | [添加指标] | -

暂时还没有设置指标。

+

暂时还没有添加指标。

diff --git a/web/views/@default/clusters/cluster/settings/metrics/index.js b/web/views/@default/clusters/cluster/settings/metrics/index.js index 5c47b9b4..8470d06a 100644 --- a/web/views/@default/clusters/cluster/settings/metrics/index.js +++ b/web/views/@default/clusters/cluster/settings/metrics/index.js @@ -1,13 +1,17 @@ Tea.context(function () { this.createItem = function () { teaweb.popup(Tea.url(".createPopup", { - clusterId: this.clusterId + clusterId: this.clusterId, + category: this.category }), { callback: function () { teaweb.success("保存成功", function () { teaweb.reload() }) }, + onClose: function () { + teaweb.reload() + }, width: "50em", height: "25em" }) @@ -18,6 +22,7 @@ Tea.context(function () { teaweb.confirm("确定要删除这个指标吗?", function () { that.$post(".delete") .params({ + clusterId: that.clusterId, itemId: itemId }) .success(function () { diff --git a/web/views/@default/servers/iplists/index.html b/web/views/@default/servers/iplists/index.html index 8e56e425..5dc0dc05 100644 --- a/web/views/@default/servers/iplists/index.html +++ b/web/views/@default/servers/iplists/index.html @@ -10,9 +10,9 @@ - + - + diff --git a/web/views/@default/servers/metrics/@item_menu.html b/web/views/@default/servers/metrics/@item_menu.html index 1e58cc7e..2d9efb4d 100644 --- a/web/views/@default/servers/metrics/@item_menu.html +++ b/web/views/@default/servers/metrics/@item_menu.html @@ -4,4 +4,5 @@ "{{item.name}}"详情修改图表 + 数据 \ No newline at end of file diff --git a/web/views/@default/servers/metrics/charts.html b/web/views/@default/servers/metrics/charts.html index 952d7082..448ea48f 100644 --- a/web/views/@default/servers/metrics/charts.html +++ b/web/views/@default/servers/metrics/charts.html @@ -1,4 +1,4 @@ {$layout} {$template "item_menu"} -

此功能暂未开通,敬等期待。

\ No newline at end of file +此功能暂未开通,敬等期待。 \ No newline at end of file diff --git a/web/views/@default/servers/metrics/createPopup.html b/web/views/@default/servers/metrics/createPopup.html index e1714df5..4a2f8300 100644 --- a/web/views/@default/servers/metrics/createPopup.html +++ b/web/views/@default/servers/metrics/createPopup.html @@ -28,24 +28,17 @@ diff --git a/web/views/@default/servers/metrics/index.html b/web/views/@default/servers/metrics/index.html index c0667596..884db6e6 100644 --- a/web/views/@default/servers/metrics/index.html +++ b/web/views/@default/servers/metrics/index.html @@ -2,8 +2,8 @@ HTTP - TCP - UDP + | [创建指标] | diff --git a/web/views/@default/servers/metrics/item.html b/web/views/@default/servers/metrics/item.html index 321d6b13..aa4ee4aa 100644 --- a/web/views/@default/servers/metrics/item.html +++ b/web/views/@default/servers/metrics/item.html @@ -12,6 +12,12 @@ + + + + diff --git a/web/views/@default/servers/server/settings/locations/reverseProxy/index.html b/web/views/@default/servers/server/settings/locations/reverseProxy/index.html index 2cb8302e..40cdfec4 100644 --- a/web/views/@default/servers/server/settings/locations/reverseProxy/index.html +++ b/web/views/@default/servers/server/settings/locations/reverseProxy/index.html @@ -10,7 +10,7 @@
-

当前代理服务没有开启,可以通过点击 [更多设置] 开启 。

+ 当前代理服务没有开启,可以通过点击 [更多设置] 开启 。
-

当前代理服务没有开启,可以通过点击 [更多设置] 开启 。

+ 当前代理服务没有开启,可以通过点击 [更多设置] 开启 。
-

当前域名正在审核中,请审核域名的所有人、备案情况等。

+ 当前域名正在审核中,请审核域名的所有人、备案情况等。 diff --git a/web/views/@default/servers/server/settings/waf/groups.html b/web/views/@default/servers/server/settings/waf/groups.html index bc2a4d33..0f545baf 100644 --- a/web/views/@default/servers/server/settings/waf/groups.html +++ b/web/views/@default/servers/server/settings/waf/groups.html @@ -8,7 +8,7 @@ [添加分组] -

当前WAF未启用,设置将在[启用]后生效。

+ 当前WAF未启用,设置将在[启用]后生效。

暂时还没有规则分组。

diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/allowList.html b/web/views/@default/servers/server/settings/waf/ipadmin/allowList.html index b7a071e6..fbf443db 100644 --- a/web/views/@default/servers/server/settings/waf/ipadmin/allowList.html +++ b/web/views/@default/servers/server/settings/waf/ipadmin/allowList.html @@ -4,7 +4,7 @@
{$template "../menu"} -
尚未为当前用户开通此功能。
+ 尚未为当前用户开通此功能。 {$ if .featureIsOn} @@ -15,7 +15,7 @@
-

当前WAF未启用,设置将在[启用]后生效。

+ 当前WAF未启用,设置将在[启用]后生效。

暂时还没有IP。

diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/countries.html b/web/views/@default/servers/server/settings/waf/ipadmin/countries.html index 8eddbc4c..42c08fcc 100644 --- a/web/views/@default/servers/server/settings/waf/ipadmin/countries.html +++ b/web/views/@default/servers/server/settings/waf/ipadmin/countries.html @@ -4,10 +4,10 @@
{$template "../menu"} -
尚未为当前用户开通此功能。
+ 尚未为当前用户开通此功能。 {$ if .featureIsOn} -

当前WAF未启用,设置将在[启用]后生效。

+ 当前WAF未启用,设置将在[启用]后生效。 diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/denyList.html b/web/views/@default/servers/server/settings/waf/ipadmin/denyList.html index 1b89c431..2d44fe58 100644 --- a/web/views/@default/servers/server/settings/waf/ipadmin/denyList.html +++ b/web/views/@default/servers/server/settings/waf/ipadmin/denyList.html @@ -4,7 +4,7 @@
{$template "../menu"} -
尚未为当前用户开通此功能。
+ 尚未为当前用户开通此功能。 {$ if .featureIsOn} @@ -15,7 +15,7 @@
-

当前WAF未启用,设置将在[启用]后生效。

+ 当前WAF未启用,设置将在[启用]后生效。

暂时还没有IP。

diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html b/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html index bee81680..d1ea2261 100644 --- a/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html +++ b/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html @@ -4,10 +4,10 @@
{$template "../menu"} -
尚未为当前用户开通此功能。
+ 尚未为当前用户开通此功能。 {$ if .featureIsOn} -

当前WAF未启用,设置将在[启用]后生效。

+ 当前WAF未启用,设置将在[启用]后生效。 diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/test.html b/web/views/@default/servers/server/settings/waf/ipadmin/test.html index 9d4bb201..a37bfaee 100644 --- a/web/views/@default/servers/server/settings/waf/ipadmin/test.html +++ b/web/views/@default/servers/server/settings/waf/ipadmin/test.html @@ -4,10 +4,10 @@
{$template "../menu"} -
尚未为当前用户开通此功能。
+ 尚未为当前用户开通此功能。 {$ if .featureIsOn} -

当前WAF未启用,设置将在[启用]后生效。

+ 当前WAF未启用,设置将在[启用]后生效。 diff --git a/web/views/@default/settings/authority/index.html b/web/views/@default/settings/authority/index.html index 99012857..beaa8007 100644 --- a/web/views/@default/settings/authority/index.html +++ b/web/views/@default/settings/authority/index.html @@ -1,7 +1,7 @@ {$layout} {$template "menu"} -
认证之后,可以使用企业版功能,当前你还没有认证,[在这里看认证方法]
+认证之后,可以使用企业版功能,当前你还没有认证,[在这里看认证方法]
diff --git a/web/views/@default/settings/server/index.html b/web/views/@default/settings/server/index.html index 8da48d91..b8ece98f 100644 --- a/web/views/@default/settings/server/index.html +++ b/web/views/@default/settings/server/index.html @@ -1,6 +1,6 @@ {$layout} -
服务配置已修改,请在命令行下重启后生效。
+服务配置已修改,请在命令行下重启后生效。

HTTP 修改[演示版无法修改]

ID 名称类型类型 备注IP数量IP数量 操作
状态
统计对象 + {{key}} +
统计周期 diff --git a/web/views/@default/servers/metrics/stats.html b/web/views/@default/servers/metrics/stats.html new file mode 100644 index 00000000..d01e5016 --- /dev/null +++ b/web/views/@default/servers/metrics/stats.html @@ -0,0 +1,27 @@ +{$layout} +{$template "item_menu"} + +

暂时还没有统计数据。

+ + + + + + + + + + + + + + + + + + + + +
指标对象指标值时间集群节点服务
{{stat.keys}}{{stat.value}}{{stat.time}}{{stat.cluster.name}}{{stat.node.name}}{{stat.server.name}}
+ +
\ No newline at end of file diff --git a/web/views/@default/servers/metrics/update.html b/web/views/@default/servers/metrics/update.html index 466300d9..4723c138 100644 --- a/web/views/@default/servers/metrics/update.html +++ b/web/views/@default/servers/metrics/update.html @@ -1,6 +1,8 @@ {$layout "layout"} {$template "item_menu"} +修改统计对象、统计周期、统计数值等参数后,将重新记录数据。 +
@@ -28,24 +30,17 @@