1.
监控目标与总体设计
监控目标:确保视频上传链路(采集->编码->传输->CDN)可用并及时发现异常。
总体设计:从主机资源、网络链路、应用层、CDN 回源四层构建监控体系。
数据采集:使用 node_exporter、cAdvisor、Prometheus exporter、Fluentd/Logstash 收集指标与日志。
可视化与告警:Grafana 展示面板 + Prometheus Alertmanager、Slack/短信/PagerDuty 通知。
冗余与安全:在监控设计中考虑 DDoS 防御告警与自动化流量限制策略。
2.
关键监控指标(必须监控的 8 项)
1) 主机资源:CPU 利用率(95 百分位 < 80%)、内存使用率、磁盘 I/O(iops、await)。
2) 网络指标:上行带宽使用率、丢包率(packet_loss > 1%)、RTT、TCP 重传率。
3) 应用层:上传成功率(成功/请求总数)、平均上传时长(P50/P95/P99)。
4) HTTP / RTMP 状态码:4xx/5xx 比例、CDN 回源 502/504 频次。
5) 日志异常:Nginx error.log 中的 SSL 握手失败、连接被重置记录。
6) CDN 指标:回源延迟、回源错误率、缓存命中率。
7) DDoS 策略触发:异常流量突增(短时间内 10x 平均流量)需触发告警。
8) 服务依赖:数据库、消息队列(RabbitMQ/Kafka)延迟与积压。
3.
告警规则与阈值示例(含 Prometheus 表达式示例)
基础阈值示例:上行带宽占用 > 85% 持续 5 分钟触发 WARNING。
上传成功率:若 5 分钟内 upload_success_rate < 0.95 触发 WARNING;
若 upload_success_rate < 0.80 且持续 2 分钟触发 CRITICAL。示例表达式:rate(http_requests_total{job="uploader",code!~"5.."}[5m]) / rate(http_requests_total{job="uploader"}[5m]) < 0.95。
TCP 重传率:若短时 tcp_retransmits / tcp_segments_sent > 0.02(2%)触发告警,说明链路不稳定。
通知链路:Alertmanager 先推送 Slack、同时发短信给 on-call;CRITICAL 同步触发 PagerDuty 及值班电话。
4.
排查步骤与应急处置流程(运维播放本)
第一步:确认告警来源与时间窗口,查询相同时间段的 Grafana 面板。
第二步:查看服务器日志:/var/log/nginx/access.log 和 error.log,查找 4xx/5xx 或 SSL 错误。
第三步:网络排查:使用 tcpdump -i eth0 host CDN_IP 抓包,查看三次握手、重传与 RST。
第四步:主机性能检查:top/iostat -x 1 5、dstat、ss -s,确认是否为 CPU、磁盘或短时网络瓶颈。
第五步:回源验证:curl -v --resolve origin.example.com:443:ORIGIN_IP https://origin.example.com/path,验证 CDN 回源是否异常。
5.
真实案例与服务器配置示例(含数据表格)
案例概述:2026-03-15 03:12 运维收到 upload_success_rate 下降告警,上传成功率从 98% 快速降至 60%。
排查发现:Nginx error.log 出现大量 "upstream timed out (110: Connection timed out)",并伴随 TCP 重传率从 0.3% 上升到 5%。
服务器配置示例:Ubuntu 20.04,4 vCPU,8GB 内存,100Mbps 公网带宽,nginx 1.18 + RTMP module,磁盘为 1TB SSD(baseline IOPS 800)。
处理过程:临时将流量切到备用 CDN,加大 origin keepalive_timeout,重启 nginx 并清理短时连接积压,问题在 12 分钟内缓解。
以下表格为当时关键指标对比与建议动作:
| 指标 | 基线 | 告警时值 | 建议动作 |
| 上传成功率 | >98% | 60% | 切换 CDN / 检查回源 502/504 |
| TCP 重传率 | 0.3% | 5% | 抓包分析链路丢包、联系 ISP |
| 磁盘 IOPS | ~200 | 1200 | 优化写入、检查日志风暴 |
| 上行带宽 | 30 Mbps | 95 Mbps | 流量限流、启动 DDoS 防护 |
来源:监控与告警设计帮助运维及时发现视频传到cdn失败原因