服务器日志分析
目的
当日志保存在远程服务器上时,使用此 Skill 进行服务问题排查。
本 Skill 默认满足以下前提:
- agent 可以通过 SSH 或等价的远程执行工具连接服务器 本 Skill 目录下的 config.yaml 已定义服务信息、日志路径和业务背景 详细分析前,应先按需将日志片段复制到本地 temp/ 目录
必读文件
- 先读取 INLINECODE2 需要字段说明或命令模式时,再读取 INLINECODE3
核心流程
1. 读取 INLINECODE4 将用户问题匹配到一个或多个已配置服务 确定最小必要排查范围:
- 目标服务
- 目标主机
- 相关时间窗口
- 可能涉及的日志文件
4. 通过 SSH 或可用远程工具连接目标服务器 下载前先做远程检查:
- 文件是否存在、文件大小
- 最近修改时间
- 是否仅靠关键词过滤或 tail 即可满足分析
6. 只下载最小必要日志片段到配置中的本地 temp/ 目录 在本地副本上分析错误、时间关联、重复故障和可能根因 输出简洁的诊断结论、证据、不确定性和后续建议
排查规则
- 优先使用 config.yaml 中的服务定义和业务说明,不要凭空猜测 优先在远端过滤,再考虑整文件下载:
- 先缩小时间窗口
- 再按关键词筛选
- 最近故障优先使用 tail
- 只有在片段不足以判断时才下载完整日志 本地保存的日志文件名要清晰体现服务、主机和时间范围 除非用户明确要求,否则不要拉取敏感文件、二进制文件或无关的大型归档 如果问题跨多个服务,先分析主服务,再扩展到相关依赖服务
服务选择
当用户请求不明确时:
1. 使用 config.yaml 中的服务 aliases、keywords 和 INLINECODE10 优先选择语义匹配度最高的服务 仍不明确时,先询问用户要排查哪个服务,再进行远程连接
远程检查清单
下载日志前,先确认:
- 主机配置是否与目标服务匹配 配置中的日志文件是否存在 哪个日志文件最近有更新 是否存在需要关注的滚动日志 本次问题是近期故障还是历史问题
常见远程检查方式包括:
- 文件元信息检查 查看最近日志尾部 快速关键词搜索 按时间窗口提取日志 必要时查看进程或服务状态
本地下载规则
下载后的日志统一保存在配置中的 local_temp_dir 下。
推荐命名格式:
INLINECODE12
优先级顺序如下:
1. 最近日志尾部 关键词过滤片段 指定时间窗口片段 完整文件,作为最后手段
分析重点
重点关注:
- 启动失败 重复异常 超时和连接类问题 资源压力指标 数据库、缓存、消息队列、DNS、HTTP 上游等依赖故障 堆栈或启动日志暴露的配置错误 关联服务之间的时间戳对齐情况
回答结构应包含:
安全约束
- 将 config.yaml 视为运维元数据,不要把明文敏感信息放进去 SSH 凭据优先使用环境变量、密钥文件或外部密钥管理方案 未经用户明确要求,不要修改远端文件,也不要重启服务 未经用户要求,不要自动删除已下载日志
异常处理
如果远程访问失败:
1. 明确说明失败发生在哪一步 说明目标主机和目标服务 请求用户提供正确的 SSH 访问方式、网络路径或凭据
如果配置的日志路径不存在:
1. 明确指出缺失的路径 检查同一服务是否配置了可替代路径 询问用户部署路径是否发生变化
快速执行顺序
每次都按下面顺序执行:
1. 读取 INLINECODE14 识别服务和主机 远程检查日志文件 将最小必要日志复制到 INLINECODE15 在本地分析 汇总结论并给出证据
服务器日志分析
目的
当日志保存在远程服务器上时,使用此 Skill 进行服务问题排查。
本 Skill 默认满足以下前提:
- agent 可以通过 SSH 或等价的远程执行工具连接服务器 本 Skill 目录下的 config.yaml 已定义服务信息、日志路径和业务背景 详细分析前,应先按需将日志片段复制到本地 temp/ 目录
必读文件
- 先读取 config.yaml 需要字段说明或命令模式时,再读取 reference.md
核心流程
1. 读取 config.yaml 将用户问题匹配到一个或多个已配置服务 确定最小必要排查范围:
- 目标服务
- 目标主机
- 相关时间窗口
- 可能涉及的日志文件
4. 通过 SSH 或可用远程工具连接目标服务器 下载前先做远程检查:
- 文件是否存在、文件大小
- 最近修改时间
- 是否仅靠关键词过滤或 tail 即可满足分析
6. 只下载最小必要日志片段到配置中的本地 temp/ 目录 在本地副本上分析错误、时间关联、重复故障和可能根因 输出简洁的诊断结论、证据、不确定性和后续建议
排查规则
- 优先使用 config.yaml 中的服务定义和业务说明,不要凭空猜测 优先在远端过滤,再考虑整文件下载:
- 先缩小时间窗口
- 再按关键词筛选
- 最近故障优先使用 tail
- 只有在片段不足以判断时才下载完整日志 本地保存的日志文件名要清晰体现服务、主机和时间范围 除非用户明确要求,否则不要拉取敏感文件、二进制文件或无关的大型归档 如果问题跨多个服务,先分析主服务,再扩展到相关依赖服务
服务选择
当用户请求不明确时:
1. 使用 config.yaml 中的服务 aliases、keywords 和 description 优先选择语义匹配度最高的服务 仍不明确时,先询问用户要排查哪个服务,再进行远程连接
远程检查清单
下载日志前,先确认:
- 主机配置是否与目标服务匹配 配置中的日志文件是否存在 哪个日志文件最近有更新 是否存在需要关注的滚动日志 本次问题是近期故障还是历史问题
常见远程检查方式包括:
- 文件元信息检查 查看最近日志尾部 快速关键词搜索 按时间窗口提取日志 必要时查看进程或服务状态
本地下载规则
下载后的日志统一保存在配置中的 localtemp dir 下。
推荐命名格式:
name>hint>.log
优先级顺序如下:
1. 最近日志尾部 关键词过滤片段 指定时间窗口片段 完整文件,作为最后手段
分析重点
重点关注:
- 启动失败 重复异常 超时和连接类问题 资源压力指标 数据库、缓存、消息队列、DNS、HTTP 上游等依赖故障 堆栈或启动日志暴露的配置错误 关联服务之间的时间戳对齐情况
回答结构应包含:
安全约束
- 将 config.yaml 视为运维元数据,不要把明文敏感信息放进去 SSH 凭据优先使用环境变量、密钥文件或外部密钥管理方案 未经用户明确要求,不要修改远端文件,也不要重启服务 未经用户要求,不要自动删除已下载日志
异常处理
如果远程访问失败:
1. 明确说明失败发生在哪一步 说明目标主机和目标服务 请求用户提供正确的 SSH 访问方式、网络路径或凭据
如果配置的日志路径不存在:
1. 明确指出缺失的路径 检查同一服务是否配置了可替代路径 询问用户部署路径是否发生变化
快速执行顺序
每次都按下面顺序执行:
1. 读取 config.yaml 识别服务和主机 远程检查日志文件 将最小必要日志复制到 temp/ 在本地分析 汇总结论并给出证据