View a markdown version of this page

监控 AWS Elemental MediaTailor 使用亚马逊 CloudWatch 指标 - AWS Elemental MediaTailor

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

监控 AWS Elemental MediaTailor 使用亚马逊 CloudWatch 指标

您可以使用监控 AWS Elemental MediaTailor 指标 CloudWatch。 CloudWatch 收集有关服务性能的原始数据,并将这些数据处理为可读的、近乎实时的指标。这些统计数据会保存 15 个月,从而使您能够访问历史信息,并能够更好地了解您的 Web 应用程序或服务的执行情况。此外,可以设置用于监测特定阈值的警报,并在达到相应阈值时发送通知或执行操作。有关更多信息,请参阅亚马逊 CloudWatch 用户指南。

当你调查陈旧清单时,指标可能很有用。有关更多信息,请参阅 使用指标诊断陈旧清单。

指标的分组首先依据服务命名空间,然后依据每个命名空间内的各种维度组合。

使用 CloudWatch 控制台查看指标
  1. 在处打开 CloudWatch 控制台https://console.aws.amazon.com/cloudwatch/。

  2. 在导航窗格中,选择指标。

  3. 在 “所有指标” 下,选择MediaTailor命名空间。

  4. 选择指标维度以查看指标(例如,originID)。

  5. 指定要查看的时间段。

要查看指标,请使用 AWS Command Line Interface (AWS CLI)
  • 在命令提示符处输入下面的命令:

    aws cloudwatch list-metrics --namespace "AWS/MediaTailor"

AWS Elemental MediaTailor CloudWatch 指标

AWS Elemental MediaTailor 命名空间包含以下指标。默认情况下,这些指标将发布到您的账户。

渠道集成 (CA) 指标

在下表中,所有指标均可按渠道或渠道输出获得。

指标 说明
4xxErrorCount

4xx错误数。

5xxErrorCount

5xx错误数。

RequestCount

请求的总数。交易数量在很大程度上取决于玩家请求更新清单的频率以及玩家的数量。每个播放器请求计为一个事务。

TotalTime

应用程序服务器处理请求所用的时间,包括从客户端和网络接收字节以及向客户端和网络写入字节所用的时间。

Server-side Ad-insertion (SSAI) 指标

下表列出了服务器端广告插入指标。

指标 说明
AdDecisionServer.Ads

在您指定的 CloudWatch 时间段内,广告决策服务器 (ADS) 响应中包含的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

AdDecisionServer.Duration

在您指定的时间段内从 ADS MediaTailor 收到的所有广告的总 CloudWatch 时长,以毫秒为单位。此持续时间可以长于Avail.Duration您指定的持续时间。

维度:ConfigurationName

AdDecisionServer.Errors

在您指定的时间段内从 ADS MediaTailor 收到的非 HTTP 200 状态码响应、空响应和超 CloudWatch 时响应的数量。

维度:ConfigurationName

AdDecisionServer.FillRate

在您指定的时间段内,ADS 响应填充相应的单个广告效用的速率的简单平均值。

要获得加权平均值,请计算 AdDecisionServer.Duration 占 Avail.Duration 的百分比。有关简单和加权平均值的更多信息,请参阅简单和加权平均值。

维度:ConfigurationName

AdDecisionServer.Latency

向 ADS 提出的请求的响应时间(以毫秒为单位) MediaTailor 。

维度:ConfigurationName

AdDecisionServer.Timeouts

在您指定的时间段内向 ADS 发出的超 CloudWatch时请求的数量。

维度:ConfigurationName

AdNotReady

ADS 指向在您指定的时间段内,尚未由内部转码器服务转码的广告的次数。

此指标值较大可能会导致较低的整体 Avail.FillRate。

维度:ConfigurationName

AdsBilled

根据插播量向客户收取 MediaTailor 账单的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

Avail.Duration

该时间段内可用的广告的计划总毫秒数。 CloudWatch 计划总量基于原始清单中的广告可用时长。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

Avail.FilledDuration

