

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 监控您的和 MediaTailor 集成， CloudFront 并对其进行故障排除
<a name="monitoring-and-troubleshooting"></a>

AWS Elemental MediaTailor 与 Amazon 集成 CloudFront 需要持续监控和故障排除，以保持最佳性能。实施 CloudFront 和 MediaTailor 集成后，请监控性能并准备解决任何问题。内容分发网络 (CDN) 提供的工具可帮助您了解分发的表现并识别潜在问题。

## 为您的集成设置监控
<a name="cf-monitoring-setup"></a>

实施以下监控策略来跟踪您的 CloudFront 和 MediaTailor集成的性能：

**为你的 CloudFront 和 MediaTailor 集成设置监控**

1. 启用 CloudFront 标准日志记录：

   1. 在 CloudFront 控制台中，选择您的发行版。

   1. 选择**日志**选项卡。

   1. 在**标准日志**下，选择**编辑**。

   1. 选择**开**并配置 Amazon S3 存储桶用于日志存储。

   1. 选择**保存更改**。

1. 设置 CloudFront 实时日志：

   1. 在 CloudFront 控制台中，选择您的发行版。

   1. 选择**日志**选项卡。

   1. 在**实时日志**下，选择**编辑**。

   1. **选择 “开” 并配置 Amazon Kinesis Data Streams 或 Amazon Data Firehose 传输流。**

   1. 在日志配置中包括以下字段：
      + `time-to-first-byte`-响应时间
      + `sc-status`-HTTP 状态码
      + `c-ip`-查看器 IP 地址
      + `cs-uri-stem`-请求 URI 路径
      + `cs-user-agent`-用户代理
      + `x-edge-result-type`-结果类型（命中、未命中、错误）

   1. 选择**保存更改**。

1. 创建 CloudWatch 仪表板：

   1. 在 CloudWatch 控制台中，选择**仪表板**。

   1. 请选择**创建控制面板**。

   1. 为这些 CloudFront 指标添加小部件：
      + 请求
      + BytesDownloaded
      + 4 xxErrorRate
      + 5xxErrorRate
      + TotalErrorRate
      + CacheHitRate

1. 设置 CloudWatch 警报：

   1. 在 CloudWatch 控制台中，选择**警报**。

   1. 选择**创建警报**。

   1. 针对以下情况创建警报：
      + 5 xxErrorRate > 1% 持续 5 分钟
      + 4 xxErrorRate 大于 5%，持续 5 分钟
      + CacheHitRate 30 分钟内低于 80%

## 监控 MQAR 性能
<a name="mqar-monitoring"></a>

使用MQAR时，监控可以帮助您了解如何在来源之间进行 CloudFront 选择，以及质量分数是否符合预期。实时日志会在这些决策发生时显示出来。

**监控 MQAR 性能**

1. 为您的 CloudFront 分发启用实时日志。

1. 在日志配置中包括以下字段：
   + `r-host`-所选来源的主机名
   + `sr-reason`-选择产地的原因
   + `x-edge-mqcs`-媒体质量信心得分

1. 在 Amazon Kinesis Data Streams 或 Amazon Data Firehose 中设置日志目标。

1. 根据这些指标创建仪表板或警报，以监控质量分数和产地选择决策。

**Example 用于 MQAR CloudWatch 监控的示例控制面板**  
使用以下指标创建 CloudWatch 仪表板：  
+ 按地区划分的起源选择计数
+ 一段时间内的平均质量得分
+ 故障转移事件
+ 按来源划分的 4xx 和 5xx 错误率

有关设置实时日志的更多信息，请参阅 CloudFront 开发者指南中的[实时日志](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html)。

## 排查常见 问题
<a name="troubleshooting-common-issues"></a>

即使经过仔细规划，您的 CloudFront 和 MediaTailor 集成也可能出现问题。了解常见问题和解决方案可以帮助您快速解决问题并最大限度地减少对观众的影响。

如果您在 CloudFront 和 MediaTailor 集成方面遇到问题，请查看以下常见问题和解决方案：

清单缓存问题  
**症状：**清单陈旧或广告未更新  
**解决方案：**确认您使用的是多变体播放列表、媒体播放列表和 MPD 路径的`CachingDisabled`缓存策略。检查您的配置是否正确转发查询参数。

CORS 错误  
**症状：**浏览器控制台在访问内容时显示 CORS 错误  
**解决方案：**使用适当的 CORS 标头配置响应标头策略，并将其与您的缓存行为相关联。

MQAR 不起作用  
**症状：**Origin 选择忽略了质量分数  
**解决方案：**检查您是否已在来源组设置中启用媒体质量得分选项。确认你没有使用面向原点的 Lambda @Edge 触发器。

广告插入失败  
**症状：**广告插入不正确  
**解决方案：**验证您的 MediaTailor 配置指向您的 CloudFront 分发的内容区段前缀。检查您的设置是否转发所有必需的标题。

对于更复杂的问题，您可以使用以下故障排除方法：

1. 检查 CloudFront 分发日志以了解错误模式

1. 使用浏览器开发者工具检查网络请求

1. 将 MediaTailor 直接提供的清单内容与通过以下方式交付的内容进行比较 CloudFront

1. 使用支持详细记录的简单播放器进行测试

要获得更多故障排除帮助，请参阅 MediaTailor 用户指南中的 “[故障排除](https://docs.aws.amazon.com//mediatailor/latest/ug/troubleshooting.html)” 部分。

## 故障排除工作流程
<a name="troubleshooting-workflow"></a>

请按照以下系统方法对您的 CloudFront 和 MediaTailor集成问题进行故障排除：

**排除故障 CloudFront 和 MediaTailor 集成问题**

1. 确定具体问题：

   1. 确定问题是影响所有观众还是仅影响部分观众

   1. 确定哪些内容类型受到影响（清单、区段或两者）

   1. 记下任何错误消息或症状

1. 查看 CloudFront 日志：

   1. 查找错误状态代码（4xx 或 5xx）

   1. 检查缓存 hit/miss 模式

   1. 验证请求是否被路由到正确的来源

1. 验证配置：

   1. 检查缓存行为以了解正确的路径模式

   1. 验证是否正确应用了缓存策略

   1. 确认源请求策略正在转发必要的标头

1. 测试直接访问：

   1. 尝试直接从 MediaTailor （绕过 CloudFront）访问内容

   1. 比较直接访问和 CloudFront 访问之间的响应

1. 实施解决方案：

   1. 根据您的发现应用适当的修复方法

   1. 测试以验证问题是否已解决

   1. 记录问题和解决方案以备将来参考

## 后续步骤
<a name="monitoring-next-steps"></a>

为您的 CloudFront 和 MediaTailor 集成设置监控和故障排除后，请考虑以下步骤：
+ 使用实现自动部署 AWS CloudFormation （参见[使用自动化 MediaTailor 和 CDN CloudFormation](automating-cdn-integration.md)）
+ 为常见操作场景和故障排除程序创建运行手册
+ 为常见问题设置自动补救措施