服务器巡检技能
任务目标
- 本 Skill 用于:服务器运行程序情况综合巡检
- 能力包含:进程识别、端口监听检测、日志读取、多路径分类分析、路径筛选
- 触发条件:用户需要了解服务器上各项目的运行状态时
前置准备
- 依赖说明:psutil==5.9.5(跨平台进程与网络管理库)
- 非标准文件/文件夹准备:无需额外准备
操作步骤
标准流程
-
确定巡检路径
- 使用--paths指定具体路径(逗号分隔)
- 或使用--default-paths启用默认路径列表:/home,/opt,/app,/var/www,/srv -
执行巡检
- 脚本调用示例:
bash python scripts/inspect.py --paths /opt/myapp,/home/app --processes --ports --logs
- 参数说明:--paths: 指定巡检路径(优先级高于 --default-paths)--default-paths: 使用系统预设的常用部署路径--processes: 巡检进程信息--ports: 巡检端口监听--logs: 巡检日志(需配合 --log-pattern 或 --log-paths)--log-pattern: 日志文件匹配模式(默认*.log)--log-paths: 日志目录路径(逗号分隔)--log-lines: 单个日志文件读取行数(默认100)
-
解析输出结果
- 脚本输出 JSON 格式报告
- 按路径分类组织数据
- 每个路径包含:进程列表、端口占用、日志摘要
可选分支
- 当只关心特定项目时,使用
--paths精确指定 - 当需要完整系统概览时,使用
--default-paths - 当日志路径非标准时,使用
--log-paths指定
使用示例
示例1:巡检指定项目
- 场景/输入:
--paths /opt/webapp,/home/api --processes --ports --logs - 预期产出:JSON报告,包含 /opt/webapp 和 /home/api 两个项目的进程、端口、日志详情
- 关键要点:路径需使用绝对路径,多路径用逗号分隔
示例2:系统级快速扫描
- 场景/输入:
--default-paths --processes --ports - 预期产出:所有默认部署路径下运行程序的进程和端口信息
- 关键要点:不包含日志信息,适用于快速状态检查
示例3:仅查看端口占用
- 场景/输入:
--default-paths --ports - 预期产出:所有路径下程序的端口监听情况汇总
- 关键要点:可用于排查端口冲突
资源索引
- 脚本:见 scripts/inspect.py(服务器巡检核心脚本)
- 参考:见 references/output-format.md(JSON输出格式规范)
注意事项
- 脚本需要读取 /proc 目录和执行系统命令,确保有足够权限
- 日志巡检会读取文件末尾,请确认 log-lines 参数避免输出过大
- 进程与路径的关联通过进程的 exe 路径和工作目录判断