计划在该时间段内填满广告的广告可用时间毫秒数。 MediaTailor CloudWatch

维度:

  • ConfigurationName

  • Account-level (无尺寸)

Avail.FillRate

该 CloudWatch时间段内单个广告可用量填充 MediaTailor 费率的计划简单平均值。

要获得加权平均值,请计算 Avail.FilledDuration 占 Avail.Duration 的百分比。有关简单和加权平均值的更多信息,请参阅简单和加权平均值。

MediaTailor 可实现的最大 Avail.FillRate 受 AdDecisionServer.FillRate 的约束。如果 Avail.FillRate 较低,则将其与 AdDecisionServer.FillRate 进行比较。如果 AdDecisionServer.FillRate 较低,您的 ADS 可能没有在效用持续时间内返回足够的广告。

维度:ConfigurationName

Avail.Impression

服务器端报告期间 MediaTailor 触发曝光信标的广告数量。 MediaTailor 无论这些信标最终是否已交付,都会为每个至少具有一个曝光量 URI 的广告发出一个计数。使用此指标作为分母来计算视频完成率 (VCR)(参见)。Avail.Complete

维度:

  • ConfigurationName

  • Account-level (无尺寸)

Avail.Impression.Fired

服务器端报告期间 MediaTailor 触发给定广告跟踪域的曝光信标的数量,无论这些信标最终是否已交付。具有多个曝光信标 URI 的广告会将每个 URI 计数分配给每个信标的相应网域。此指标使用与Avail.Impression.Retried和相同的每个信标、每个域的单位Avail.Impression.Recovered,因此您可以将每个域的三个单位合并在一起(例如,Avail.Impression.Retried/Avail.Impression.Fired给出域的重试率)。

维度:

  • AdTrackingDomain

  • Account-level (无尺寸)

Avail.Impression.Retried

在服务器端报告期间,针对给定广告跟踪域至少 MediaTailor重试过一次的展示信标的数量。无论尝试了多少次重试,每个信标都将计入其域一次。比较此指标,看看最终Avail.Impression.Recovered交付了多少重试的印象信标。

维度:

  • AdTrackingDomain

  • Account-level (无尺寸)

Avail.Impression.Recovered

服务器端报告期间重试后成功交付的印象信标的数量。每个信标向其域计数一次。如果不重试,这些信标就无法到达广告跟踪域。Avail.Impression.Recovered/Avail.Impression.Retried给出印象信标的重试成功率。

维度:

  • AdTrackingDomain

  • Account-level (无尺寸)

Avail.Complete

服务器端报告期间 MediaTailor 触发完整信标的广告数量。 MediaTailor 无论信标最终是否已交付,都会为每个至少具有一个完整跟踪 URI 的广告发出一个计数。要计算视频完成率 (VCR),请将总和除Avail.Complete以的Avail.Impression总和。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

Avail.Complete.Fired

服务器端报告期间向给定广告跟踪域 MediaTailor 发射的完整信标的数量,无论这些信标最终是否已交付。包含多个完整信标 URI 的广告会将每个 URI 计数分配给每个信标的相应域。此指标使用与Avail.Complete.Retried和相同的每个信标、每个域的单位Avail.Complete.Recovered,因此您可以将每个域的三个单位合并在一起(例如,Avail.Complete.Retried/Avail.Complete.Fired给出域的重试率)。

维度:

  • AdTrackingDomain

  • Account-level (无尺寸)

Avail.Complete.Retried

在服务器端报告期间,针对给定广告跟踪域至少 MediaTailor 重试一次的完整信标的数量。无论尝试了多少次重试,每个信标都将计入其域一次。比较此指标,查看最终Avail.Complete.Recovered交付了多少重试的完整信标。

维度:

  • AdTrackingDomain

  • Account-level (无尺寸)

Avail.Complete.Recovered

服务器端报告期间重试后成功传送的完整信标的数量。每个信标向其域计数一次。如果不重试,这些信标就无法到达广告跟踪域。Avail.Complete.Recovered/Avail.Complete.Retried给出完整信标的重试成功率。

