Alibabacloud Sysom Diagnosis

Polar Sponsor
爱发电 赞助
.NET 9.0

适用于排查 Linux 服务器性能或稳定性问题——CPU 饱和、高负载、调度延迟、内存压力、OOM 事件、高 RSS、p...

alibabacloud-sysom-诊断

功能概述

alibabacloud-sysom-诊断是一项面向实际任务的技能,主要用于使用 SysOM CLI 和后端信封作为真伪的诊断源;此技能取代了较老的 SysOM 诊断技能, 是 SysOM 的单一切入点。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

alibabacloud-sysom-diagnosis

以 SysOM CLI 和后端信封(envelope)作为诊断事实来源。本 Skill 取代旧版 SysOM 诊断 Skill,是 SysOM ECS 性能与稳定性诊断的统一入口。

即时路由(Immediate Route)

当用户报告症状但尚未提供新鲜的 SysOM 信封输出时,在执行临时 Linux 检查或手动探测前,应先从下方领域路由(Domain Routing)中运行匹配的 SysOM 命令。随后依据返回的 agent.summary、agent.findings[].detail/category 和 agent.next_steps[] 继续操作。仅当 SysOM 命令不可用、输出相互矛盾,或在执行聚焦式 SysOM 命令后仍缺失关键实体时,才将原始 Linux 命令作为有边界的兜底方案。

凭证安全(Credential Security)

切勿打印、回显或索要 AccessKey ID 或 AccessKey Secret 的值。远程命令自行完成身份验证检查。若某命令返回身份验证或权限错误,请向用户解释该错误,并指引其查阅 references/ram-policies.md;凭证配置必须在当前会话之外完成。

CLI 安装配置(CLI Setup)

检查 CLI 是否已就绪:

command -v sysom-osops

如未安装,请执行:

curl -fsSL --connect-timeout 1000 https://sysom-prd-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sysom_prd/skill_cli/install.sh | sudo bash

随后仅验证二进制文件是否存在:

command -v sysom-osops

核心工作流(Core Workflow)

  1. 将用户报告的症状归类至一个 SysOM 领域:内存、IO、负载/CPU、网络或 Java 内存。
  2. 运行匹配该领域的最小 SysOM 命令。对症状不明确的内存问题,优先使用本地 memory classify;其余领域则采用文档中明确对应的远程操作。
  3. 仅读取默认信封字段:ok、error、command 和 agent。
  4. 答案需基于 agent.summary、agent.findings[].detail、agent.findings[].category 和 agent.next_steps[] 构建。保留影响结论解读的证据限定条件,包括时效性、直接信号不可用、兜底证据、以及修复操作的前提条件。
  5. 若根因、关键实体、证据强度及安全的下一步操作均已清晰可见,则立即作答并终止流程。仅当存在缺失实体,或命令明确建议时,才执行一次有针对性的后续操作。

当 classify 在 agent.next_steps[] 中返回一条命令,且尚无根因发现(root-cause finding)包含足够证据支持作答时,应立即执行该命令。不得以人工 Shell 探测替代 Agent 可见的 SysOM 下一步操作。原始 Linux 检查仅在 SysOM 下一步操作成功、失败或超时后,作为有边界的兜底方案使用。

默认情况下,须严格按文档所示方式使用已定义命令。除非用户明确要求查看调试视图,否则不得添加原始(raw)、调试(debug)或后端证据展开(backend evidence expansion)类参数标志。

最终回答应明确指出:所依据的证据、根因、责任方/作用范围(owner/scope)及运维操作目标。除非用户明确要求提供命令,否则不得附加用于验证或修复的 Shell 片段。应优先采用如下表述方式:“在变更窗口内审查依赖项,并禁用或升级泄漏组件”,而非直接给出模块、cgroup、sysctl、清缓存(cache-drop)或进程终止(process-kill)等原始命令。 默认最终答案步骤中,不得包含形如模块检查/卸载、内存摘要命令、cgroup 文件写入、缓存清除控制、sysctl 修改或进程终止等类命令的内联片段。

agent 视图必须自包含(self-contained),满足完整诊断需求。结构化证据属于后端/UI 展示视角,不得作为 Agent 默认所需实体的事实来源。

领域路由(Domain Routing)

用户症状 首选路由
症状不明的内存问题、OOM、高 RSS、文件缓存、shmem/tmpfs、内存 cgroup、套接字内存、内核内存 sysom-osops memory classify
Java 堆、GC 或 JVM 内存问题 当明确涉及 Java 时,使用 sysom-osops memory javamem;否则先启动 memory classify
磁盘响应慢、高 iowait、磁盘延迟、IO 阻塞 先运行 sysom-osops io iofsstat;若概览结果指向 IO 缓慢,则再执行 io iodiagnose
高负载、运行队列积压、任务卡在 CPU 等待状态 根据可见症状选择 sysom-osops load loadtask 或 load delay
丢包、重传、网络超时、抖动 针对丢包/丢弃类症状,使用 sysom-osops net packetdrop;针对延迟波动,使用 net netjitter

关于命令参数,请参阅 references/deep-actions.md 和 references/parameter-guide.md。关于操作系统与地域支持情况,请参阅 references/supported-environments.md。上述参考文档属于本 Skill 的组成部分;请勿使用远程目标文件工具在被诊断主机上打开 .claude/skills 路径下的文件。

内存路由(Memory Routing)

