1. 运维人的春节值班生存指南
那年大年初二,我正蹲在丈母娘家的卫生间里,笔记本放在膝盖上,左手拿着手机接听值班电话,右手在ThinkPad上疯狂敲着命令。服务器告警声从手机那头传来,混合着门外亲戚们的欢声笑语——这就是运维工程师的春节常态。
1.1 为什么春节更容易出故障?
春节期间服务器故障高发有其特殊原因:
- 流量波动剧烈:拜年红包、短视频祝福等业务流量可能是平日的3-5倍
- 值班人力薄弱:通常只有30%的运维人员在岗,响应速度下降
- 第三方依赖异常:支付接口、短信通道等第三方服务可能降级运行
- 变更冻结期:为避免风险,节前两周通常禁止变更,导致隐患积压
实战经验:我们团队曾统计过,春节期间的P1级故障中,有62%是由于节前"变更冻结"导致补丁未及时应用引发的。建议建立"春节特别变更窗口",在节前3天集中处理高风险补丁。
1.2 移动办公装备清单
在亲戚家抢修服务器,你的装备包里必须要有:
- ThinkPad P系列:Ubuntu预装好所有CLI工具(我的P16跑Ansible比公司台式机还快)
- 4G/5G网卡:避免依赖丈母娘家的WiFi(你永远不知道哪个亲戚会把它拔了)
- 便携显示器:13寸折叠屏足以同时开4个Terminal窗口
- 手机热点备用电池:保证至少8小时持续联网
- SSH密钥U盘:物理隔离的Yubikey比密码管理器可靠
我的移动办公配置(实测有效):
# ~/.ssh/config 优化配置 Host * Compression yes ServerAliveInterval 60 TCPKeepAlive yes # 针对弱网环境优化 IPQoS throughput2. 远程应急处理手册
2.1 Zabbix告警分级策略
春节期间必须调整告警阈值,我的分级策略是:
| 告警级别 | 响应时间 | 处理方式 | 通知渠道 |
|---|---|---|---|
| P0(业务中断) | 5分钟 | 立即修复 | 电话+钉钉+短信 |
| P1(核心功能降级) | 30分钟 | 临时方案 | 钉钉+邮件 |
| P2(非核心异常) | 4小时 | 记录跟踪 | 仅邮件 |
| P3(性能波动) | 次日 | 观察 | 不通知 |
血泪教训:某年除夕我给所有告警设置了电话通知,结果凌晨三点被磁盘使用率85%的告警吵醒——从此明白不是所有红色告警都需要立即处理。
2.2 常见故障速查表
根据历年春节值班记录,高频故障及处理方案:
数据库类
- 现象:Prometheus磁盘空间告警频发
- 根因:/var/lib/prometheus/metrics2目录膨胀
- 应急方案:
# 临时清理(保留最近7天数据) prometheus_tsdb clean --retention.time=7d # 长期方案 vim /etc/prometheus/prometheus.yml retention: 14d # 调整为合理值
网络类
- 现象:pgAdmin4无法连接PostgreSQL
- 排查步骤:
- 检查服务器public.xml端口开放状态
- 验证iptables/nftables规则
- 测试telnet到5432端口
- 典型解决:
# Ubuntu示例 sudo ufw allow 5432/tcp sudo systemctl restart postgresql
3. 自动化运维保命技巧
3.1 Ansible紧急预案
准备一个春节专用的playbook,包含:
- name: 春节核心服务检查 hosts: all tasks: - name: 检查关键进程 ansible.builtin.shell: | pgrep -fl "nginx|mysql|redis" || { echo "关键进程异常" >&2 exit 1 } register: process_check ignore_errors: yes - name: 触发告警 when: process_check.failed local_action: module: community.general.mattermost url: "https://mm.example.com/hooks/xxx" message: "{{ inventory_hostname }} 进程异常!"3.2 Zabbix钉钉告警优化
传统邮件告警在春节期间容易被忽略,推荐go-cqhttp+钉钉机器人方案:
- 部署go-cqhttp签名服务器(注意v1.0.0-rc3版本有内存泄漏问题)
- 配置Zabbix告警媒介类型:
// 告警脚本片段 const resp = await axios.post('https://oapi.dingtalk.com/robot/send', { msgtype: "markdown", markdown: { title: `[P${severity}] ${hostname}告警`, text: [ `**${triggerName}**`, `告警时间:${eventTime}`, `详情:${itemValue}` ].join('\n\n') } }, { params: { access_token: token } }); - 测试时务必限制频率,避免在家庭群发测试消息(别问我是怎么知道的)
4. 硬件应急方案
4.1 ThinkPad保姆级调优
在亲戚家抢修时,笔记本性能就是生命线:
Ubuntu系统优化
# 安装NVIDIA驱动(P16实测有效) sudo ubuntu-drivers autoinstall sudo prime-select on-demand # 切换显卡模式 # 风扇控制(避免笔记本起飞引起关注) git clone https://github.com/.../tpfancontrol2.git sudo ./install.sh --min-temp 50 --max-temp 85键盘防误触
# 禁用F5亮度调节(拯救你的终端会话) echo options thinkpad_acpi brightness_enable=0 | sudo tee /etc/modprobe.d/thinkpad.conf sudo update-initramfs -u4.2 无网络环境预案
当遇到农村网络不稳定时:
- 手机开启USB网络共享
- 准备4G路由器备用(我用的是华为随行WiFi 3)
- 本地缓存常用工具包:
# 创建离线仓库 mkdir -p ~/offline/{deb,rpm,pip} # 下载Zabbix等关键软件 apt download zabbix-server-mysql zabbix-frontend-php
5. 人情世故平衡术
5.1 隐蔽工作法
在家庭聚会中优雅地处理告警:
- 手机设置:关闭所有非关键APP通知,只留Zabbix和钉钉
- 暗号系统:和家人约定"接重要电话"的暗语(比如"我去帮阿姨洗碗")
- 时间管理:利用饭后30分钟集中处理告警(这时长辈通常在看电视)
5.2 应急零食包
我的ThinkPad包里永远有:
- 独立包装牛肉干(补充能量不脏手)
- 薄荷糖(保持清醒且不引人注意)
- 迷你保温杯(咖啡比手机更重要)
那次在厕所修了3小时服务器后,我总结出一条黄金法则:抢修时带充电宝的时间,应该等于预计抢修时间乘以亲戚家的插座距离系数(农村家庭通常系数为2.5)。