elk-fetch
按 request id 查 ELK / Elasticsearch 日志的小工具 + Claude Code Skill。
核心能力
- 绕开 Kibana CAS 登录,直接走 ES HTTP API
- 多账号 profile(不同业务用不同 ES 账号,支持多 ES 集群)
- 多业务 preset(业务语义 → 索引/字段/过滤条件,一键套用)
- 深度 JSON 字段自动解析(如
rejectInfo/message/key_value/response_infos里的嵌套 JSON) - 按点号路径(
a.b.0.c)提取嵌套字段 / 仅输出指定字段
快速开始
git clone git@git.n.xiaomi.com:zhongsiyao/elk-fetch.git
cd elk-fetch
pip install "elasticsearch<8" urllib3
# 默认查主 NLP 日志
python elk_query.py <your_request_id>
账号密码(团队共用)已经在仓库里的 profiles.json 中,clone 完即可用。想用自己的账号则 ELK_FETCH_PROFILES=/path/to/profiles.json 指向别处。
完整用法
- 怎么选 preset / Kibana URL 转参数 / 命令模板 →
SKILL.md - 每张表的字段 schema / JSON 字符串内部结构 / 新增索引流程 →
INDEX_CATALOG.md - 业务深入(每个主题一份排查 playbook)→
business/:business/keyword-free.md— 免唤醒判决(拒识 / kwfree 两张表三个视角)business/intent-arbitrator.md— 中控仲裁business/micar-onetrack.md— 小米汽车 OneTrack 端侧埋点
作为 Claude Code Skill 使用
把本仓库 clone / 软链到 ~/.claude/skills/elk-fetch/,Claude Code 会根据 SKILL.md 的触发条件(给出 Kibana 链接、提到 requestId / 某类业务日志等)自动调用。