首先明确监控目标:主机可用性、网络连通性、资源使用(CPU、内存、磁盘、IO)、磁盘健康、温度与进程状态。推荐组合:指标采集(Prometheus/node_exporter 或 Zabbix agent)、可视化(Grafana)、轻量监控(Netdata)和日志集中(ELK/EFK)。对于使用原生IP的机器,增加对外部连通性检测(从多点或第三方监控点进行 ICMP/TCP 探测)。
1)部署轻量 agent,收集 node-level 指标;2)在台湾与大陆或第三国部署外部探针做跨地域连通性测试;3)设置合理阈值与抑制策略,避免短时波动触发噪音告警;4)定期保存性能快照用于容量规划。
Prometheus + Grafana、Zabbix、Netdata、Telegraf/InfluxDB、日志用 Filebeat 到 Elasticsearch。
先从本机到目的地与从外部到本机双向排查。常用命令:ping、mtr、traceroute(或 tracepath)、ip route、ss/netstat、tcpdump。若是台湾节点,需关注 BGP 路由、对端 ISP 以及可能的黑洞策略。
1)本地连通:ping 网关与上游;2)路由追踪:mtr/traceroute 查看丢包或跳点延迟;3)端口连通:telnet/ss/tcping 检查服务端口;4)抓包:tcpdump -n -s0 -w /tmp/cap.pcap 以确认 SYN/ACK 流量;5)检查防火墙/iptables/nft 与 fail2ban。
联系机房/上游 ASN,提供 traceroute/tcpdump 输出;必要时申请临时 BGP 路由或切换公网出口 IP;对外展示维护窗口并使用多出口策略(双线或云备份)。
资源问题多为性能退化的根源。监控关键指标:1分钟/5分钟/15分钟负载、CPU 使用率、上下文切换、内存使用/Swap、磁盘利用率、IOPS、await、队列长度、inode 使用。长期采集并生成基线。
top/htop、vmstat、iostat -x 1、sar、dstat、iotop。发现异常后定位进程(ps aux --sort=-%cpu),查看进程打开文件(lsof)、线程堆栈(gstack 或 /proc/PID/stack)。
使用 smartctl 检查磁盘健康(smartctl -a /dev/sdX),针对 RAID 或硬盘错误要及时触发机房换盘流程并做好数据备份。
首先区分是合法流量激增还是恶意攻击。使用流量监控(iftop/ntopng、vnStat)与连接表(ss -s),结合日志(nginx、iptables)。对于原生IP物理机,建议在机房/上游处配置黑洞/速率限制或使用清洗服务。
1)临时限速或封禁异常 IP 段(iptables/nft);2)启用 SYN cookies、调整内核参数(net.ipv4.tcp_syncookies、侦测连接追踪表);3)联系带宽提供方或使用云清洗;4)保留 pcap 与日志用于事后分析和溯源。
tcpdump、bro/Zeek、fail2ban、Suricata,可以结合 SIEM 做行为分析与告警。关键是把告警和运维流程连起来,避免人工迟滞。
告警要准确可执行:使用 Prometheus Alertmanager 或 Zabbix 告警,按严重级别分级(P0-P3),并接入短信、邮件、企业微信或 PagerDuty。日志集中化并做索引,方便快速检索与关联分析。
1)常见问题做自动化修复脚本(服务异常重启、临时清理缓存、重建连接);2)通过 systemd + watchdog 或 Kubernetes healthcheck 实现自恢复;3)重要变更走 CI/CD 并在低峰期回滚测试;4)定期演练故障切换与恢复流程。
设置告警抑制窗口、重复阈值以及合并策略,避免同一问题产生大量告警,保持值班人员对真正紧急事件的敏感度。