---
title: server-log-doctor
canonical_url: "https://www.modelscope.cn/models/heianxiaowangzi/server-log-doctor"
md_url: "https://www.modelscope.cn/models/heianxiaowangzi/server-log-doctor.md"
repository: heianxiaowangzi/server-log-doctor
chinese_name: server-log-doctor
last_updated: 2026-09-28
pipeline_tag: text-generation
tasks:
  - text-generation
downloads: 0
stars: 0
---

# server-log-doctor

> server-log-doctor - heianxiaowangzi 在 ModelScope 开源的模型。服务器与NAS日志智能诊断Skill：输入日志片段，输出fault_type/severity/root_cause/fix结构化诊断JSON，纯CPU可运行

- **Repository**: heianxiaowangzi/server-log-doctor
- **Tasks**: text-generation
- **Downloads**: 0
- **Stars**: 0
- **Last updated**: 2026-09-28

Source: https://www.modelscope.cn/models/heianxiaowangzi/server-log-doctor

---

# server-log-doctor

将服务器与 NAS 日志片段转成结构化诊断结论的智能运维 Skill。输入一段原始日志，输出包含 `fault_type` / `severity` / `root_cause` / `fix` 的 JSON，可直接被智能体解析执行。

- **适用场景**：磁盘告警、存储空间耗尽、服务崩溃、网络异常、内存/CPU 资源耗尽、安全暴力破解、硬件 SMART/传感器告警
- **运行方式**：纯 CPU 可运行；无 API Key 时自动降级为内置离线规则引擎，无需外网
- **在线推理**：配置魔搭 API Key 后走 `Qwen/Qwen2.5-7B-Instruct` 免费 API-Inference，参考 `data/samples.jsonl` 做 few-shot

## 原理

```
原始日志 ──> 清洗脱敏(sanitize) ──> 诊断 ──> JSON 结论
              │                       │
              │                       ├── 有 MS_API_KEY：大模型 few-shot 推理
              │                       └── 无 MS_API_KEY：离线关键字规则引擎(降级)
```

两条路径的输出 schema 完全一致，Online 与 Offline 可平滑切换，评测脚本 `evaluator.py` 自动按当前环境选择路径。

### fault_type 枚举

| 枚举 | 含义 | 典型日志信号 |
| --- | --- | --- |
| `disk` | 磁盘 I/O 错误 / SMART 告警 | `I/O error`、`Reallocated_Sector_Ct` |
| `storage` | 文件系统空间耗尽 | `No space left`、`ENOSPC` |
| `service` | 服务崩溃 / 反复重启 | `segfault`、`crash`、`core dumped` |
| `network` | 网络连通性 / 链路异常 | `connection refused`、`link down`、`DNS` |
| `resource` | 内存 / CPU 资源耗尽 | `Out of memory`、`Cannot allocate memory`、`load average` |
| `security` | 登录攻击 / 越权访问 | `Failed password`、`avc: denied` |
| `hardware` | 硬件传感器 / 固件错误 | `temperature`、`fan`、`mcelog` |
| `unknown` | 未识别 | 其余情况 |

`severity`：`P0`（紧急，立即处理）、`P1`（高，尽快处理）、`P2`（一般，计划处理）。

## 安装

```bash
git clone <your-repo-url> && cd server-log-doctor
pip install -r requirements.txt          # 仅 requests + PyYAML，轻量
```

不需要安装 modelscope SDK，API-Inference 走 HTTP 即可。

## 调用示例

### 命令行（离线模式，默认）

```bash
python src/diagnose.py "Jul 12 09:31:05 host kernel: sd 0:0:0:0: [sda] I/O error, dev sda, sector 2048"
```

### 命令行（在线模式）

```bash
export MS_API_KEY=your_api_key_here      # 也支持 MS_API_BASE / MS_MODEL 覆盖
python src/diagnose.py "Out of memory: Killed process 1234 (mysqld)"
```

### Python 函数调用

```python
import sys; sys.path.insert(0, "src")
from diagnose import diagnose

result = diagnose("Failed password for invalid user admin from 203.0.113.7 port 51023")
print(result["fault_type"])   # security
```

### 作为 Agent Skill

本仓库目录即 Skill 包结构（`SKILL.md` + `src/` + `data/` + `docs/`），注册后智能体按 `SKILL.md` 自动发现与调用，输入一段日志文本即可拿到 JSON。

更多示例见 `examples/usage.md`。

## 数据与脱敏

- `data/samples.jsonl`：30 条已标注样本，作为大模型 few-shot 参考（每条含完整 `root_cause` / `fix`）
- `data/test.jsonl`：20 条评测样本，用于准确率评估
- `src/preprocess.py` 内置脱敏规则（IP / 邮箱 / 域名 / 用户名 / 路径），发布前对真实日志先过一遍 sanitize

## 评测方法

```bash
# 离线评测（无 API Key，基于规则引擎，纯 CPU）
python src/evaluator.py

# 在线评测（有 MS_API_KEY，基于大模型）
export MS_API_KEY=your_api_key_here
python src/evaluator.py
```

输出字段：`total` 样本数、`valid_output` 有效输出比例、`fault_type_acc` 故障类型准确率、`severity_acc` 严重级别准确率、`errors` 异常明细。

评测报告模板见 `docs/evaluation.md`。

## 复现步骤

1. `pip install -r requirements.txt`
2. `python -m py_compile src/*.py` —— 语法编译校验
3. `python src/evaluator.py` —— 离线评测，预期 fault_type_acc / severity_acc 接近 1.0
4. `python src/diagnose.py "<任意日志>"` —— 手动验证输出 JSON schema
5. （可选）配置 `MS_API_KEY` 后再次运行 `evaluator.py` 对比在线准确率

## 目录结构

```
server-log-doctor/
├── SKILL.md               # Skill 元信息与调用约定
├── README.md
├── requirements.txt
├── LICENSE                # Apache-2.0
├── examples/usage.md
├── data/
│   ├── samples.jsonl      # few-shot 标注样本（30 条）
│   └── test.jsonl         # 评测样本（20 条）
├── src/
│   ├── diagnose.py        # 诊断入口（双模式）
│   ├── modelscope_client.py
│   ├── preprocess.py      # 清洗与脱敏
│   └── evaluator.py       # 评测脚本
└── docs/
    ├── evaluation.md      # 评测报告模板
    ├── publish-checklist.md # 发布前检查清单
    ├── publish-guide.md   # 魔塔社区自助发布指引
    └── workflow.png       # 工作流图
```

## License

Apache-2.0，详见 `LICENSE`。