维度:

  • AdTrackingDomain

  • Account-level (无尺寸)

Avail.ObservedDuration

观察到的时间段内出现的广告可用总毫秒数。 CloudWatch Avail.ObservedDuration在广告无用时发出,基于广告无效期间清单中报告的区段的持续时间。

维度:ConfigurationName

Avail.ObservedFilledDuration

在此时间段内观察到的 MediaTailor 充斥广告的广告可用时间的毫秒数。 CloudWatch

维度:ConfigurationName

Avail.ObservedFillRate

观察到的单个广告 MediaTailor 填充费率的简单平均值在一段 CloudWatch时间内可用。

仅针对 HLS 清单在第一个标签处发出。CUE-IN如果没有CUE-IN标签,则 MediaTailor 不发布此指标。

维度:ConfigurationName

Avail.ObservedSlateDuration

观测到的时间段内插入的 slate 的总毫秒数。 CloudWatch

维度:ConfigurationName

GetManifest.Age

清单的总时长(以毫秒为单位)。从来源创建清单到何时 MediaTailor发送个性化清单来衡量。

有关衡量清单期限的指标的更多信息,请参阅使用指标诊断陈旧清单。

维度:ConfigurationName

GetManifest.Errors

在您指定的时间段 MediaTailor 内生成清单 CloudWatch 时收到的错误数。

维度:ConfigurationName

GetManifest.Latency

请求生成清单的 MediaTailor 响应时间(以毫秒为单位)。

有关衡量清单期限的指标的更多信息,请参阅使用指标诊断陈旧清单。

维度:ConfigurationName

GetManifest.MediaTailorAge

清单的存储时间,以毫秒 MediaTailor 为单位。从何时 MediaTailor 收到原始响应到何时 MediaTailor 发送个性化清单来衡量。

有关衡量清单期限的指标的更多信息,请参阅使用指标诊断陈旧清单。

维度:ConfigurationName

Origin.Age

源拥有清单的时间量,以毫秒为单位。从源创建清单到何时 MediaTailor 发送原始请求来衡量。

所有origin.*指标都是针对直接从源头完成的请求发出的。它们不是为缓存的源响应发出的。

有关衡量清单期限的指标的更多信息,请参阅使用指标诊断陈旧清单。

维度:ConfigurationName

Origin.Errors

在您指定的时间段内从源服务器 MediaTailor 收到的非 HTTP 200 状态码响应和超 CloudWatch 时响应的数量。

所有origin.*指标都是针对直接从源头完成的请求发出的。它们不是为缓存的源响应发出的。

维度:ConfigurationName

Origin.ManifestFileSizeBytes

HLS 和 DASH 的源清单文件大小(以字节为单位)。通常,此指标与一起使用Origin.ManifestFileSizeTooLarge。

所有origin.*指标都是针对直接从源头完成的请求发出的。它们不是为缓存的源响应发出的。

维度:ConfigurationName

Origin.ManifestFileSizeTooLarge

来自源的清单大小大于配置数量的响应数量。通常,此指标与一起使用Origin.ManifestFileSizeBytes。

所有origin.*指标都是针对直接从源头完成的请求发出的。它们不是为缓存的源响应发出的。

维度:ConfigurationName

Origin.Timeouts

在您指定的时间段内向源服务器发出的超 CloudWatch 时请求的数量。

所有origin.*指标都是针对直接从源头完成的请求发出的。它们不是为缓存的源响应发出的。

维度:ConfigurationName

Requests

所有请求类型每秒的并发事务数。交易数量主要取决于玩家数量以及玩家请求更新清单的频率。每个播放器请求计为一个事务。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.DurationExceeded

由于 ADS 返回的广告持续时间大于指定的使用时长而未插入的广告数量。该指标的值过高可能会导致AdsBilled和AdDecisionServer.Ads指标之间的差异。有关跳过广告的原因的更多信息,请参阅跳过广告疑难解答。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.EarlyCueIn

