mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	实现网络数据包相关统计(商业版本)
This commit is contained in:
		@@ -1021,7 +1021,7 @@ func (this *NodeClusterDAO) FindClusterBasicInfo(tx *dbs.Tx, clusterId int64, ca
 | 
				
			|||||||
	cluster, err := this.Query(tx).
 | 
						cluster, err := this.Query(tx).
 | 
				
			||||||
		Pk(clusterId).
 | 
							Pk(clusterId).
 | 
				
			||||||
		State(NodeClusterStateEnabled).
 | 
							State(NodeClusterStateEnabled).
 | 
				
			||||||
		Result("id", "name", "timeZone", "nodeMaxThreads", "cachePolicyId", "httpFirewallPolicyId", "autoOpenPorts", "webp", "uam", "cc", "httpPages", "http3", "isOn", "ddosProtection", "clock", "globalServerConfig", "autoInstallNftables", "autoSystemTuning").
 | 
							Result("id", "name", "timeZone", "nodeMaxThreads", "cachePolicyId", "httpFirewallPolicyId", "autoOpenPorts", "webp", "uam", "cc", "httpPages", "http3", "isOn", "ddosProtection", "clock", "globalServerConfig", "autoInstallNftables", "autoSystemTuning", "networkSecurity").
 | 
				
			||||||
		Find()
 | 
							Find()
 | 
				
			||||||
	if err != nil || cluster == nil {
 | 
						if err != nil || cluster == nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
@@ -1269,6 +1269,57 @@ func (this *NodeClusterDAO) FindClusterHTTP3Policy(tx *dbs.Tx, clusterId int64,
 | 
				
			|||||||
	return policy, nil
 | 
						return policy, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UpdateClusterNetworkSecurityPolicy 修改网络安全策略设置
 | 
				
			||||||
 | 
					func (this *NodeClusterDAO) UpdateClusterNetworkSecurityPolicy(tx *dbs.Tx, clusterId int64, networkSecurityPolicy *nodeconfigs.NetworkSecurityPolicy) error {
 | 
				
			||||||
 | 
						if networkSecurityPolicy == nil {
 | 
				
			||||||
 | 
							networkSecurityPolicy = nodeconfigs.NewNetworkSecurityPolicy()
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						networkSecurityPolicyJSON, err := json.Marshal(networkSecurityPolicy)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						err = this.Query(tx).
 | 
				
			||||||
 | 
							Pk(clusterId).
 | 
				
			||||||
 | 
							Set("networkSecurity", networkSecurityPolicyJSON).
 | 
				
			||||||
 | 
							UpdateQuickly()
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return this.NotifyNetworkSecurityUpdate(tx, clusterId)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// FindClusterNetworkSecurityPolicy 查询网络安全策略设置
 | 
				
			||||||
 | 
					func (this *NodeClusterDAO) FindClusterNetworkSecurityPolicy(tx *dbs.Tx, clusterId int64, cacheMap *utils.CacheMap) (*nodeconfigs.NetworkSecurityPolicy, error) {
 | 
				
			||||||
 | 
						var cacheKey = this.Table + ":FindClusterNetworkSecurityPolicy:" + types.String(clusterId)
 | 
				
			||||||
 | 
						if cacheMap != nil {
 | 
				
			||||||
 | 
							cache, ok := cacheMap.Get(cacheKey)
 | 
				
			||||||
 | 
							if ok {
 | 
				
			||||||
 | 
								return cache.(*nodeconfigs.NetworkSecurityPolicy), nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						networkSecurityPolicyJSON, err := this.Query(tx).
 | 
				
			||||||
 | 
							Pk(clusterId).
 | 
				
			||||||
 | 
							Result("networkSecurity").
 | 
				
			||||||
 | 
							FindJSONCol()
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if IsNull(networkSecurityPolicyJSON) {
 | 
				
			||||||
 | 
							return nodeconfigs.NewNetworkSecurityPolicy(), nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var policy = nodeconfigs.NewNetworkSecurityPolicy()
 | 
				
			||||||
 | 
						err = json.Unmarshal(networkSecurityPolicyJSON, policy)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return policy, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UpdateClusterHTTPPagesPolicy 修改自定义页面设置
 | 
					// UpdateClusterHTTPPagesPolicy 修改自定义页面设置
 | 
				
			||||||
func (this *NodeClusterDAO) UpdateClusterHTTPPagesPolicy(tx *dbs.Tx, clusterId int64, httpPagesPolicy *nodeconfigs.HTTPPagesPolicy) error {
 | 
					func (this *NodeClusterDAO) UpdateClusterHTTPPagesPolicy(tx *dbs.Tx, clusterId int64, httpPagesPolicy *nodeconfigs.HTTPPagesPolicy) error {
 | 
				
			||||||
	if httpPagesPolicy == nil {
 | 
						if httpPagesPolicy == nil {
 | 
				
			||||||
@@ -1452,6 +1503,11 @@ func (this *NodeClusterDAO) NotifyHTTP3Update(tx *dbs.Tx, clusterId int64) error
 | 
				
			|||||||
	return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeHTTP3PolicyChanged)
 | 
						return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeHTTP3PolicyChanged)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// NotifyNetworkSecurityUpdate 通知网络安全策略更新
 | 
				
			||||||
 | 
					func (this *NodeClusterDAO) NotifyNetworkSecurityUpdate(tx *dbs.Tx, clusterId int64) error {
 | 
				
			||||||
 | 
						return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeNetworkSecurityPolicyChanged)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NotifyHTTPPagesPolicyUpdate 通知HTTP Pages更新
 | 
					// NotifyHTTPPagesPolicyUpdate 通知HTTP Pages更新
 | 
				
			||||||
func (this *NodeClusterDAO) NotifyHTTPPagesPolicyUpdate(tx *dbs.Tx, clusterId int64) error {
 | 
					func (this *NodeClusterDAO) NotifyHTTPPagesPolicyUpdate(tx *dbs.Tx, clusterId int64) error {
 | 
				
			||||||
	return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeHTTPPagesPolicyChanged)
 | 
						return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeHTTPPagesPolicyChanged)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,7 @@ const (
 | 
				
			|||||||
	NodeClusterField_Cc                   dbs.FieldName = "cc"                   // CC设置
 | 
						NodeClusterField_Cc                   dbs.FieldName = "cc"                   // CC设置
 | 
				
			||||||
	NodeClusterField_Http3                dbs.FieldName = "http3"                // HTTP3设置
 | 
						NodeClusterField_Http3                dbs.FieldName = "http3"                // HTTP3设置
 | 
				
			||||||
	NodeClusterField_AutoSystemTuning     dbs.FieldName = "autoSystemTuning"     // 是否自动调整系统参数
 | 
						NodeClusterField_AutoSystemTuning     dbs.FieldName = "autoSystemTuning"     // 是否自动调整系统参数
 | 
				
			||||||
 | 
						NodeClusterField_NetworkSecurity      dbs.FieldName = "networkSecurity"      // 网络安全策略
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NodeCluster 节点集群
 | 
					// NodeCluster 节点集群
 | 
				
			||||||
@@ -89,6 +90,7 @@ type NodeCluster struct {
 | 
				
			|||||||
	Cc                   dbs.JSON `field:"cc"`                   // CC设置
 | 
						Cc                   dbs.JSON `field:"cc"`                   // CC设置
 | 
				
			||||||
	Http3                dbs.JSON `field:"http3"`                // HTTP3设置
 | 
						Http3                dbs.JSON `field:"http3"`                // HTTP3设置
 | 
				
			||||||
	AutoSystemTuning     bool     `field:"autoSystemTuning"`     // 是否自动调整系统参数
 | 
						AutoSystemTuning     bool     `field:"autoSystemTuning"`     // 是否自动调整系统参数
 | 
				
			||||||
 | 
						NetworkSecurity      dbs.JSON `field:"networkSecurity"`      // 网络安全策略
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type NodeClusterOperator struct {
 | 
					type NodeClusterOperator struct {
 | 
				
			||||||
@@ -133,6 +135,7 @@ type NodeClusterOperator struct {
 | 
				
			|||||||
	Cc                   any // CC设置
 | 
						Cc                   any // CC设置
 | 
				
			||||||
	Http3                any // HTTP3设置
 | 
						Http3                any // HTTP3设置
 | 
				
			||||||
	AutoSystemTuning     any // 是否自动调整系统参数
 | 
						AutoSystemTuning     any // 是否自动调整系统参数
 | 
				
			||||||
 | 
						NetworkSecurity      any // 网络安全策略
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func NewNodeClusterOperator() *NodeClusterOperator {
 | 
					func NewNodeClusterOperator() *NodeClusterOperator {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,7 @@ func (this *NodeCluster) DecodeDDoSProtection() *ddosconfigs.ProtectionConfig {
 | 
				
			|||||||
	return result
 | 
						return result
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// HasDDoSProtection 检查是否有DDOS设置
 | 
					// HasDDoSProtection 检查是否有DDoS设置
 | 
				
			||||||
func (this *NodeCluster) HasDDoSProtection() bool {
 | 
					func (this *NodeCluster) HasDDoSProtection() bool {
 | 
				
			||||||
	var config = this.DecodeDDoSProtection()
 | 
						var config = this.DecodeDDoSProtection()
 | 
				
			||||||
	if config != nil {
 | 
						if config != nil {
 | 
				
			||||||
@@ -46,6 +46,27 @@ func (this *NodeCluster) HasDDoSProtection() bool {
 | 
				
			|||||||
	return false
 | 
						return false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// HasNetworkSecurityPolicy 检查是否有安全策略设置
 | 
				
			||||||
 | 
					func (this *NodeCluster) HasNetworkSecurityPolicy() bool {
 | 
				
			||||||
 | 
						var policy = this.DecodeNetworkSecurityPolicy()
 | 
				
			||||||
 | 
						if policy != nil {
 | 
				
			||||||
 | 
							return policy.IsOn()
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// DecodeNetworkSecurityPolicy 解析安全策略设置
 | 
				
			||||||
 | 
					func (this *NodeCluster) DecodeNetworkSecurityPolicy() *nodeconfigs.NetworkSecurityPolicy {
 | 
				
			||||||
 | 
						var policy = nodeconfigs.NewNetworkSecurityPolicy()
 | 
				
			||||||
 | 
						if IsNotNull(this.NetworkSecurity) {
 | 
				
			||||||
 | 
							err := json.Unmarshal(this.NetworkSecurity, policy)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								remotelogs.Error("NodeCluster.DecodeNetworkSecurityPolicy()", err.Error())
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return policy
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DecodeClock 解析时钟配置
 | 
					// DecodeClock 解析时钟配置
 | 
				
			||||||
func (this *NodeCluster) DecodeClock() *nodeconfigs.ClockConfig {
 | 
					func (this *NodeCluster) DecodeClock() *nodeconfigs.ClockConfig {
 | 
				
			||||||
	var clock = nodeconfigs.DefaultClockConfig()
 | 
						var clock = nodeconfigs.DefaultClockConfig()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1221,6 +1221,11 @@ func (this *NodeDAO) ComposeNodeConfig(tx *dbs.Tx, nodeId int64, dataMap *shared
 | 
				
			|||||||
			config.AutoSystemTuning = nodeCluster.AutoSystemTuning
 | 
								config.AutoSystemTuning = nodeCluster.AutoSystemTuning
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// 安全设置
 | 
				
			||||||
 | 
							if clusterIndex == 0 {
 | 
				
			||||||
 | 
								config.NetworkSecurityPolicy = nodeCluster.DecodeNetworkSecurityPolicy()
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		clusterIndex++
 | 
							clusterIndex++
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,21 +17,22 @@ type NodeTaskType = string
 | 
				
			|||||||
const (
 | 
					const (
 | 
				
			||||||
	// CDN相关
 | 
						// CDN相关
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	NodeTaskTypeConfigChanged             NodeTaskType = "configChanged"             // 节点整体配置变化
 | 
						NodeTaskTypeConfigChanged                NodeTaskType = "configChanged"                // 节点整体配置变化
 | 
				
			||||||
	NodeTaskTypeDDosProtectionChanged     NodeTaskType = "ddosProtectionChanged"     // 节点DDoS配置变更
 | 
						NodeTaskTypeDDosProtectionChanged        NodeTaskType = "ddosProtectionChanged"        // 节点DDoS配置变更
 | 
				
			||||||
	NodeTaskTypeGlobalServerConfigChanged NodeTaskType = "globalServerConfigChanged" // 全局服务设置变化
 | 
						NodeTaskTypeGlobalServerConfigChanged    NodeTaskType = "globalServerConfigChanged"    // 全局服务设置变化
 | 
				
			||||||
	NodeTaskTypeIPListDeleted             NodeTaskType = "ipListDeleted"             // IPList被删除
 | 
						NodeTaskTypeIPListDeleted                NodeTaskType = "ipListDeleted"                // IPList被删除
 | 
				
			||||||
	NodeTaskTypeIPItemChanged             NodeTaskType = "ipItemChanged"             // IP条目变更
 | 
						NodeTaskTypeIPItemChanged                NodeTaskType = "ipItemChanged"                // IP条目变更
 | 
				
			||||||
	NodeTaskTypeNodeVersionChanged        NodeTaskType = "nodeVersionChanged"        // 节点版本变化
 | 
						NodeTaskTypeNodeVersionChanged           NodeTaskType = "nodeVersionChanged"           // 节点版本变化
 | 
				
			||||||
	NodeTaskTypeScriptsChanged            NodeTaskType = "scriptsChanged"            // 脚本配置变化
 | 
						NodeTaskTypeScriptsChanged               NodeTaskType = "scriptsChanged"               // 脚本配置变化
 | 
				
			||||||
	NodeTaskTypeNodeLevelChanged          NodeTaskType = "nodeLevelChanged"          // 节点级别变化
 | 
						NodeTaskTypeNodeLevelChanged             NodeTaskType = "nodeLevelChanged"             // 节点级别变化
 | 
				
			||||||
	NodeTaskTypeUserServersStateChanged   NodeTaskType = "userServersStateChanged"   // 用户服务状态变化
 | 
						NodeTaskTypeUserServersStateChanged      NodeTaskType = "userServersStateChanged"      // 用户服务状态变化
 | 
				
			||||||
	NodeTaskTypeUAMPolicyChanged          NodeTaskType = "uamPolicyChanged"          // UAM策略变化
 | 
						NodeTaskTypeUAMPolicyChanged             NodeTaskType = "uamPolicyChanged"             // UAM策略变化
 | 
				
			||||||
	NodeTaskTypeHTTPPagesPolicyChanged    NodeTaskType = "httpPagesPolicyChanged"    // 自定义页面变化
 | 
						NodeTaskTypeHTTPPagesPolicyChanged       NodeTaskType = "httpPagesPolicyChanged"       // 自定义页面变化
 | 
				
			||||||
	NodeTaskTypeHTTPCCPolicyChanged       NodeTaskType = "httpCCPolicyChanged"       // CC策略变化
 | 
						NodeTaskTypeHTTPCCPolicyChanged          NodeTaskType = "httpCCPolicyChanged"          // CC策略变化
 | 
				
			||||||
	NodeTaskTypeHTTP3PolicyChanged        NodeTaskType = "http3PolicyChanged"        // HTTP3策略变化
 | 
						NodeTaskTypeHTTP3PolicyChanged           NodeTaskType = "http3PolicyChanged"           // HTTP3策略变化
 | 
				
			||||||
	NodeTaskTypeUpdatingServers           NodeTaskType = "updatingServers"           // 更新一组服务
 | 
						NodeTaskTypeNetworkSecurityPolicyChanged NodeTaskType = "networkSecurityPolicyChanged" // 网络安全策略变化
 | 
				
			||||||
	NodeTaskTypeTOAChanged                NodeTaskType = "toaChanged"                // TOA配置变化
 | 
						NodeTaskTypeUpdatingServers              NodeTaskType = "updatingServers"              // 更新一组服务
 | 
				
			||||||
 | 
						NodeTaskTypeTOAChanged                   NodeTaskType = "toaChanged"                   // TOA配置变化
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// NS相关
 | 
						// NS相关
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1197,6 +1197,9 @@ func (this *NodeClusterService) FindEnabledNodeClusterConfigInfo(ctx context.Con
 | 
				
			|||||||
		result.Http3IsOn = http3Policy.IsOn
 | 
							result.Http3IsOn = http3Policy.IsOn
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 网络安全策略
 | 
				
			||||||
 | 
						result.HasNetworkSecurityPolicy = cluster.HasNetworkSecurityPolicy()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return result, nil
 | 
						return result, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,3 +11,13 @@ import (
 | 
				
			|||||||
func (this *NodeClusterService) FindNodeClusterHTTP3Policy(ctx context.Context, req *pb.FindNodeClusterHTTP3PolicyRequest) (*pb.FindNodeClusterHTTP3PolicyResponse, error) {
 | 
					func (this *NodeClusterService) FindNodeClusterHTTP3Policy(ctx context.Context, req *pb.FindNodeClusterHTTP3PolicyRequest) (*pb.FindNodeClusterHTTP3PolicyResponse, error) {
 | 
				
			||||||
	return nil, this.NotImplementedYet()
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// FindNodeClusterNetworkSecurityPolicy 获取集群的网络安全策略
 | 
				
			||||||
 | 
					func (this *NodeClusterService) FindNodeClusterNetworkSecurityPolicy(ctx context.Context, req *pb.FindNodeClusterNetworkSecurityPolicyRequest) (*pb.FindNodeClusterNetworkSecurityPolicyResponse, error) {
 | 
				
			||||||
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UpdateNodeClusterNetworkSecurityPolicy 修改集群的网络安全策略
 | 
				
			||||||
 | 
					func (this *NodeClusterService) UpdateNodeClusterNetworkSecurityPolicy(ctx context.Context, req *pb.UpdateNodeClusterNetworkSecurityPolicyRequest) (*pb.RPCSuccess, error) {
 | 
				
			||||||
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,3 +52,8 @@ func (this *NodeService) CopyNodeActionsToNodeCluster(ctx context.Context, req *
 | 
				
			|||||||
func (this *NodeService) FindNodeTOAConfig(ctx context.Context, req *pb.FindNodeTOAConfigRequest) (*pb.FindNodeTOAConfigResponse, error) {
 | 
					func (this *NodeService) FindNodeTOAConfig(ctx context.Context, req *pb.FindNodeTOAConfigRequest) (*pb.FindNodeTOAConfigResponse, error) {
 | 
				
			||||||
	return nil, this.NotImplementedYet()
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// FindNodeNetworkSecurityPolicy 查找节点的网络安全策略
 | 
				
			||||||
 | 
					func (this *NodeService) FindNodeNetworkSecurityPolicy(ctx context.Context, req *pb.FindNodeNetworkSecurityPolicyRequest) (*pb.FindNodeNetworkSecurityPolicyResponse, error) {
 | 
				
			||||||
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -414,6 +414,17 @@ func (this *ServerStatBoardService) ComposeServerStatNodeBoard(ctx context.Conte
 | 
				
			|||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						networkPacketsValues, err := models.SharedNodeValueDAO.ListValues(tx, "node", req.NodeId, nodeconfigs.NodeValueItemNetworkPackets, nodeconfigs.NodeValueRangeMinute)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						for _, v := range networkPacketsValues {
 | 
				
			||||||
 | 
							result.NetworkPacketsValues = append(result.NetworkPacketsValues, &pb.NodeValue{
 | 
				
			||||||
 | 
								ValueJSON: v.Value,
 | 
				
			||||||
 | 
								CreatedAt: int64(v.CreatedAt),
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cacheDirValues, err := models.SharedNodeValueDAO.ListValues(tx, "node", req.NodeId, nodeconfigs.NodeValueItemCacheDir, nodeconfigs.NodeValueRangeMinute)
 | 
						cacheDirValues, err := models.SharedNodeValueDAO.ListValues(tx, "node", req.NodeId, nodeconfigs.NodeValueItemCacheDir, nodeconfigs.NodeValueRangeMinute)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -109840,7 +109840,7 @@
 | 
				
			|||||||
      "name": "edgeNodeClusters",
 | 
					      "name": "edgeNodeClusters",
 | 
				
			||||||
      "engine": "InnoDB",
 | 
					      "engine": "InnoDB",
 | 
				
			||||||
      "charset": "utf8mb4_general_ci",
 | 
					      "charset": "utf8mb4_general_ci",
 | 
				
			||||||
      "definition": "CREATE TABLE `edgeNodeClusters` (\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',\n  `adminId` int(11) unsigned DEFAULT '0' COMMENT '管理员ID',\n  `userId` int(11) unsigned DEFAULT '0' COMMENT '用户ID',\n  `isOn` tinyint(1) unsigned DEFAULT '1' COMMENT '是否启用',\n  `name` varchar(255) DEFAULT NULL COMMENT '名称',\n  `useAllAPINodes` tinyint(1) unsigned DEFAULT '1' COMMENT '是否使用所有API节点',\n  `apiNodes` json DEFAULT NULL COMMENT '使用的API节点',\n  `installDir` varchar(512) DEFAULT NULL COMMENT '安装目录',\n  `order` int(11) unsigned DEFAULT '0' COMMENT '排序',\n  `createdAt` bigint(11) unsigned DEFAULT '0' COMMENT '创建时间',\n  `grantId` int(11) unsigned DEFAULT '0' COMMENT '默认认证方式',\n  `sshParams` json DEFAULT NULL COMMENT 'SSH默认参数',\n  `state` tinyint(1) unsigned DEFAULT '1' COMMENT '状态',\n  `autoRegister` tinyint(1) unsigned DEFAULT '1' COMMENT '是否开启自动注册',\n  `uniqueId` varchar(32) DEFAULT NULL COMMENT '唯一ID',\n  `secret` varchar(32) DEFAULT NULL COMMENT '密钥',\n  `healthCheck` json DEFAULT NULL COMMENT '健康检查',\n  `dnsName` varchar(255) DEFAULT NULL COMMENT 'DNS名称',\n  `dnsDomainId` int(11) unsigned DEFAULT '0' COMMENT '域名ID',\n  `dns` json DEFAULT NULL COMMENT 'DNS配置',\n  `toa` json DEFAULT NULL COMMENT 'TOA配置',\n  `cachePolicyId` int(11) unsigned DEFAULT '0' COMMENT '缓存策略ID',\n  `httpFirewallPolicyId` int(11) unsigned DEFAULT '0' COMMENT 'WAF策略ID',\n  `accessLog` json DEFAULT NULL COMMENT '访问日志设置',\n  `systemServices` json DEFAULT NULL COMMENT '系统服务设置',\n  `timeZone` varchar(64) DEFAULT NULL COMMENT '时区',\n  `nodeMaxThreads` int(11) unsigned DEFAULT '0' COMMENT '节点最大线程数',\n  `ddosProtection` json DEFAULT NULL COMMENT 'DDoS防护设置',\n  `autoOpenPorts` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动尝试开放端口',\n  `isPinned` tinyint(1) unsigned DEFAULT '0' COMMENT '是否置顶',\n  `webp` json DEFAULT NULL COMMENT 'WebP设置',\n  `uam` json DEFAULT NULL COMMENT 'UAM设置',\n  `clock` json DEFAULT NULL COMMENT '时钟配置',\n  `globalServerConfig` json DEFAULT NULL COMMENT '全局服务配置',\n  `autoRemoteStart` tinyint(1) unsigned DEFAULT '1' COMMENT '自动远程启动',\n  `autoInstallNftables` tinyint(1) unsigned DEFAULT '0' COMMENT '自动安装nftables',\n  `isAD` tinyint(1) unsigned DEFAULT '0' COMMENT '是否为高防集群',\n  `httpPages` json DEFAULT NULL COMMENT '自定义页面设置',\n  `cc` json DEFAULT NULL COMMENT 'CC设置',\n  `http3` json DEFAULT NULL COMMENT 'HTTP3设置',\n  `autoSystemTuning` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动调整系统参数',\n  PRIMARY KEY (`id`),\n  KEY `uniqueId` (`uniqueId`),\n  KEY `grantId` (`grantId`),\n  KEY `dnsDomainId` (`dnsDomainId`),\n  KEY `cachePolicyId` (`cachePolicyId`),\n  KEY `httpFirewallPolicyId` (`httpFirewallPolicyId`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点集群'",
 | 
					      "definition": "CREATE TABLE `edgeNodeClusters` (\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',\n  `adminId` int(11) unsigned DEFAULT '0' COMMENT '管理员ID',\n  `userId` int(11) unsigned DEFAULT '0' COMMENT '用户ID',\n  `isOn` tinyint(1) unsigned DEFAULT '1' COMMENT '是否启用',\n  `name` varchar(255) DEFAULT NULL COMMENT '名称',\n  `useAllAPINodes` tinyint(1) unsigned DEFAULT '1' COMMENT '是否使用所有API节点',\n  `apiNodes` json DEFAULT NULL COMMENT '使用的API节点',\n  `installDir` varchar(512) DEFAULT NULL COMMENT '安装目录',\n  `order` int(11) unsigned DEFAULT '0' COMMENT '排序',\n  `createdAt` bigint(11) unsigned DEFAULT '0' COMMENT '创建时间',\n  `grantId` int(11) unsigned DEFAULT '0' COMMENT '默认认证方式',\n  `sshParams` json DEFAULT NULL COMMENT 'SSH默认参数',\n  `state` tinyint(1) unsigned DEFAULT '1' COMMENT '状态',\n  `autoRegister` tinyint(1) unsigned DEFAULT '1' COMMENT '是否开启自动注册',\n  `uniqueId` varchar(32) DEFAULT NULL COMMENT '唯一ID',\n  `secret` varchar(32) DEFAULT NULL COMMENT '密钥',\n  `healthCheck` json DEFAULT NULL COMMENT '健康检查',\n  `dnsName` varchar(255) DEFAULT NULL COMMENT 'DNS名称',\n  `dnsDomainId` int(11) unsigned DEFAULT '0' COMMENT '域名ID',\n  `dns` json DEFAULT NULL COMMENT 'DNS配置',\n  `toa` json DEFAULT NULL COMMENT 'TOA配置',\n  `cachePolicyId` int(11) unsigned DEFAULT '0' COMMENT '缓存策略ID',\n  `httpFirewallPolicyId` int(11) unsigned DEFAULT '0' COMMENT 'WAF策略ID',\n  `accessLog` json DEFAULT NULL COMMENT '访问日志设置',\n  `systemServices` json DEFAULT NULL COMMENT '系统服务设置',\n  `timeZone` varchar(64) DEFAULT NULL COMMENT '时区',\n  `nodeMaxThreads` int(11) unsigned DEFAULT '0' COMMENT '节点最大线程数',\n  `ddosProtection` json DEFAULT NULL COMMENT 'DDoS防护设置',\n  `autoOpenPorts` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动尝试开放端口',\n  `isPinned` tinyint(1) unsigned DEFAULT '0' COMMENT '是否置顶',\n  `webp` json DEFAULT NULL COMMENT 'WebP设置',\n  `uam` json DEFAULT NULL COMMENT 'UAM设置',\n  `clock` json DEFAULT NULL COMMENT '时钟配置',\n  `globalServerConfig` json DEFAULT NULL COMMENT '全局服务配置',\n  `autoRemoteStart` tinyint(1) unsigned DEFAULT '1' COMMENT '自动远程启动',\n  `autoInstallNftables` tinyint(1) unsigned DEFAULT '0' COMMENT '自动安装nftables',\n  `isAD` tinyint(1) unsigned DEFAULT '0' COMMENT '是否为高防集群',\n  `httpPages` json DEFAULT NULL COMMENT '自定义页面设置',\n  `cc` json DEFAULT NULL COMMENT 'CC设置',\n  `http3` json DEFAULT NULL COMMENT 'HTTP3设置',\n  `autoSystemTuning` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动调整系统参数',\n  `networkSecurity` json DEFAULT NULL COMMENT '网络安全策略',\n  PRIMARY KEY (`id`),\n  KEY `uniqueId` (`uniqueId`),\n  KEY `grantId` (`grantId`),\n  KEY `dnsDomainId` (`dnsDomainId`),\n  KEY `cachePolicyId` (`cachePolicyId`),\n  KEY `httpFirewallPolicyId` (`httpFirewallPolicyId`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点集群'",
 | 
				
			||||||
      "fields": [
 | 
					      "fields": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "name": "id",
 | 
					          "name": "id",
 | 
				
			||||||
@@ -110005,6 +110005,10 @@
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
          "name": "autoSystemTuning",
 | 
					          "name": "autoSystemTuning",
 | 
				
			||||||
          "definition": "tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动调整系统参数'"
 | 
					          "definition": "tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动调整系统参数'"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "name": "networkSecurity",
 | 
				
			||||||
 | 
					          "definition": "json COMMENT '网络安全策略'"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      "indexes": [
 | 
					      "indexes": [
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user