server-log-analysis-en

通过 SSH 连接远程服务器,智能提取日志片段并本地分析故障原因。

已扫描
适合谁
运维工程师、开发人员
不适合谁
无远程服务器访问权限的用户、不熟悉 SSH 或日志结构的初学者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @hgvgfgvh/server-log-analysis-en

Skill 说明

命令、参数、文件名以原文为准

服务器日志分析

目的

使用此技能在日志存储于远程服务器时,排查服务问题。

本技能假设:

  • 代理可通过 SSH 或其他等效远程执行工具连接到服务器。
  • 此技能目录下的 config.yaml 文件定义了服务元数据、日志路径和业务上下文。
  • 在深入分析前,应先将相关日志片段复制到本地的 temp/ 目录中。

必读内容

  • 首先阅读 config.yaml
  • 当需要字段详情或命令模式时,参考 reference.md

核心工作流程

  1. 读取 config.yaml
  2. 将用户提出的问题映射到一个或多个已配置的服务。
  3. 确定最小必要调查范围:

- 目标服务

- 目标主机

- 相关时间窗口

- 候选日志文件

  1. 通过 SSH 或可用的远程工具连接目标服务器。
  2. 下载前执行远程检查:

- 文件是否存在及大小

- 最后修改时间

- 是否仅需关键字过滤或尾部输出即可满足需求

  1. 仅下载最小必需的日志片段至配置的本地 temp/ 目录。
  2. 对本地副本进行分析,识别错误、时间关联性、重复失败,并推断可能的根本原因。
  3. 输出简洁诊断结论,包含:结论、证据、不确定性说明以及后续行动建议。

调查规则

  • 优先依据 config.yaml 中的服务定义和业务上下文,不得主观猜测。
  • 优先在远程端进行过滤后再下载完整日志:

- 先缩小时间范围

- 再按关键词过滤

- 对近期事件优先使用 tail 查看

  • 仅当片段信息不足时才下载完整日志。
  • 本地文件名应清晰包含服务名、主机名和时间范围。
  • 除非明确要求,否则不获取敏感文件、二进制文件或无关的大容量归档。
  • 针对跨服务问题,应先分析主服务,再逐步扩展至依赖项。

服务选择

当用户意图不明确时:

  1. 使用 config.yaml 中的 aliaseskeywordsdescription 字段。
  2. 选择语义匹配度最高的服务。
  3. 若仍无法确定,应在建立远程连接前向用户确认要检查的服务。

远程预检清单

在下载日志前,请确认:

  • 主机配置与目标服务一致
  • 配置的日志文件确实存在
  • 哪个日志文件最近被更新
  • 是否需要包含滚动日志(rolling logs)
  • 问题是否为近期发生或历史遗留

常见远程检查包括:

  • 文件元数据检查
  • 最近日志尾部检查
  • 快速关键词搜索
  • 时间窗口提取
  • 必要时检查进程/服务状态

本地下载规则

将下载的日志存放在配置的 local_temp_dir 目录下。

推荐文件命名格式:

<service>__<host>__<log_name>__<time_hint>.log

优先级顺序:

  1. 最近的尾部日志
  2. 关键词过滤后的片段
  3. 明确指定时间窗口的片段
  4. 完整文件作为最后手段

分析重点

重点关注:

  • 启动失败
  • 重复异常
  • 超时与连接问题
  • 资源压力信号
  • 数据库/缓存/消息队列/DNS/HTTP上游依赖的失败
  • 由堆栈跟踪或启动日志暴露的配置错误
  • 相关服务间的时间戳对齐情况

响应内容应包含:

  • 问题摘要
  • 关键证据
  • 初步原因判断
  • 信心水平评估
  • 下一步验证步骤

安全约束

  • config.yaml 视作运维元数据;不要以明文形式存储敏感信息。
  • 优先使用环境变量、密钥文件或外部密钥管理器来管理 SSH 凭据。
  • 除非明确请求,否则不得修改远程文件或重启服务。
  • 除非用户要求,否则不自动删除已下载的日志。

异常处理

若远程访问失败:

  1. 明确指出失败步骤。
  2. 说明目标主机和服务。
  3. 询问用户正确的 SSH 访问方式、网络路径或凭证。

若配置的日志路径不存在:

  1. 明确指出缺失路径。
  2. 检查同一服务是否配置了其他备用路径。
  3. 询问用户部署路径是否发生变化。

快速执行顺序

始终遵循以下顺序:

  1. 读取 config.yaml
  2. 确定服务和主机。
  3. 执行远程日志预检。
  4. 将最小必要日志复制到 temp/
  5. 在本地进行分析。
  6. 总结结论并附上证据。
H
@hgvgfgvh

已收录 2 个 Skill

相关推荐