1.
准备与需求确认
在把服务器托管到香港前,先确认SLA、带宽上行、公网IP、是否支持BGP、机房电话和控制台权限。列出监控目标(CPU、内存、磁盘、网络、进程、服务端口、应用响应、日志、数据库)与告警等级(信息/警告/严重)。
2.
选择监控框架
推荐架构:Prometheus + Node Exporter(主机指标) + Grafana(可视化)+ Alertmanager(告警)+ Filebeat/Logstash/Elasticsearch/Kibana(日志)。也可选用Zabbix/Datadog等商业方案,按预算决定。
3.
在香港服务器部署Node Exporter
示例命令:useradd -m -s /sbin/nologin nodeexp;wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz;tar xzf …;mv node_exporter /usr/local/bin/;创建 systemd 单元 /etc/systemd/system/node_exporter.service 并 systemctl daemon-reload && systemctl enable --now node_exporter。确认端口9100可达。
4.
部署Prometheus并抓取目标
在监控集群中安装Prometheus,编辑 prometheus.yml:加入scrape_configs,targets填写香港服务器的node_exporter地址。重启Prometheus并在 /targets 页面确认UP。设置合理抓取间隔(默认15s或30s)。
5.
搭建Grafana并创建看板
安装Grafana并添加Prometheus为数据源。导入/自建看板:主机总览(CPU、Load、内存、磁盘IO、网络带宽)、应用响应时间、数据库慢查询面板。保存模板便于扩容新主机。
6.
配置Alertmanager与告警策略
在Prometheus中编写规则文件(alerting rules),例如CPU>90% 5m触发严重告警;配置Alertmanager routes,根据时段/组发送邮件、WebHook、短信或企业微信/钉钉。测试告警:使用 prometheus-alerttest 或模拟cpu压力(stress命令)。
7.
日志集中与追踪
在每台香港服务器上安装Filebeat:编辑filebeat.yml指向Logstash/Elasticsearch;配置解析规则和索引模板。对关键进程打开应用日志收集(nginx/access,error;app日志)。在Kibana中配置可搜索仪表盘与常用查询。
8.
关键指标与阈值建议
常见阈值参考:CPU使用率持续>80%5分钟、内存剩余<10%、磁盘可用<15%、磁盘I/O等待>30%、网络丢包>1%或RTT异常。对数据库和应用设置业务侧延迟阈值(P95、P99)。
9.
常用排查命令与快速定位步骤
遇问题先按优先级执行:1) 登录服务器(ssh -p 22 user@ip);2) top/htop 查看进程;3) iostat -xz 1 查看磁盘IO;4) ss -tunlp / netstat -tulpn 查看端口;5) journalctl -u 服务名 或 tail -n 200 日志;6) tcpdump -i eth0 port 80 -w /tmp/cap.pcap(抓包)。记录时间线与相关日志。
10.
应急切换与流量恢复流程
预先准备好切换方案:DNS低TTL、负载均衡器、浮动IP/Keepalived(VRRP)或反向代理。在检测到服务不可用时,按步骤:确认故障范围→启用备用实例或流量切换→更新DNS/负载均衡→监控恢复情况→逐步回流主实例。
11.
故障响应(Runbook)模板
准备Runbook,包含:接收告警→分配工程师→执行初检(ping/traceroute/端口)→收集日志与监控图→临时缓解(重启服务/释放空间/切换流量)→根因分析→发布恢复与复盘→更新Runbook与演练计划。Runbook要简洁可执行,注明命令范例。
12.
演练与备份策略
定期做故障演练(半年或季度),验证DNS切换、备机启动与数据一致性。数据库与关键数据每日快照、异地备份(最低保留7天),并验证备份恢复时间(RTO)与数据丢失限度(RPO)。
13.
安全与网络注意点
在香港机房注意防火墙策略、合规端口开放、SSH密钥管理与登录审计。配置NTP确保时钟一致,启用TCP_KEEPALIVE调整内核参数,监控BGP/上游链路与丢包。
14.
自动化与可扩展性建议
通过Ansible/Chef/Terraform管理主机配置与监控Agent安装。用容器化/自动扩缩容减少单点风险。将报警自动化程度提高(自动重启、自动切换),但保留人工确认高风险操作。
15.
恢复后复盘与持续改进
每次故障后做复盘报告,记录时间线、根因、处理耗时、未命中告警点、改进措施(阈值调整、自动化脚本、硬件升级),并在下次演练中验证改进是否生效。
16.
问:香港机房网络波动如何快速判断是机房问题还是应用问题?
17.
答:
先从监控与外部探测判断范围:用第三方监控/监测点(例如Uptrends或Pingdom)检测外部可达性;用mtr -rw ip 从不同节点trace路由;若多个测试点均丢包或BGP路由异常,多半为机房/上游问题;若仅单机高延迟或资源耗尽则为应用或主机问题。
18.
问:发生磁盘IO瓶颈时怎样临时缓解并定位根因?
19.
答:
临时缓解:降级非必要任务、暂停备份或清理大文件、将读写流量切到备机;定位用iostat -xz、iotop、sar -d检查设备等待、查看dmesg是否有硬件错误,检查大文件/日志写入、数据库慢查询,再进行IO优化或扩容。
20.
问:如何验证告警与切换流程是真实可用的?
21.
答:
定期做“故障演练日”,模拟CPU满载、网络中断或主服务器宕机,验证Prometheus告警、Alertmanager路由、自动化切换脚本与DNS/负载均衡切换是否按SLA完成,并记录RTO/RPO与改进项。
来源:把服务器托管到香港去后如何进行性能监控与故障应急处理流程