mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-06 23:56:37 +08:00
feat(access-logs): 明细详情支持 IP 分析与 URL Tab 记忆
- 新增单 IP 分析接口,趋势时间范围支持至 30 天 - 明细详情弹窗展示趋势、汇总与 Top 分布,可快捷管理 IP 组 - 访问日志页签改为 URL 参数记忆,筛选后保持当前 Tab
This commit is contained in:
@@ -3,6 +3,8 @@ import type {
|
||||
AccessLogCleanupPayload,
|
||||
AccessLogCleanupResult,
|
||||
AccessLogFilters,
|
||||
AccessLogIPAnalysis,
|
||||
AccessLogIPAnalysisFilters,
|
||||
AccessLogIPSummaryFilters,
|
||||
AccessLogIPSummaryList,
|
||||
AccessLogIPTrend,
|
||||
@@ -73,6 +75,15 @@ export class AccessLogService extends OpenFlareBaseService {
|
||||
);
|
||||
}
|
||||
|
||||
static getIPAnalysis(
|
||||
filters: AccessLogIPAnalysisFilters,
|
||||
): Promise<AccessLogIPAnalysis> {
|
||||
return this.get<AccessLogIPAnalysis>(
|
||||
'/ip-summary/analysis',
|
||||
buildSearchParams(filters),
|
||||
);
|
||||
}
|
||||
|
||||
static cleanup(
|
||||
payload: AccessLogCleanupPayload,
|
||||
): Promise<AccessLogCleanupResult> {
|
||||
|
||||
@@ -82,6 +82,8 @@ export type {
|
||||
AccessLogCleanupPayload,
|
||||
AccessLogCleanupResult,
|
||||
AccessLogFilters,
|
||||
AccessLogIPAnalysis,
|
||||
AccessLogIPAnalysisFilters,
|
||||
AccessLogIPSummaryFilters,
|
||||
AccessLogIPSummaryItem,
|
||||
AccessLogIPSummaryList,
|
||||
|
||||
@@ -653,6 +653,33 @@ export interface AccessLogIPTrend {
|
||||
points: AccessLogIPTrendPoint[];
|
||||
}
|
||||
|
||||
export interface AccessLogIPAnalysisFilters {
|
||||
node_id?: string;
|
||||
remote_addr: string;
|
||||
host?: string;
|
||||
hours?: number;
|
||||
}
|
||||
|
||||
export interface AccessLogIPAnalysis {
|
||||
remote_addr: string;
|
||||
hours: number;
|
||||
generated_at: string;
|
||||
summary: {
|
||||
total_requests: number;
|
||||
error_count: number;
|
||||
bandwidth_served: number;
|
||||
bytes_received: number;
|
||||
unique_hosts: number;
|
||||
unique_paths: number;
|
||||
};
|
||||
top_paths: DistributionItem[];
|
||||
top_hosts: DistributionItem[];
|
||||
status_codes: DistributionItem[];
|
||||
top_user_agents: DistributionItem[];
|
||||
device_types: DistributionItem[];
|
||||
top_browsers: DistributionItem[];
|
||||
}
|
||||
|
||||
export interface AccessLogCleanupPayload {
|
||||
retention_days: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user