feat: 新增「部署客户端」日志采集器模块

三种采集器(host-promtail / k8s-daemonset / k8s-fluentbit-sidecar),每种关联已部署 Loki:
- host-promtail:SSH 安装 Promtail(复用 deployBinary)
- k8s-daemonset:helm 安装 Promtail DaemonSet(复用 deployHelm)
- k8s-fluentbit-sidecar:kubectl patch 注入 Fluent Bit sidecar

含 Collector 数据模型、三个部署器、配置模板、CRUD API、前端页面。
附带 UI 优化:ErrorBoundary、部署卡片浏览器访问按钮、菜单名称调整。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Logan.LiandClaude committed 2026-06-29 19:26:41 +08:00
1 parent 2a93de600d
commit 673b2c60c8
17 files changed
+1442 -4

No files matched your search

+34
View File
@@ -166,6 +166,40 @@ export interface PageData<T> {
pageSize: number;
}
// Collector(日志采集器 / 部署客户端)
export interface Collector {
id: number;
name: string;
type: 'host-promtail' | 'k8s-daemonset' | 'k8s-fluentbit-sidecar';
lokiDeploymentID: number;
lokiDeployment?: { id: number; name: string; endpoint: string; status: string };
refType: string;
hostID?: number;
host?: Host;
clusterID?: number;
cluster?: Cluster;
targetDeployment: string;
namespace: string;
logPath: string;
labels: string;
status: string;
statusMessage: string;
createdAt: string;
updatedAt: string;
}
export interface CreateCollectorRequest {
name: string;
type: string;
lokiDeploymentID: number;
hostID?: number;
clusterID?: number;
targetDeployment?: string;
namespace?: string;
logPath?: string;
labels?: string;
}
// Dashboard Stats
export interface DashboardStats {
totalDeployments: number;