1) 明确目标:仅ICMP响应(ping)、还是要加TCP/HTTP合成监控(端口/页面)?建议两者并行:ICMP用于网络连通性与延迟,TCP/HTTP用于服务可用性。
2) 选型建议:若偏向开源自建:Prometheus+Blackbox Exporter 或 Zabbix;若要快速 SaaS:UptimeRobot、Pingdom、Datadog;若企业级:PRTG、NewRelic。选择时确认监测点能从新加坡或亚太节点发起探测,或在SG内部署探针。
1) 原因:公网监测点可能跨境,导致基线误差。推荐在新加坡机房/云(如AWS ap-southeast-1、GCP asia-southeast1、阿里新加坡)启动一台轻量实例作为探针。
2) 实操步骤:创建VPS → 安装基础工具(apt/yum update;安装fping、curl、prometheus-node-exporter、docker可选)→ 配置防火墙允许出站ICMP/TCP。
3) 运维提示:给探针分配固定IP并加入资产管理与SSH密钥管理;做主机监控,避免探针宕机导致误报。
1) 安装与脚本:Linux上安装fping(apt install fping / yum install fping)。写脚本每分钟对目标ping 10次并统计丢包与平均RTT。
2) 定时任务:使用cron,例如每分钟运行脚本并输出JSON到本地/推送到Elasticsearch或Prometheus Pushgateway。
3) 注意点:fping需要root权限发ICMP,脚本应包含重试与异常处理,输出结构化数据便于后续告警规则读取。
1) 部署:在新加坡探针上部署Blackbox Exporter(容器或二进制),Prometheus配置targets指向blackbox,并在prometheus.yml中配置模块(icmp、tcp_connect、http_2xx)。
2) Scrape与表达式:设置prometheus抓取间隔(scrape_interval)建议1m或30s,使用Recording Rules计算5m/15m的丢包与p95延迟。
3) Alertmanager:配置告警路由、抑制(silence)、抖动检测(for: 3m),并配置通知渠道(邮件、Slack、PagerDuty)。
1) 延迟(RTT)阈值:理想值<50ms;警告(Warn) 100ms;严重(Critical) 200-300ms。跨境或公网用户可酌情放宽20%-50%。
2) 丢包(Packet loss):理想0%;Warn >=1%;Critical >=5%。对实时业务如语音,Critical可设为2%。
3) 抖动(Jitter)与连通性:Jitter>30ms触发Warn;连续3次探测超时或连续1分钟全部丢包触发Critical。
1) 抖动保护:设置for(Prometheus)或抑制窗口(SaaS)为3~5分钟,避免短时网络尖峰触发告警。
2) 分级与路由:Warn只通知值班群;Critical同时上报工程与SRE并触发电话/短信;使用分层Escalation策略。
3) 重复/聚合:相同主机短时间内重复告警做去重;对同一网络段的多主机同时告警,优先判断上游链路问题。
1) 频率建议:关键服务1分钟一次(或30s),普通服务5分钟一次。高频会增加网络与存储成本。
2) 采样统计:保存原始点并计算滑动窗口(1m/5m/15m)的p50/p95/p99,告警基于p95或连续失败次数而非单点。
3) 长期趋势:每日汇总与对比历史基线,用于识别慢性退化。
1) 配置项:对80/443端口进行三次握手检测和HTTP头状态码验证;校验页面加载时间和关键接口响应。
2) 关联:当ICMP正常但HTTP超时,应优先检查应用层;将不同层级的告警做关联展示。
3) 回滚策略:合成失败触发自动重试与二次检测,避免误报。
1) 必要信息:主机名/IP、探针位置(SG)、检测类型(ICMP/TCP/HTTP)、当前值(RTT/丢包)、阈值、发生时间、持续时长、诊断建议。
2) 快速诊断建议:附带fping/traceroute命令输出或引导工程查看链路/路由变动。
3) 自动化:通知中放置自愈脚本链接或Runbook指引,缩短排查时间。
1) 灰度测试:先在非生产环境或单台实例上启用告警规则,观察噪音并调优阈值与抑制时间。
2) 演练:定期演练故障处理流程(模拟丢包/高延迟),验证告警能否正确触达与升级。
3) 优化:基于历史告警率与误报比例调整阈值、频率与告警等级,以减少疲劳。
1) 存储策略:短期(30天)保留高精度点,长期(90天以上)存储聚合数据(取样/rollup)。
2) 成本控制:对非关键目标降低抓取频率或仅保留p95/p99指标。
3) 归档与合规:根据合规要求保留必要日志并做好备份。
Q: 如果监控显示丢包但服务器本身无异常,如何排查?
A: 先从探针执行traceroute定位丢包在哪一跳,检查上游交换/路由器,再对比多探针结果(本地SG探针与外部探针)以判断是链路问题还是ISP问题,必要时联系带宽提供商并提交MRTG/pcap证据。
Q: 新加坡到海外访问延迟高,阈值如何设置?
A: 跨境延迟应按路线基线设定阈值:例如到东亚<150ms、到欧美<250-300ms为正常范围。采用历史p95值作为参考阈值,并对不同地域设定独立告警策略。
Q: 如何减少因短暂网络抖动导致的误报?
A: 使用抖动保护(告警for 3-5分钟)、多点确认(需至少两次/来自不同探针失败)与告警聚合规则;同时使用滑动窗口的p95/p99指标而不是单点触发。