Files
pyGoEdge-UserPanel/reference/goedge 文档/ServerStatBoardService.md

225 lines
5.9 KiB
Markdown
Raw Normal View History

2025-11-18 03:36:49 +08:00
# ServerStatBoardService
> 统计看板
---
## composeServerStatBoard
> 组合服务看板数据
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/ServerStatBoardService/composeServerStatBoard`
- RPC`rpc composeServerStatBoard (ComposeServerStatBoardRequest) returns (ComposeServerStatBoardResponse);`
**请求对象 (`ComposeServerStatBoardRequest`)**
```json
{
"serverId": "int64 // 服务ID网站ID"
}
```
**响应对象 (`ComposeServerStatBoardResponse`)**
```json
{
"minutelyPeekBandwidthBytes": "int64 // 当前带宽N分钟峰值",
"dailyPeekBandwidthBytes": "int64 // 当天带宽峰值",
"monthlyPeekBandwidthBytes": "int64 // 当月带宽峰值",
"lastMonthlyPeekBandwidthBytes": "int64 // 上个月带宽峰值",
"dailyCountIPs": "int64 // 当天独立IP",
"dailyTrafficBytes": "int64 // 当天流量",
"bandwidthPercentile": "int32",
"minutelyBandwidthStats": "[]ServerBandwidthStat // 分钟级的带宽统计",
"minutelyNthBandwidthStat": "ServerBandwidthStat",
"dailyTrafficStats": "[]DailyTrafficStat",
"hourlyTrafficStats": "[]HourlyTrafficStat",
"topNodeStats": "[]NodeStat",
"topCountryStats": "[]CountryStat",
"metricDataCharts": "[]MetricDataChart",
"day": "string",
"bytes": "int64",
"cachedBytes": "int64",
"countRequests": "int64",
"countCachedRequests": "int64",
"countAttackRequests": "int64",
"attackBytes": "int64",
"hour": "string",
"nodeId": "int64 // 节点ID",
"nodeName": "string",
"countryName": "string",
"percent": "float // 流量占比"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/ServerStatBoardService/composeServerStatBoard" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## composeServerStatNodeBoard
> 组合节点看板数据
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/ServerStatBoardService/composeServerStatNodeBoard`
- RPC`rpc composeServerStatNodeBoard (ComposeServerStatNodeBoardRequest) returns (ComposeServerStatNodeBoardResponse);`
**请求对象 (`ComposeServerStatNodeBoardRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`ComposeServerStatNodeBoardResponse`)**
```json
{
"isActive": "bool",
"trafficInBytes": "int64",
"trafficOutBytes": "int64",
"countRequests": "int64",
"countAttackRequests": "int64",
"countConnections": "int64",
"cacheDiskSize": "int64",
"cacheMemorySize": "int64",
"cpuUsage": "float",
"memoryUsage": "float",
"memoryTotalSize": "int64",
"load": "float",
"monthlyTrafficBytes": "int64 // 当月流量",
"dailyTrafficBytes": "int64 // 当日流量",
"lastDailyTrafficBytes": "int64 // 昨日流量",
"dailyTrafficStats": "[]DailyTrafficStat",
"hourlyTrafficStats": "[]HourlyTrafficStat",
"cpuNodeValues": "[]NodeValue // CPU数据",
"memoryNodeValues": "[]NodeValue // 内存数据",
"loadNodeValues": "[]NodeValue // 负载数据",
"cacheDirsValues": "[]NodeValue // 缓存目录数据",
"networkPacketsValues": "[]NodeValue // 网络数据包数据",
"metricDataCharts": "[]MetricDataChart",
"day": "string",
"bytes": "int64",
"cachedBytes": "int64",
"countCachedRequests": "int64",
"attackBytes": "int64",
"hour": "string"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/ServerStatBoardService/composeServerStatNodeBoard" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## composeServerStatNodeClusterBoard
> 组合集群看板数据
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/ServerStatBoardService/composeServerStatNodeClusterBoard`
- RPC`rpc composeServerStatNodeClusterBoard (ComposeServerStatNodeClusterBoardRequest) returns (ComposeServerStatNodeClusterBoardResponse);`
**请求对象 (`ComposeServerStatNodeClusterBoardRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`ComposeServerStatNodeClusterBoardResponse`)**
```json
{
"countActiveNodes": "int64 // 在线节点",
"countInactiveNodes": "int64 // 离线节点",
"countServers": "int64 // 服务数量",
"countUsers": "int64 // 用户数量",
"monthlyTrafficBytes": "int64 // 当月流量",
"dailyTrafficBytes": "int64 // 当日流量",
"lastDailyTrafficBytes": "int64 // 昨日流量",
"dailyTrafficStats": "[]DailyTrafficStat",
"hourlyTrafficStats": "[]HourlyTrafficStat",
"topNodeStats": "[]NodeStat",
"cpuNodeValues": "[]NodeValue",
"memoryNodeValues": "[]NodeValue",
"loadNodeValues": "[]NodeValue",
"metricDataCharts": "[]MetricDataChart // 指标图表",
"day": "string // 日流量统计",
"bytes": "int64",
"cachedBytes": "int64",
"countRequests": "int64",
"countCachedRequests": "int64",
"countAttackRequests": "int64",
"attackBytes": "int64",
"hour": "string // 小时流量统计",
"nodeId": "int64 // 节点ID",
"nodeName": "string"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/ServerStatBoardService/composeServerStatNodeClusterBoard" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllEnabledServerStatBoards
> 读取所有看板
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/ServerStatBoardService/findAllEnabledServerStatBoards`
- RPC`rpc findAllEnabledServerStatBoards (FindAllEnabledServerStatBoardsRequest) returns (FindAllEnabledServerStatBoardsResponse);`
**请求对象 (`FindAllEnabledServerStatBoardsRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`FindAllEnabledServerStatBoardsResponse`)**
```json
{
"serverStatBoards": "[]ServerStatBoard"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/ServerStatBoardService/findAllEnabledServerStatBoards" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---