

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

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

AWS Elemental MediaTailor 与亚马逊的集成 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. 在 “**Real-time 日志” 下**，选择 “**编辑” **。

   1. 选择**开启**并配置 Amazon Kinesis 数据流或 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
      + 4xx ErrorRate
      + 5xx ErrorRate
      + TotalErrorRate
      + CacheHitRate

1. 设置 CloudWatch 警报：

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

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

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

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

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

**监控 MQAR 表现**

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

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

1. 在亚马逊 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)Real-time日志。

## 排查常见 问题
<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集成有关的问题：

**对 MediaTailor 集成问题 CloudFront 进行故障排除**

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)）
+ 为常见操作场景和故障排除程序创建运行手册
+ 为常见问题设置自动补救措施