# Server Management

> 服务器管理原则与决策制定。进程管理、监控策略和扩展决策。教你思考，而非记忆命令。触发词：服务器管理、进程管理、监控策略、扩展决策、运维原则

- Skill: `kscz0000/server-management` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kscz0000/server-management`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kscz0000/server-management/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kscz0000 (https://skillmd.com/u/kscz0000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kscz0000/server-management

---


# 服务器管理

> 生产环境的服务器管理原则。
> **学会思考，而非死记命令。**

---

## 1. 进程管理原则

### 工具选择

| 场景 | 工具 |
|----------|------|
| **Node.js 应用** | PM2（集群、热重载） |
| **任意应用** | systemd（Linux 原生） |
| **容器** | Docker/Podman |
| **编排** | Kubernetes、Docker Swarm |

### 进程管理目标

| 目标 | 含义 |
|------|---------------|
| **崩溃重启** | 自动恢复 |
| **零停机重载** | 无服务中断 |
| **集群化** | 利用所有 CPU 核心 |
| **持久化** | 服务器重启后存活 |

---

## 2. 监控原则

### 监控什么

| 类别 | 关键指标 |
|----------|-------------|
| **可用性** | 正常运行时间、健康检查 |
| **性能** | 响应时间、吞吐量 |
| **错误** | 错误率、错误类型 |
| **资源** | CPU、内存、磁盘 |

### 告警严重级别策略

| 级别 | 响应方式 |
|-------|----------|
| **严重** | 立即处理 |
| **警告** | 尽快排查 |
| **信息** | 每日审查 |

### 监控工具选择

| 需求 | 选项 |
|------|---------|
| 简单/免费 | PM2 指标、htop |
| 完整可观测性 | Grafana、Datadog |
| 错误追踪 | Sentry |
| 可用性监控 | UptimeRobot、Pingdom |

---

## 3. 日志管理原则

### 日志策略

| 日志类型 | 用途 |
|----------|---------|
| **应用日志** | 调试、审计 |
| **访问日志** | 流量分析 |
| **错误日志** | 问题检测 |

### 日志原则

1. **日志轮转**防止磁盘写满
2. **结构化日志**（JSON）便于解析
3. **合理分级**（error/warn/info/debug）
4. **日志中不存敏感数据**

---

## 4. 扩展决策

### 何时扩展

| 症状 | 解决方案 |
|---------|----------|
| CPU 过高 | 增加实例（水平扩展） |
| 内存过高 | 增加内存或修复泄漏 |
| 响应缓慢 | 先性能分析，再扩展 |
| 流量突增 | 自动扩展 |

### 扩展策略

| 类型 | 适用场景 |
|------|-------------|
| **垂直扩展** | 快速修复、单实例 |
| **水平扩展** | 可持续、分布式 |
| **自动扩展** | 流量波动大 |

---

## 5. 健康检查原则

### 健康状态定义

| 检查项 | 含义 |
|-------|---------|
| **HTTP 200** | 服务正常响应 |
| **数据库已连接** | 数据可访问 |
| **依赖正常** | 外部服务可达 |
| **资源正常** | CPU/内存未耗尽 |

### 健康检查实现

- 简单检查：仅返回 200
- 深度检查：检查所有依赖项
- 根据负载均衡器需求选择

---

## 6. 安全原则

| 领域 | 原则 |
|------|-----------|
| **访问控制** | 仅使用 SSH 密钥，禁用密码 |
| **防火墙** | 仅开放必要端口 |
| **更新** | 定期安全补丁 |
| **密钥管理** | 环境变量，非文件 |
| **审计** | 记录访问和变更 |

---

## 7. 故障排查优先级

出现问题时：

1. **检查是否运行**（进程状态）
2. **检查日志**（错误信息）
3. **检查资源**（磁盘、内存、CPU）
4. **检查网络**（端口、DNS）
5. **检查依赖**（数据库、API）

---

## 8. 反模式

| ❌ 不要 | ✅ 应该 |
|----------|-------|
| 以 root 身份运行 | 使用非 root 用户 |
| 忽略日志 | 设置日志轮转 |
| 跳过监控 | 从第一天就开始监控 |
| 手动重启 | 配置自动重启 |
| 不做备份 | 定期备份计划 |

---

> **记住：** 管理良好的服务器是无聊的。这就是目标。

## 使用场景
此技能适用于执行概述中描述的工作流或操作。

## 限制条件
- 仅在任务明确匹配上述范围时使用此技能。
- 不要将输出视为特定环境验证、测试或专家审查的替代品。
- 如果缺少所需输入、权限、安全边界或成功标准，请停下来请求澄清。

