01 - 系统概览 一句话定位 校园网络日志助手 = ES 之上的"聚合查询编排 + LLM 解释 + 业务影响识别"中间层. 让运维不写 ES DSL, 用自然语言诊断 DNS/DHCP 故障.
不是什么 误解 真值 “替代 ELK” ❌. ES 必须在底层, 本系统不存日志 “替代 Grafana” ❌. 本系统不画 metric 时序图, 只做"问题诊断" “ChatGPT 套壳问答” ❌. 真接你的 ES, 真用 14 个白名单 ES 聚合 query, LLM 只编排不直接读 raw “AI 自动修网络” ❌. 安全三旗物理禁止 (execution_enabled=false). AI 只给建议, 运维手动改 是什么 真能力 真做法 主动发现问题 滚动告警扫描 (10 分钟/次, 看过去 15 分钟 DNS/DHCP 失败率), 越阈值出告警进队列, 运维点告警出 AI 报告 按线索发现问题 运维输入自由文本 “教学区今天 DNS 慢”, LLM 抽时间窗+真凶域名+IP, 跑 14 工具真聚合, 出诊断报告 业务影响识别 asset_registry yaml 维护 12 个业务系统 IP 映射, 报告里直接说"影响统一认证 / 校园门户 / 教务系统 …" 而非 “172.16.x.x” 安全边界 raw_log_scan=false (不直读 raw 日志), preview_only=true (建议预览不执行), execution_enabled=false (禁运维变更) 跟 ELK / Grafana / Prometheus 对比 系统 职责 跟本系统关系 Elasticsearch 存日志 + 提供 DSL 查询 本系统必依赖. 跑在 ES 上层. ES 挂了本系统 fallback 到 2012 历史样本数据 (会显红色 banner) Logstash / Filebeat 日志采集进 ES 本系统不管. 假设 ES 里 dns-dnstap-* syslog-bras-* iaaa_app_baseinfo index 已 ready Kibana ES 探索性查询 + 仪表盘 平行存在. 运维想直接看 raw 日志去 Kibana, 想出诊断报告来本系统 Grafana 时序 metric 图 (CPU/QPS/latency) 不冲突. Grafana 看趋势, 本系统看故障根因. 后续可能加 Grafana datasource 把本系统报告嵌进面板 Prometheus metric 采集 + 告警规则 平行. 本系统的滚动告警是基于 ES 聚合不是 Prometheus rule Sentry / 自建告警 应用层错误告警 不重叠. 本系统是网络层 (DNS/DHCP) 不是应用层 何时该用 / 不该用 ✅ 该用本系统 学生反映 “网慢”, 想 10 分钟内定位是 DNS / DHCP / 上游 / 业务系统 告警平台报了一堆"DNS 失败 N 次", 想 AI 帮把同根因的合并 + 给业务影响 新员工不会写 ES DSL, 想用中文问 “上周三晚上 OA 打不开” 想审计 AI 真凶判定准确度 (跑 R(N) 真后端评估) ❌ 不该用本系统 想看 CPU / 内存 / 带宽时序图 → 用 Grafana 想 grep 某条原始 syslog → 用 Kibana 想自动修复某个故障 (重启 nginx) → 用 Ansible / 自建脚本, 本系统物理禁止变更 想做 SIEM 安全审计 → 用 Splunk / ELK + SIEM 插件, 本系统只看 DNS/DHCP 不看安全事件 核心能力清单 (4 endpoint × 3 段输出) 4 个真后端 endpoint 端 URL 用法 A POST /api/v1/log-assistant/dns/resolver-chain-triage DNS 单端深度诊断 (给定 resolver_ip + 时间窗, 出报告) B POST /api/v1/log-assistant/ai/multiround-triage (protocol=dns) DNS 多轮排障 (AI 自己决定跑哪几个工具) C POST /api/v1/log-assistant/dhcp/ai-tool-triage DHCP 单工具诊断 (5 个 DHCP 聚合查询并跑) D POST /api/v1/log-assistant/ai/multiround-triage (protocol=dhcp) DHCP 多轮排障 加按线索路径 POST /api/v1/log-assistant/clue/diagnose (自由文本输入).
...