关于 server-management
Server Management 是面向生产环境运维的服务器管理原则指南,适用于负责应用部署和维护的运维人员。内容涵盖进程、监控、日志、扩缩容、健康检查、安全和故障排查。
主要功能
- 01进程管理与自动恢复
- 02监控指标和告警分级
- 03日志记录与轮转原则
- 04扩缩容决策指导
- 05健康检查与安全原则
- 06故障排查优先级
适用场景
- 01规划生产服务的进程管理
- 02制定监控与告警策略
- 03排查服务故障和性能问题
- 04审查服务器安全与日志实践
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill server-management安装后在 Claude Code 中输入/server-management确认已加载。
详细介绍
服务器管理
面向生产运维的服务器管理原则。 学会思考,而不是死记命令。
1. 进程管理原则
工具选择
| 场景 | 工具 |
|---|---|
| Node.js 应用 | PM2(集群、重新加载) |
| 任何应用 | systemd(Linux 原生) |
| 容器 | Docker/Podman |
| 编排 | Kubernetes、Docker Swarm |
进程管理目标
| 目标 | 含义 |
|---|---|
| 崩溃后重启 | 自动恢复 |
| 无停机重新加载 | 服务不中断 |
| 集群 | 使用所有 CPU 核心 |
| 持久化 | 服务器重启后仍能运行 |
2. 监控原则
监控内容
| 类别 | 关键指标 |
|---|---|
| 可用性 | 运行时间、健康检查 |
| 性能 | 响应时间、吞吐量 |
| 错误 | 错误率、类型 |
| 资源 | CPU、内存、磁盘 |
告警严重性策略
| 级别 | 响应 |
|---|---|
| 严重 | 立即处理 |
| 警告 | 尽快调查 |
| 信息 | 每日查看 |
监控工具选择
| 需求 | 选项 |
|---|---|
| 简单/免费 | PM2 指标、htop |
| 全面可观测性 | Grafana、Datadog |
| 错误跟踪 | Sentry |
| 在线状态 | UptimeRobot、Pingdom |
3. 日志管理原则
日志策略
| 日志类型 | 用途 |
|---|---|
| 应用日志 | 调试、审计 |
| 访问日志 | 流量分析 |
| 错误日志 | 问题检测 |
日志原则
- 轮转日志,防止磁盘写满
- 结构化日志(JSON),便于解析
- 选择恰当的级别(error/warn/info/debug)
- 日志中不包含敏感数据
4. 扩展决策
何时扩展
| 症状 | 解决方案 |
|---|---|
| CPU 使用率高 | 增加实例(水平扩展) |
| 内存占用高 | 增加 RAM 或修复内存泄漏 |
| 响应缓慢 | 先分析性能,再扩展 |
| 流量激增 | 自动扩缩容 |
扩展策略
| 类型 | 适用场景 |
|---|---|
| 垂直扩展 | 快速解决,单个实例 |
| 水平扩展 | 可持续、分布式 |
| 自动扩缩容 | 流量波动 |
5. 健康检查原则
健康状态的判定标准
| 检查项 | 含义 |
|---|---|
| HTTP 200 | 服务正常响应 |
| 数据库已连接 | 数据可访问 |
| 依赖项正常 | 外部服务可访问 |
| 资源正常 | CPU/内存未耗尽 |
健康检查实现
- 简单:直接返回 200
- 深度:检查所有依赖项
- 根据负载均衡器的需求选择
6. 安全原则
| 领域 | 原则 |
|---|---|
| 访问 | 仅使用 SSH 密钥,不使用密码 |
| 防火墙 | 只开放必要端口 |
| 更新 | 定期安装安全补丁 |
| 机密信息 | 使用环境变量,而非文件 |
| 审计 | 记录访问和更改 |
7. 故障排查优先级
出现问题时:
- 检查是否正在运行(进程状态)
- 检查日志(错误消息)
- 检查资源(磁盘、内存、CPU)
- 检查网络(端口、DNS)
- 检查依赖项(数据库、API)
8. 反模式
| ❌ 不要 | ✅ 应该 |
|---|---|
| 以 root 身份运行 | 使用非 root 用户 |
| 忽略日志 | 设置日志轮转 |
| 跳过监控 | 从第一天起就进行监控 |
| 手动重启 | 配置自动重启 |
| 不做备份 | 制定定期备份计划 |
请记住: 管理良好的服务器应该平淡无奇。这正是我们的目标。
评论
支持 Markdown