由于时间过早CUE-IN,跳过的广告数量很多.

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.ImportError

由于导入任务中的错误而跳过的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.ImportInProgress

由于现有正在进行的导入任务而跳过的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.InternalError

由于 MediaTailor 内部错误而跳过的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.NewCreative

由于这是客户首次请求该资产,因此未插入的广告数量无济于事。在资产可以成功转码之前,该指标的较高值可能会暂时导致总体Avail.FillRate水平降低。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.NoVariantMatch

由于广告和内容之间没有变体匹配而跳过的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.PersonalizationThresholdExceeded

广告的持续时间超过此配置中的个性化阈值设置。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.ProfileNotFound

由于找不到转码配置文件而跳过的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.TranscodeError

由于转码错误而跳过的广告数量。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

SkippedReason.TranscodeInProgress

由于广告尚未进行转码而未插入的广告的数量。在资产成功转码之前,该指标的较高值可能会暂时导致总体Avail.FillRate水平降低。

维度:

  • ConfigurationName

  • Account-level (无尺寸)

注意

对于 HLS Interstitials 会话,由于广告决策的延迟约束性,一些指标的表现会有所不同:

  • Avail.ObservedFilledDuration匹配,Avail.FilledDuration因为 MediaTailor 无法观察到实际的客户端播放行为。

  • Avail.ObservedSlateDuration根据资产列表的回复而不是观察到的播放来报告计划的暂存时长。

  • 以 “观察” 为前缀的指标提供了 HLS Interstials 会话的估计值。

函数指标

当您在播放配置中使用函数时,会发布以下指标。当在生命周期挂钩上配置函数时,总是会发出这些指标。无需选择加入或登录配置。

Hook-level 指标 — 每个生命周期挂钩执行一个数据点:

指标 说明
PreSessionInitHook.Invocations

调用会话前初始化挂钩的次数。

维度:ConfigurationName

PreSessionInitHook.Errors

导致错误的会话前初始化挂钩执行次数。

维度:ConfigurationName

PreSessionInitHook.Latency

会话前初始化挂钩的执行时间(以毫秒为单位)。

维度:ConfigurationName

PreAdsRequestHook.Invocations

广告前请求挂钩被调用的次数。

维度:ConfigurationName

PreAdsRequestHook.Errors

导致错误的广告前请求挂钩执行次数。

维度:ConfigurationName

PreAdsRequestHook.Latency

广告前请求挂钩的执行时间(以毫秒为单位)。

维度:ConfigurationName

PostAdsResponseHook.Invocations

广告后响应挂钩被调用的次数。

维度:ConfigurationName

PostAdsResponseHook.Errors

导致错误的广告后响应挂钩执行次数。

维度:ConfigurationName

PostAdsResponseHook.Latency

广告后响应挂钩的执行时间(以毫秒为单位)。

维度:ConfigurationName

PreManifestInsertionHook.Invocations

调用清单前插入挂钩的次数。

维度:ConfigurationName

PreManifestInsertionHook.Errors

导致错误的预清单插入挂钩执行次数。

维度:ConfigurationName

PreManifestInsertionHook.Latency

清单前插入挂钩的执行时间(以毫秒为单位)。

维度:ConfigurationName

Function-level 指标 — 每个函数执行一个数据点。这些指标包括其他维度 (FunctionId、FunctionType、HookType),因此您可以确定哪个特定功能运行缓慢或失败:

指标 说明
Function.Invocations

单个函数的执行次数。

维度:

  • ConfigurationName

  • ConfigurationName, FunctionId, FunctionType, HookType

Function.Errors

导致错误的单个函数执行次数。

维度:

  • ConfigurationName

  • ConfigurationName, FunctionId, FunctionType, HookType

Function.Latency

单个函数的执行时间(以毫秒为单位)。

维度:

  • ConfigurationName

  • ConfigurationName, FunctionId, FunctionType, HookType

简单和加权平均值

