Files
Logan.Li e0d652d211 feat: 完善堡垒机与 Agent 智能运维能力
- 支持 Windows Agent 构建、安装脚本和统一上报协议

- 增强 RDP 剪贴板、虚拟盘和文件传输能力

- 新增 AIOps 上下文工具、告警 RCA trace 落库和回放接口

- 重构 docs 模块文档并补充终端、堡垒机、监控、AI Agent 设计
2026-07-05 23:49:36 +08:00

4.1 KiB

日志中心设计说明

更新:2026-07-05 范围:Loki/Elasticsearch 数据源、统一日志查询、字段发现、查询历史、保存查询、日志告警、日志 RBAC。// Logan.Li


定位

日志中心负责把多种日志后端统一成一个查询工作台,重点不是采集日志,而是:

  1. 管理日志数据源。
  2. 代理查询 Loki / Elasticsearch。
  3. 提供统一查询体验和结果展示。
  4. 从查询条件生成日志告警。
  5. 按用户/角色限制可见数据源、索引、标签范围。

能力矩阵

能力 当前状态 说明
Loki 查询代理 已完成 后端代理查询,前端统一展示
ES 查询代理 已完成 支持索引、字段、结果解析
日志数据源管理 已完成 创建、测试、配置
查询编辑器 已完成 快速查询、自动补全、查询构建
时间范围 已完成 TimeRangePicker
字段侧栏 已完成 字段统计和过滤
查询历史/保存查询 已完成 前端交互能力
日志告警 已完成 从查询创建告警规则
日志 RBAC 已完成 log scope role

主要代码落点

层 文件 / 目录 说明
后端控制器 backend/controller/log_datasource.go 日志数据源 CRUD
后端控制器 backend/controller/log_proxy.go Loki/ES 查询代理
后端控制器 backend/controller/log_proxy_explore.go 探索式查询能力
后端控制器 backend/controller/log_scope_role.go 日志范围权限
后端模型 backend/model/log_datasource.go 日志数据源
后端模型 backend/model/log_scope_role.go 日志 RBAC
前端 API frontend/src/api/log/ 日志中心 API
前端组件 frontend/src/components/monitor/log-center/ 日志中心完整 UI

查询链路

LogCenter UI
  ├── select datasource
  ├── build query
  ├── choose time range
  └── GET/POST /api/v1/log/...
        │
        ▼
Backend log proxy
  ├── load datasource
  ├── check log RBAC
  ├── translate request
  ├── query Loki / ES
  ├── normalize response
  └── return unified result

统一结果建议包含:

字段 说明
timestamp 日志时间
message 原始消息
labels Loki label 或 ES 字段标签
fields 结构化字段
source 数据源和索引/stream
raw 原始日志对象

数据源模型

字段 说明
name 数据源名称
type loki / elasticsearch
endpoint 服务地址
auth_type none / basic / token
config 索引、租户、TLS、超时等 JSON
status active / inactive

敏感字段必须后端加密或脱敏返回,前端不应展示密码/token。


日志告警

Saved Query / Current Query
  → create log alert rule
  → alert engine query log datasource
  → match count / pattern
  → create alert event
  → notify policy

建议规则字段:

字段 说明
datasource_id 日志数据源
query Loki LogQL 或 ES DSL/QueryString
time_window 查询窗口
condition count > N / contains / no data
severity warning / critical
labels 业务、环境、服务

日志 RBAC

日志权限不只按页面菜单控制,还应按数据范围控制:

维度 示例
数据源 只能看生产 Loki,不能看审计 ES
索引/stream 只能看 app-*
标签 namespace=dev、app=order
查询语法 禁止超大范围、禁止敏感索引

验收清单

  1. Loki 数据源测试成功并能查询日志。
  2. ES 数据源测试成功并能查询索引日志。
  3. 查询时间范围切换后 URL/状态同步正确。
  4. 字段侧栏能展示字段和值分布。
  5. 从查询创建日志告警后能触发事件。
  6. 无权限用户无法查询受限数据源或标签。
  7. 查询超时、后端不可达时前端错误明确。