syntax = "proto3"; option go_package = "./pb"; package pb; import "models/model_server_stat_board.proto"; import "models/model_node_value.proto"; import "models/model_metric_chart.proto"; import "models/model_metric_stat.proto"; // 统计看板 service ServerStatBoardService { // 读取所有看板 rpc findAllEnabledServerStatBoards (FindAllEnabledServerStatBoardsRequest) returns (FindAllEnabledServerStatBoardsResponse); // 组合集群看板数据 rpc composeServerStatNodeClusterBoard (ComposeServerStatNodeClusterBoardRequest) returns (ComposeServerStatNodeClusterBoardResponse); // 组合节点看板数据 rpc composeServerStatNodeBoard (ComposeServerStatNodeBoardRequest) returns (ComposeServerStatNodeBoardResponse); // 组合服务看板数据 rpc composeServerStatBoard (ComposeServerStatBoardRequest) returns (ComposeServerStatBoardResponse); } // 读取所有看板 message FindAllEnabledServerStatBoardsRequest { int64 nodeClusterId = 1; } message FindAllEnabledServerStatBoardsResponse { repeated ServerStatBoard serverStatBoards = 1; } // 组合集群看板数据 message ComposeServerStatNodeClusterBoardRequest { int64 nodeClusterId = 1; } message ComposeServerStatNodeClusterBoardResponse { int64 countActiveNodes = 1; int64 countInactiveNodes = 2; int64 countServers = 3; int64 countUsers = 4; repeated DailyTrafficStat dailyTrafficStats = 30; repeated HourlyTrafficStat hourlyTrafficStats = 31; repeated NodeStat topNodeStats = 32; repeated DomainStat topDomainStats = 33; repeated NodeValue cpuNodeValues = 34; repeated NodeValue memoryNodeValues = 35; repeated NodeValue loadNodeValues = 36; repeated MetricDataChart metricDataCharts = 37; message DailyTrafficStat { string day = 1; int64 bytes = 2; int64 cachedBytes = 3; int64 countRequests = 4; int64 countCachedRequests = 5; int64 countAttackRequests = 6; int64 attackBytes = 7; } message HourlyTrafficStat { string hour = 1; int64 bytes = 2; int64 cachedBytes = 3; int64 countRequests = 4; int64 countCachedRequests = 5; int64 countAttackRequests = 6; int64 attackBytes = 7; } message NodeStat { int64 nodeId = 1; string nodeName = 2; int64 countRequests = 3; int64 bytes = 4; int64 countAttackRequests = 6; int64 attackBytes = 7; } message DomainStat { int64 serverId = 1; string domain = 2; int64 countRequests = 3; int64 bytes = 4; int64 countAttackRequests = 6; int64 attackBytes = 7; } } // 组合节点看板数据 message ComposeServerStatNodeBoardRequest { int64 nodeId = 1; } message ComposeServerStatNodeBoardResponse { bool isActive = 1; int64 trafficInBytes = 2; int64 trafficOutBytes = 3; int64 countRequests = 4; int64 countAttackRequests = 5; int64 countConnections = 6; int64 cacheDiskSize = 7; int64 cacheMemorySize = 8; float cpuUsage = 9; float memoryUsage = 10; int64 memoryTotalSize = 11; float load = 12; repeated DailyTrafficStat dailyTrafficStats = 31; repeated HourlyTrafficStat hourlyTrafficStats = 32; repeated DomainStat topDomainStats = 33; repeated NodeValue cpuNodeValues = 34; repeated NodeValue memoryNodeValues = 35; repeated NodeValue loadNodeValues = 36; repeated NodeValue cacheDirsValues = 38; repeated MetricDataChart metricDataCharts = 37; message DailyTrafficStat { string day = 1; int64 bytes = 2; int64 cachedBytes = 3; int64 countRequests = 4; int64 countCachedRequests = 5; int64 countAttackRequests = 6; int64 attackBytes = 7; } message HourlyTrafficStat { string hour = 1; int64 bytes = 2; int64 cachedBytes = 3; int64 countRequests = 4; int64 countCachedRequests = 5; int64 countAttackRequests = 6; int64 attackBytes = 7; } message DomainStat { int64 serverId = 1; string domain = 2; int64 countRequests = 3; int64 bytes = 4; int64 countAttackRequests = 6; int64 attackBytes = 7; } } // 组合服务看板数据 message ComposeServerStatBoardRequest { int64 serverId = 1; } message ComposeServerStatBoardResponse { repeated DailyTrafficStat dailyTrafficStats = 30; repeated HourlyTrafficStat hourlyTrafficStats = 31; repeated NodeStat topNodeStats = 32; repeated DomainStat topDomainStats = 33; repeated MetricDataChart metricDataCharts = 34; message DailyTrafficStat { string day = 1; int64 bytes = 2; int64 cachedBytes = 3; int64 countRequests = 4; int64 countCachedRequests = 5; int64 countAttackRequests = 6; int64 attackBytes = 7; } message HourlyTrafficStat { string hour = 1; int64 bytes = 2; int64 cachedBytes = 3; int64 countRequests = 4; int64 countCachedRequests = 5; int64 countAttackRequests = 6; int64 attackBytes = 7; } message NodeStat { int64 nodeId = 1; string nodeName = 2; int64 countRequests = 3; int64 bytes = 4; int64 countAttackRequests = 6; int64 attackBytes = 7; } message DomainStat { int64 serverId = 1; string domain = 2; int64 countRequests = 3; int64 bytes = 4; int64 countAttackRequests = 6; int64 attackBytes = 7; } } // 矩阵数据 message MetricDataChart { MetricChart metricChart = 1; repeated MetricStat metricStats = 2; }