slser — SLS 日志查询协调器
slser 不直接查询日志。它负责:① 装好底层 skill 和依赖;② 收集查询所需信息;③ 委托 alibabacloud-sls-query skill 执行实际查询。
触发条件
用户提到"查日志"、"看日志"、"线上报错"、"查 SLS"、"日志分析"、"错误趋势",或给出错误信息要查线上日志。
协调流程
步骤 ① 安装与依赖检查
首次使用时,装好底层 skill 和 CLI(按顺序):
# 1. 装 aliyun CLI(三平台自动适配:Linux/macOS 走官方脚本,Windows 下载 zip)
python <skill-dir>/scripts/install_aliyun_cli.py
# 2. 装 alibabacloud-sls-query skill(按 agent 类型装到对应目录)+ 检查 CLI
python <skill-dir>/scripts/install_sls_query.py
装完后重启 Claude Code 加载新 skill。若提示 aliyun CLI 未装,先跑第 1 条。
⚠️ 安全:凭证用 aliyun configure list 检查,绝不在对话里读/贴 AK/SK。
常用查询脚本(直接调用,勿手敲 aliyun CLI)
sls_query.py 封装了查询样板(时间戳/调用/解析/聚合),优先用它,省 token:
# 列项目 / logstore(信息收集步骤② 动态发现用)
python <skill-dir>/scripts/sls_query.py projects
python <skill-dir>/scripts/sls_query.py logstores --project <P>
# 错误聚合分析(总量/按机器/按时段/归类,一条命令出报告)
python <skill-dir>/scripts/sls_query.py errors --project <P> --logstore <L> --range today
# 通用查询(复杂/非常规 SQL,或委托 alibabacloud-sls-query skill)
python <skill-dir>/scripts/sls_query.py query --project <P> --logstore <L> --query "* | SELECT ..." --range 48h
--range:today(今天0点起)/ 48h(最近N小时)/ 9-11(本地小时区间)。
何时委托 alibabacloud-sls-query skill:sls_query.py 的 errors 覆盖不了的场景(复杂 SQL 设计、SPL 管道、索引调优、结果深度解读)。委托时把已收集的项目/logstore/时间范围传给它。
步骤 ② 信息收集(必须三项齐全)
用 AskUserQuestion 一次性确认:
| 项 | 必填 | 默认 |
|---|---|---|
| 项目(SLS project) | ✅ | 无 |
| 环境(prod/sit/uat 等) | ✅ | 无 |
| 日期范围 | ✅ | 最近 48 小时 |
用户未提供项目/环境时:调用 alibabacloud-sls-query skill 列出当前凭证下可用的 project / logstore,用 AskUserQuestion 给用户选。不预设环境→资源映射——动态发现。
步骤 ③ 委托查询
三项信息齐全后,调用 alibabacloud-sls-query skill 执行查询。把收集到的项目、logstore(按环境动态确定的)、日期范围传给它。查询语法、SQL/SPL 构造、结果解读都由 alibabacloud-sls-query 负责。
边界
- slser 不做查询逻辑封装(那是 alibabacloud-sls-query 的职责)
- slser 不碰 AK/SK(走 aliyun CLI profile)
- 禁止自主扩大查询范围(时间窗、logstore)——须先问用户
与其他 skill 协作
- maycur-ai-log-analyzer:从错误堆栈提取关键字 → slser 收集信息 → alibabacloud-sls-query 查日志
- langfuse skill(官方,用户级安装):日志拿到 traceId → langfuse-cli 查 LLM 调用链