该技能是一份服务器管理原则与决策指南,面向生产环境运维,核心主张是“学会思考,而不是背命令”。
用途:帮助运维与开发人员在进程管理、监控、日志、扩容、健康检查、安全和故障排查等场景中做出合理决策。
主要能力:
- 进程管理:按场景选择工具,如 Node.js 应用用 PM2(集群、重载),通用应用用 systemd,容器用 Docker/Podman,编排用 Kubernetes 或 Docker Swarm;目标包括崩溃自动重启、零停机重载、集群利用多核、重启后持久化。
- 监控:关注可用性(uptime、健康检查)、性能(响应时间、吞吐)、错误(错误率与类型)、资源(CPU、内存、磁盘);告警分严重、警告、信息三级;工具可选 PM2 指标、htop、Grafana、Datadog、Sentry、UptimeRobot、Pingdom。
- 日志:区分应用日志、访问日志、错误日志;原则包括轮转防磁盘写满、结构化 JSON 便于解析、合理分级、不记录敏感数据。
- 扩容:CPU 高加实例(横向),内存高加内存或修泄漏,响应慢先剖析再扩容,流量突增用自动扩缩;策略分纵向、横向、自动。
- 健康检查:判断 HTTP 200、数据库连通、依赖可用、资源未耗尽;可实现简单返回 200 或深度检查依赖,按负载均衡需求选择。
- 安全:仅用 SSH 密钥、只开必要端口、定期打补丁、密钥用环境变量、审计访问与变更。
- 排障优先级:先查进程是否运行,再看日志、资源、网络、依赖。
- 反模式:不要以 root 运行、不要忽略日志、不要跳过监控、不要手动重启、不要无备份。
使用方式与限制:资料未提供具体安装命令、代码示例或配置步骤,仅给出原则性指导;实际落地需结合具体环境。