您可以检索广告对广告请求的响应以及广告 MediaTailor 填充情况的简单平均值 MediaTailor 和加权平均值:

  • AdDecisionServer.FillRate和中提供了简单的平均值Avail.FillRate。这些是该时间段内各个效用的填充率百分比的平均值。简单平均值不考虑单个效用的持续时间之间的任何差异。

  • 加权平均值是所有效用持续时间总和的填充率百分比。计算方法为 (AdDecisionServer.Duration*100)/Avail.Duration 和 (Avail.FilledDuration*100)/Avail.Duration。这些平均值反映了每个广告效用持续时间的差异,给予持续时间较长的效用更多的权重。

对于仅包含一个广告效用的时间段,AdDecisionServer.FillRate 提供的简单平均值等于 (AdDecisionServer.Duration*100)/Avail.Duration 提供的加权平均值。Avail.FillRate 提供的简单平均值等于 (Avail.FilledDuration*100)/Avail.Duration 提供的加权平均值。

示例

假设您指定的时间段具有以下两个广告效用:

  • 第一个广告效用具有 90 秒的持续时间:

    • ADS 对该效用的响应提供了 45 秒的广告(50% 已填充)。

    • MediaTailor 占用 45 秒的可用广告时间(已填满 50%)。

  • 第二个广告效用具有 120 秒的持续时间:

    • ADS 对该效用的响应提供了 120 秒的广告(100% 已填充)。

    • MediaTailor 占用 90 秒的可用广告时间(填充率为 75%)。

各指标如下所示:

  • Avail.Duration 为 210,两个广告效用持续时间的总和:90 + 120。

  • AdDecisionServer.Duration 为 165,两个响应持续时间的总和:45 + 120。

  • Avail.FilledDuration 为 135,两个已填充持续时间的总和:45 + 90。

  • AdDecisionServer.FillRate 为 75%,每个效用已填充百分比的平均数:(50% + 100%)/2。这是简单平均值。

  • ADS 填充率的加权平均值为 78.57%,是 AdDecisionServer.Duration 占 Avail.Duration 的百分比:(165* 100)/210。此计算考虑到了持续时间中的差异。

  • Avail.FillRate 为 62.5%,每个效用已填充百分比的平均数:(50% + 75%)/2。这是简单平均值。

  • MediaTailor 可用填充率的加权平均值为64.29%,占以下百分比Avail.Duration:(135*100)/210。Avail.FilledDuration此计算考虑到了持续时间中的差异。

任何广告利用率最高Avail.FillRate MediaTailor 可达到 100%。ADS 可能会返回与效用中可用的广告时间相比更多的广告时间,但 MediaTailor 只能填充可用的时间。

AWS Elemental MediaTailor CloudWatch 维度

您可以使用以下维度筛选 AWS Elemental MediaTailor 数据。

维度 说明

ConfigurationName

指示指标所属的配置。适用于除每个域信标指标(Avail.Impression.Fired、、、Avail.Impression.RetriedAvail.Impression.RecoveredAvail.Complete.FiredAvail.Complete.Retried、和Avail.Complete.Recovered)之外的所有指标。

AdTrackingDomain

广告跟踪信标目的地的可注册域名,子域名已删除。无法解析为可注册域的主机报告为unknown。在Avail.Impression.Fired、、Avail.Impression.Retried、Avail.Impression.RecoveredAvail.Complete.FiredAvail.Complete.Retried、和上可用Avail.Complete.Recovered。

FunctionId

函数的标识符。仅适用于Function.*指标。

FunctionType

函数的类型:CUSTOM_OUTPUT、HTTP_REQUEST、VAST_REQUESTSEQUENTIAL_EXECUTOR、或CONCURRENT_EXECUTOR。仅适用于Function.*指标。

HookType

触发该函数的生命周期挂钩:PRE_SESSION_INITIALIZATIONPRE_ADS_REQUEST、POST_ADS_RESPONSE、或PRE_MANIFEST_INSERTION。仅适用于Function.*指标。