调用审计
每次 AI 调用一条元数据事件:操作者、动作、索引、耗时、结果、token。服务端聚合的看板,差评复审,用量与预算。
审计始终开启,不可关闭。每次 AI 调用(首页、搜索命令、MCP、告警动作、定时任务)写一条事件到 index=_internal sourcetype=copilot:audit:用户、动作、索引、引擎与模型、脱敏档位、工具调用数、耗时、成功、失败或拒绝、token 用量、评分。事件不含日志原文、提示词、模型输出。

看板
一条 SPL 聚合出时间桶(按窗口自动取 5 分钟、1 小时、1 天)、按动作、按结果、按用户、P50 与 P95 耗时。下方为事件列表,按时间、动作、用户、索引、结果、评分筛选。事件详情包含 via(ui、search_command、mcp、alert_action、tick)和错误码。
用量卡显示本月 token、预估成本(配置了 [usage] token_prices 才显示)、月度预算进度。超过 monthly_token_budget 时通过通道发送一次告警,每月只发一次。
差评复审
筛选仅差评列出收到负面反馈的调用,行内可标为已复审、忽略、撤销。复审状态本身也是审计事件(feedback_reviewed),不修改 KV。差评关联的会话在智能查询的历史中可回放;解法库中对应的解法自动降级。

对外转发
[audit_sinks] 把同样的元数据事件转发到 syslog(tcp:// 或 tls://,不支持 UDP)或 webhook。转发失败只记录 audit_sink_failed,不影响请求。配置在系统设置的审计转发块。
用 SPL 查询
index=_internal sourcetype=copilot:audit operation=investigate
| stats avg(latency_ms) p95(latency_ms) count by engine model字段名与看板一致:operation、user、engine、model、masking_mode、tool_calls、latency_ms、refused、error、prompt_tokens、completion_tokens、total_tokens、via、index。