From 858cf49966a1fb22b7659ab3dd962ea1b03a13b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Fri, 7 Jul 2023 18:52:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E7=AB=99=E5=88=97=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0QPS=E5=92=8C=E6=94=BB=E5=87=BBQPS=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/web/actions/default/servers/index.go | 35 ++++++++++++------- web/views/@default/servers/index.html | 12 ++++++- web/views/@default/servers/index.js | 8 +++++ 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/internal/web/actions/default/servers/index.go b/internal/web/actions/default/servers/index.go index cd06eaa0..20159c7d 100644 --- a/internal/web/actions/default/servers/index.go +++ b/internal/web/actions/default/servers/index.go @@ -3,6 +3,7 @@ package servers import ( "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/configloaders" + "github.com/TeaOSLab/EdgeAdmin/internal/utils/numberutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs" @@ -28,7 +29,9 @@ func (this *IndexAction) RunGet(params struct { CheckDNS bool UserId int64 - TrafficOutOrder string + TrafficOutOrder string + RequestsOrder string + AttackRequestsOrder string }) { this.Data["clusterId"] = params.ClusterId this.Data["groupId"] = params.GroupId @@ -38,7 +41,7 @@ func (this *IndexAction) RunGet(params struct { this.Data["hasOrder"] = len(params.TrafficOutOrder) > 0 this.Data["userId"] = params.UserId - isSearching := params.AuditingFlag == 1 || params.ClusterId > 0 || params.GroupId > 0 || len(params.Keyword) > 0 + var isSearching = params.AuditingFlag == 1 || params.ClusterId > 0 || params.GroupId > 0 || len(params.Keyword) > 0 if params.AuditingFlag > 0 { this.Data["firstMenuItem"] = "auditing" @@ -89,17 +92,21 @@ func (this *IndexAction) RunGet(params struct { // 服务列表 serversResp, err := this.RPC().ServerRPC().ListEnabledServersMatch(this.AdminContext(), &pb.ListEnabledServersMatchRequest{ - Offset: page.Offset, - Size: page.Size, - NodeClusterId: params.ClusterId, - ServerGroupId: params.GroupId, - Keyword: params.Keyword, - AuditingFlag: params.AuditingFlag, - TrafficOutDesc: params.TrafficOutOrder == "desc", - TrafficOutAsc: params.TrafficOutOrder == "asc", - UserId: params.UserId, - IgnoreServerNames: true, - IgnoreSSLCerts: true, + Offset: page.Offset, + Size: page.Size, + NodeClusterId: params.ClusterId, + ServerGroupId: params.GroupId, + Keyword: params.Keyword, + AuditingFlag: params.AuditingFlag, + TrafficOutDesc: params.TrafficOutOrder == "desc", + TrafficOutAsc: params.TrafficOutOrder == "asc", + RequestsAsc: params.RequestsOrder == "asc", + RequestsDesc: params.RequestsOrder == "desc", + AttackRequestsAsc: params.AttackRequestsOrder == "asc", + AttackRequestsDesc: params.AttackRequestsOrder == "desc", + UserId: params.UserId, + IgnoreServerNames: true, + IgnoreSSLCerts: true, }) if err != nil { this.ErrorPage(err) @@ -248,6 +255,8 @@ func (this *IndexAction) RunGet(params struct { "user": userMap, "auditingTime": auditingTime, "bandwidthBits": bandwidthBits, + "qps": numberutils.FormatCount(server.CountRequests / 300), /** 5 minutes **/ + "attackQPS": numberutils.FormatCount(server.CountAttackRequests / 300), /** 5 minutes **/ }) } this.Data["servers"] = serverMaps diff --git a/web/views/@default/servers/index.html b/web/views/@default/servers/index.html index 83bd1397..cd850b0d 100644 --- a/web/views/@default/servers/index.html +++ b/web/views/@default/servers/index.html @@ -63,7 +63,9 @@ 部署集群 域名 端口 - 下行带宽 + 下行带宽 + QPS + 攻击QPS 状态 操作 @@ -105,6 +107,14 @@ - + + + {{server.qps}} + - + + + {{server.attackQPS}} + -
diff --git a/web/views/@default/servers/index.js b/web/views/@default/servers/index.js index 9d4f776b..8f3622ed 100644 --- a/web/views/@default/servers/index.js +++ b/web/views/@default/servers/index.js @@ -1,4 +1,12 @@ Tea.context(function () { + this.windowWidth = window.innerWidth + this.miniWidth = 760 + this.columnWidth1 = 800 + this.columnWidth2 = 900 + this.columnWidth3 = 1000 + this.columnWidth4 = 1100 + this.columnWidth5 = 1200 + this.servers.forEach(function (v) { v["status"] = { isOk: false,