为什么服务器总在半夜报警?
凌晨三点的告警短信让运维人员心惊肉跳,硬件监控盲区往往是罪魁祸首。通过这三个关键指标预判危机:
- 温度传感器数据:使用
ipmitool sensor
读取CPU/硬盘温度,工业级服务器建议核心部件温度不超过75℃ - 磁盘健康状态:每月执行smartctl -a /dev/sda,重点关注Reallocated_Sector_Ct(重映射扇区计数)
- 电源波动记录:在UPS管理界面查看输入电压曲线,正常波动范围应控制在±5%以内
某电商平台曾因忽略RAID卡电池监控,导致缓存数据丢失,直接损失订单数据1275条。运维团队后来设置双重预警机制:当硬盘S.M.A.R.T参数异常时,自动触发备盘重建任务。
Linux系统卡顿怎么破?
面对突然飙升的服务器负载,系统级调优比盲目扩容更有效。通过top
命令锁定问题源头后,立即实施这三步急救:
- 内核参数调优:修改/etc/sysctl.conf,将
vm.swappiness
从默认60降至10,减少内存交换 - 文件句柄扩容:对于高并发服务,设置fs.file-max=1000000,同时调整进程级限制
- IO调度策略:SSD设备建议改为deadline模式,机械硬盘使用cfq算法
某视频网站曾因默认的EXT4文件系统参数导致元数据操作瓶颈,将日志提交间隔从5秒改为30秒后,写性能提升22%。记住用vmstat 1 10观察si/so字段,判断是否存在内存瓶颈。
如何用一条命令发现网络异常?
tcpdump抓包神器配合过滤表达式,能快速定位网络层故障。这些组合指令必须掌握:
- 流量突发分析:
tcpdump -i eth0 -w packet.pcap host 192.168.1.100 and port 80
- DDOS攻击识别:
netstat -n | awk \'/^tcp/ {print $5}\' | cut -d: -f1 | sort | uniq -c | sort -n
- 路由跟踪利器:
mtr --report-wide 目标IP
,比traceroute更直观显示链路质量
某金融系统曾遭遇诡异的TCP重传问题,运维人员通过tshark -r packet.pcap -Y \”tcp.analysis.retransmission\” 发现交换机端口光模块故障,更换后延迟从380ms降至9ms。
SSH加固到底需要几步?
基础安全配置是运维工作的第一道防线,按这个清单逐项落实:
- 修改默认端口:编辑/etc/ssh/sshd_config,将Port 22改为1024-65535之间的数值
- 禁用密码登录:设置
PasswordAuthentication no
,配合ed25519算法密钥认证 - 防范暴力破解:安装fail2ban,设置10分钟内5次失败尝试即封禁IP
- 会话超时控制:添加
ClientAliveInterval 300
和ClientAliveCountMax 0
某制造企业曾因未更新OpenSSL版本,遭遇心脏滴血漏洞攻击。现在他们执行自动化漏洞扫描:每周运行lynis audit system,重点检查SSH协议版本和加密套件强度。
磁盘爆满如何紧急腾空间?
面对No space left on device
报错,按这个优先级清理空间:
- 立即处理:查找/var/log/下超过100MB的日志文件,用
logrotate
压缩 - 重点排查:执行
du -h --max-depth=1 /
定位大目录,注意/tmp和/var/cache - 长期预防:设置LVM瘦供给,配合df -Th监控各分区使用率
某云平台曾因Docker容器日志未限制,导致系统盘48小时写满。现在他们统一配置json-file驱动的日志轮转策略:max-size=100m
和max-file=3
,并部署Prometheus+Alertmanager监控体系。
运维战场没有银弹,但自动化巡检脚本能减少80%低级故障。我习惯将Ansible Playbook与Zabbix监控模板结合,把服务器健康检查做成每日必修课。当看到新人还在手动重启服务时,总会想起那个因为误删数据库而通宵抢救的雨夜——这就是运维人的成长必修课。