mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 20:40:25 +08:00
102 lines
2.3 KiB
Protocol Buffer
102 lines
2.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
option go_package = "./pb";
|
|
|
|
package pb;
|
|
|
|
import "models/rpc_messages.proto";
|
|
import "models/model_http_firewall_rule_group.proto";
|
|
|
|
// 防火墙全局服务
|
|
service FirewallService {
|
|
// 组合看板数据
|
|
rpc composeFirewallGlobalBoard (ComposeFirewallGlobalBoardRequest) returns (ComposeFirewallGlobalBoardResponse);
|
|
|
|
// 发送告警(notify)消息
|
|
rpc notifyHTTPFirewallEvent (NotifyHTTPFirewallEventRequest) returns (RPCSuccess);
|
|
|
|
// 读取当前Block动作次数
|
|
rpc countFirewallDailyBlocks(CountFirewallDailyBlocksRequest) returns (CountFirewallDailyBlocksResponse);
|
|
}
|
|
|
|
// 组合看板数据
|
|
message ComposeFirewallGlobalBoardRequest {
|
|
|
|
}
|
|
|
|
message ComposeFirewallGlobalBoardResponse {
|
|
int64 countDailyLogs = 1;
|
|
int64 countDailyBlocks = 2;
|
|
int64 countDailyCaptcha = 3;
|
|
int64 countWeeklyBlocks = 4;
|
|
|
|
repeated HTTPFirewallRuleGroupStat httpFirewallRuleGroups = 30;
|
|
repeated DailyStat dailyStats = 31;
|
|
repeated HourlyStat hourlyStats = 32;
|
|
repeated NodeStat topNodeStats = 33;
|
|
repeated DomainStat topDomainStats = 34;
|
|
repeated CountryStat topCountryStats = 35;
|
|
|
|
message HTTPFirewallRuleGroupStat {
|
|
HTTPFirewallRuleGroup httpFirewallRuleGroup = 1;
|
|
int64 count = 2;
|
|
}
|
|
|
|
message HourlyStat {
|
|
string hour = 1;
|
|
int64 countLogs = 2;
|
|
int64 countCaptcha = 3;
|
|
int64 countBlocks = 4;
|
|
}
|
|
|
|
message DailyStat {
|
|
string day = 1;
|
|
int64 countLogs = 2;
|
|
int64 countCaptcha = 3;
|
|
int64 countBlocks = 4;
|
|
}
|
|
|
|
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 CountryStat {
|
|
string countryName = 1;
|
|
int64 bytes = 2;
|
|
int64 countRequests = 3;
|
|
float percent = 4; // 流量占比
|
|
int64 countAttackRequests = 6;
|
|
int64 attackBytes = 7;
|
|
}
|
|
}
|
|
|
|
// 发送告警(notify)消息
|
|
message NotifyHTTPFirewallEventRequest {
|
|
int64 serverId = 1;
|
|
int64 httpFirewallPolicyId = 2;
|
|
int64 httpFirewallRuleGroupId = 3;
|
|
int64 httpFirewallRuleSetId = 4;
|
|
int64 createdAt = 5;
|
|
}
|
|
|
|
// 读取当前Block动作次数
|
|
message CountFirewallDailyBlocksRequest {
|
|
|
|
}
|
|
|
|
message CountFirewallDailyBlocksResponse {
|
|
int64 countBlocks = 1;
|
|
} |