内存诊断遵循与其他所有领域一致的核心工作流与后续操作规则:始终从 sysom-osops memory classify 启动,然后依据可见输出或 agent.next_steps[] 选择下一步操作。如需在多个内存深度操作间进行选择,或确认仍有哪个实体缺失,请加载 references/memory-triage.md(其他领域对应参考文档为 references/non-memory-triage.md)。

下一步内存操作应完全依据可见的 SysOM 输出决定,不得仅凭症状描述文字推断内存机制。

信封契约(Envelope Contract)

默认命令输出即为 Agent 契约:

{
  "ok": true,
  "command": "sysom-osops memory classify",
  "agent": {
    "status": "warning",
    "summary": "简明诊断摘要。",
    "findings": [
      {
        "severity": "high",
        "title": "简短发现标题",
        "detail": "根因、关键实体及证据摘要。",
        "category": "root_cause"
      }
    ],
    "next_steps": [
      {
        "kind": "command",
        "label": "执行聚焦式深度诊断",
        "command": "sysom-osops memory oom",
        "reason": "此命令可补全的缺失实体。"
      }
    ]
  }
}

agent.findings[] 中仅允许包含 severity、title、detail 和 category 字段。PID、cgroup、服务名、文件路径、OOM 受害者、限制值/当前值、残留物、持有者或清理目标等必需实体,必须明确写入 agent.summary 或 agent.findings[].detail 中。

后续操作规则(Follow-up Rules)

  • 优先选择 category=root_cause 的发现;其次按严重性由高到低排序;最后选择最贴合用户所报症状的发现。
  • 当 root_cause 发现的 detail 中已包含解释症状所需的全部实体及安全的下一步操作时,即可视为可终止诊断。
  • agent.next_steps[] 应视为优先级计划,而非待办清单。
  • 仅当新 SysOM 命令能补全某个已命名的缺失实体,或改变修复策略时,才执行该命令。
  • 保留所有影响解读的可见限定条件,例如:当前证据 vs 历史证据、直接信号不可用、用于弥补时效性缺口的兜底证据、以及修复操作的安全前提条件。
  • 若某发现因直接信号不可用而采用兜底证据,则最终回答中必须同时陈述两部分,不得仅以兜底指标为唯一结论依据。
  • 当某聚焦式 SysOM 命令已闭环根因时,应据此作答。无需额外运行命令以追求报告完备性;除非共享同一实体且暴露出明确的证据缺口,否则不应追溯早期 classify 阶段的异常或观察项。
  • 禁止直接调用仅限后端使用的采集器或私有辅助命令。
  • 不得重新检查 SysOM 已在 summary 或 detail 中明确指出的 PID、cgroup、文件、限制值或事件。
  • 当 SysOM 深度命令返回 category=root_cause 且所需实体均已可见时,应直接依据该信封作答。原始 Linux 检查仅用于处理矛盾输出、命令报错或明显缺失实体的情形。
  • 最终回答中,不得将已闭环的实体转化为额外的原始 Linux 验证命令。修复操作应以“依赖感知型动作目标 + 变更窗口计划”的形式表达,除非信封本身已提供可安全执行的下一步操作。
  • 最终答案中应避免可执行的 Shell 片段。若某命令仅适用于变更后的验证环节,应指明需复用的 SysOM 检查项或指标,而非原始 Linux 命令。
  • 该原则同样适用于模块检查/卸载、内存摘要命令、cgroup 文件写入、缓存清除控制、sysctl 修改、进程终止等内联命令名称;应在正文中以自然语言描述其依赖关卡与运维动作目标。
  • 当当前信封无法解释用户报告的症状,而另一 SysOM 领域却指出了更强的根因时,应跨领域切换诊断方向。
  • 诊断过程中,禁止执行任何会改变目标系统状态的修复命令,例如终止进程、删除文件、修改 sysctl 值或写入缓存清除控制接口。此类操作仅可作为建议提出,除非用户明确要求你执行修复。
  • 对于非内存类发现,同样适用该规则:执行一次聚焦式深度命令,待所需实体可见后即作答。

错误处理(Error Handling)

error.code 操作
Sysom.TargetRequired 请求实例 ID 与地域信息,或说明 ECS 元数据自动检测的要求
Sysom.FallbackClassify 呈现本地 classify 结果;仅当存在聚焦式后续操作时才继续
Sysom.PermissionDenied 引用 references/ram-policies.md 解释所需的 RAM 权限
Sysom.AuthenticationFailure 提示用户在当前会话之外配置凭证
Sysom.InvalidParameter 请用户修正实例、地域或命令参数
Sysom.DiagnosisVersionNotSupported 说明目标实例的诊断组件需要更新
Sysom.DiagnosisJsonParseFailed 仅当用户仍需相同证据时,重试一次
Sysom.PollError 当缺失证据仍属必要时,对同一聚焦操作重试一次

参考文档(References)

参考文档 适用场景
references/classify-output-guide.md 阅读本地 memory classify 输出
references/memory-triage.md 选择内存深度操作,或检查内存相关实体是否完备
references/non-memory-triage.md IO、负载/CPU、网络及 Java 诊断的路由决策
references/deep-actions.md 按领域查找 SysOM 命令
references/parameter-guide.md 校验命令参数有效性
references/report-interpretation.md 解读信封字段含义与回答结构
references/ram-policies.md 解释 RAM 权限要求
references/supported-environments.md 核查操作系统、架构及地域支持情况

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习