使用 Amazon CloudWatch 监控 GameLift - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用 Amazon CloudWatch 监控 GameLift

您可以使用 Amazon CloudWatch、Amazon服务,可收集原始数据并将数据处理为便于读取的近乎实时的指标。这些统计数据将保留 15 个月,以便从历史角度了解使用 GameLift 托管游戏服务器的性能。您可以设置用于监测特定阈值的警报,并在达到相应阈值时发送通知或执行操作。有关更多信息,请参阅 Amazon CloudWatch 用户指南

下表列出 GameLift 的指标和维度。在 CloudWatch 中可用的所有指标在 GameLift 控制台(使用一组可自定义的图形提供数据)中同样可用。要访问用于游戏的 CloudWatch 指标,请使用Amazon Web Services Management Console,Amazon CLI或 CloudWatch API。

队 GameLift 指标

AWS/GameLift 命名空间包含以下与整个队列或队列组活动相关的指标。队组与托管 GameLift 解决方案一起使用。GameLift 服务每分钟向 CloudWatch 发送一次指标。

指标组

指标 描述

Fleet Metrics

此组中的量度仅代表主区域度量。

FleetId, Location

此组中的量度显示跨多区域舰队所有位置的量度。

Instances

指标 描述

ActiveInstances

具有 ACTIVE 状态的实例 (表示它们正在运行活动服务器进程)。计数包括空闲实例和托管一个或多个游戏会话的实例。该指标用于衡量当前的总计实例容量。该指标可与自动扩展功能配合使用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

DesiredInstances

GameLift 在队组中设法维护的活动实例的目标数量。配合自动扩展使用时,该值基于当前有效的扩展策略确定。不使用自动扩展时,该值需手动设置。查看队组指标组数据时,该指标不可用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

IdleInstances

当前托管零 (0) 个游戏会话的活动实例。该指标用于衡量可用但未用的容量。该指标可与自动扩展功能配合使用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

MaxInstances

队列允许的最大实例数。队列的最大实例数决定了手动或自动扩展期间的容量上限。查看队组指标组数据时,该指标不可用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

MinInstances

队列允许的最小实例数。队列的最小实例数决定了手动或自动缩减期间的容量下限。查看队组指标组数据时,该指标不可用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

PercentIdleInstances

处于空闲状态的所有活动实例的百分比 (计算公式为:IdleInstances / ActiveInstances)。该指标可与自动扩展功能配合使用。

单位:百分比

相关的 CloudWatch 统计数据:A、Mimation、Maximum

InstanceInterruptions

已中断的 Spot 实例的数量。

单位:计数

相关的 CloudWatch 统计数据:Sum、A、Mimation、Maximum

服务器进程

指标 描述

ActiveServerProcesses

具有 ACTIVE 状态的服务器进程 (表示它们正在运行并且能够托管游戏会话)。计数包括空闲服务器进程和托管游戏会话的进程。该指标用于衡量当前的总计服务器处理能力。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

HealthyServerProcesses

报告运行正常的活动服务器进程。该指标有助于跟踪队列游戏服务器的整体运行状况。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

PercentHealthyServerProcesses

报告运行正常的所有活动服务器进程的百分比 (计算公式为:HealthyServerProcesses / ActiveServerProcesses)。

单位:百分比

相关的 CloudWatch 统计数据:A、Mimation、Maximum

ServerProcessAbnormalTerminations

自上次报告以来因异常情况而被关闭的服务器进程。该指标包括 GameLift 服务发起的终止。当服务器进程停止响应、持续报告运行状况检查失败或无法完全终止(通过调用 ProcessEnding())时,就会出现这种情况。

单位:计数

相关的 CloudWatch 统计数据:Sum、A、Mimation、Maximum

ServerProcessActivations

自上次报告以来,从 ACTIVATING 成功转换为 ACTIVE 状态的服务器进程。服务器进程必须处于活动状态才能托管游戏会话。

单位:计数

相关的 CloudWatch 统计数据:Sum、A、Mimation、Maximum

ServerProcessTerminations

自上次报告以来关闭的服务器进程。这包括由于任何原因转换到 TERMINATED 状态的所有服务器进程,包括正常和异常进程终止。

单位:计数

相关的 CloudWatch 统计数据:Sum、A、Mimation、Maximum

游戏会话

指标 描述

ActivatingGameSessions

具有 ACTIVATING 状态的游戏会话 (表示它们正在启动)。游戏会话在进入活动状态前无法托管玩家。如果该数字的值在一段时间内一直很高,可能说明游戏会话无法从 ACTIVATING 转换为 ACTIVE 状态。该指标可与自动扩展功能配合使用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

ActiveGameSessions

具有 ACTIVE 状态的游戏会话 (表示它们能够托管玩家,并且正在托管零个或多个玩家)。该指标用于衡量当前被托管的游戏会话的总数。该指标可与自动扩展功能配合使用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

AvailableGameSessions

当前未用于托管游戏会话的活动、运行状况良好的服务器进程,并且可以毫不延迟地启动新的游戏会话,以启动新的服务器进程或实例。该指标可与自动扩展功能配合使用。

注意

对于限制并发游戏会话激活的队列,请使用指标ConcurrentActivatableGameSessions. 该指标更准确地表示可以在没有任何类型延迟的情况下启动的新游戏会话的数量。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

ConcurrentActivatableGameSessions

活动、运行正常的服务器进程,当前未用于托管游戏会话,并可立即启动新游戏会话。

此指标不同于AvailableGameSessions,它不会计算当前由于游戏会话激活的限制而无法激活新游戏会话的服务器进程。(请参阅舰队RuntimeConfiguration可选设置MaxConcurrentGameSessionActivations)。对于不限制游戏会话激活的队列,此指标与AvailableGameSessions.

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

PercentAvailableGameSessions

所有活动服务器进程 (运行正常或不正常) 上当前未使用的游戏会话槽的百分比 (计算公式为:AvailableGameSessions / [ActiveGameSessions + AvailableGameSessions + unhealthy server processes])。该指标可与自动扩展功能配合使用。

单位:百分比

相关的 CloudWatch 统计数据:平均值

GameSessionInterruptions

已中断的 Spot 实例上的游戏会话的数量。

单位:计数

相关的 CloudWatch 统计数据:Sum、A、Mimation、Maximum

玩家会话

指标 描述

CurrentPlayerSessions

具有 ACTIVE 状态 (玩家已连接到活动游戏会话) 或 RESERVED 状态 (已在游戏会话中为玩家分配槽,但玩家尚未连接) 的玩家会话。该指标可与自动扩展功能配合使用。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Maximum

PlayerSessionActivations

自上次报告以来,从 RESERVED 状态转换为 ACTIVE 状态的玩家会话。当玩家成功连接到活动的游戏会话时,就会出现这种情况。

单位:计数

相关的 CloudWatch 统计数据:Sum、A、Mimation、Maximum

队列指标

GameLift 命名空间包含以下与整个游戏会话放置队列中的活动有关的指标。队列与托管 GameLift 解决方案一起使用。GameLift 服务每分钟向 CloudWatch 发送一次指标。

指标 描述

AverageWaitTime

队列中具有 PENDING 状态的游戏会话放置请求等待执行的平均时长。

单位:秒

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

FirstChoiceNotViable

成功放入游戏会话,但不是首选队组,因为该队组被视为不可行(例如,具有较高中断率的 Spot 队组)。此指标基于成本,而不是延迟。首选队组是队列中列出的第一个队组或者当放置请求包含玩家延迟数据时优先级选择的第一个队组FleetIQ 优先级. 如果没有可行的 Spot 队组,则可以选择该区域中的任何队组。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

FirstChoiceOutOfCapacity

成功放入游戏会话,但不是首选队组,因为该队组没有可用资源。首选队组是队列中列出的第一个队组或者当放置请求包含玩家延迟数据时优先级选择的第一个队组FleetIQ 优先级.

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

LowestLatencyPlacement

游戏会话成功放入为玩家提供队列最低延迟的区域。此指标仅当放置请求中包含玩家延迟数据时发出,它会触发FleetIQ 优先级.

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

LowestPricePlacement

游戏会话成功放入选定区域的队列价格最低的队组。(FleetIQ 优先级首先选择为玩家提供最低延迟的区域,然后找到该区域中成本最低的队组。) 此队组可以是 Spot 队组或按需实例(如果队列中没有 Spot 实例)。此指标仅当放置请求中包含玩家延迟数据时发出。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

Placement <region name>

游戏会话成功放入位于指定区域中的队组。此指标按区域细分 PlacementsSucceeded 指标。

单位:计数

相关的 CloudWatch 统计数据:总计

PlacementsCanceled

自上次报告以来,在超时前被取消的游戏会话放置请求。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

PlacementsFailed

自上次报告以来,因任何原因失败的游戏会话放置请求。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

PlacementsStarted

自上次报告以来,添加到队列中的新的游戏会话放置请求。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

PlacementsSucceeded

自上次报告以来,产生了新游戏会话的游戏会话放置请求。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

PlacementsTimedOut

自上次报告以来,达到队列超时限制而未执行的游戏会话放置请求。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

QueueDepth

队列中状态为 PENDING 的游戏会话放置请求的数量。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

用于对战的 GameLift 指标

这些区域有:GameLift命名空间包含用于对战配置和对战规则的 FlexMatch 活动的指标。FlexMatch 匹配与托管 GameLift 解决方案一起使用。GameLift 服务每分钟向 CloudWatch 发送一次指标。

有关对战活动序列的详细信息,请参阅Amazon GameLift FlexMatch 的工作原理.

对战配置

指标

描述

CurrentTickets

当前正在处理或等待处理的对战请求。

单位:计数

相关的 CloudWatch 统计数据:A、Mimation、Max大、Sum

MatchAcceptancesTimedOut

对于要求接受的对战配置,潜在对战游戏从上次报告后在接受过程中超时。

单位:计数

相关的 CloudWatch 统计数据:总计

MatchesAccepted

对于要求接受的对战配置,是上次报告后被接受的潜在对战游戏。

单位:计数

相关的 CloudWatch 统计数据:总计

MatchesCreated

上次报告后创建的潜在对战游戏。

单位:计数

相关的 CloudWatch 统计数据:总计

MatchesPlaced

上次报告后成功放入游戏会话中的对战游戏。

单位:计数

相关的 CloudWatch 统计数据:总计

MatchesRejected

对于要求接受的对战配置,是上次报告后至少被一位玩家拒绝的潜在对战游戏。

单位:计数

相关的 CloudWatch 统计数据:总计

PlayersStarted

上次报告后在对战票证中添加的玩家。

单位:计数

相关的 CloudWatch 统计数据:总计

TicketsFailed

上次报告后未成功完成对战游戏而发出的对战请求。

单位:计数

相关的 CloudWatch 统计数据:总计

TicketsStarted

上次报告后创建的新对战请求。

单位:计数

相关的 CloudWatch 统计数据:总计

TicketsTimedOut

上次报告后达到超时限制的对战请求。

单位:计数

相关的 CloudWatch 统计数据:总计

TimeToMatch

对于上次报告前放入潜在对战游戏的对战请求,是票证创建和潜在对战游戏创建之间的时间量。

单位:秒

相关的 CloudWatch 统计数据:数据示例、平均值、最小值、最大值、p99

TimeToTicketCancel

对于上次报告前取消的对战请求,是票证创建和取消之间的时间量。

单位:秒

相关的 CloudWatch 统计数据:数据示例、平均值、最小值、最大值、p99

TimeToTicketSuccess

对于上次报告前成功的对战请求,是票证创建和成功的对战游戏放置之间的时间量。

单位:秒

相关的 CloudWatch 统计数据:数据示例、平均值、最小值、最大值、p99

对战规则

指标 描述

RuleEvaluationsPassed

上次报告后在对战时通过的规则评估。此指标仅限前 50 条规则。

单位:计数

相关的 CloudWatch 统计数据:总计

RuleEvaluationsFailed

上次报告后在对战时未通过的规则评估。此指标仅限前 50 条规则。

单位:计数

相关的 CloudWatch 统计数据:总计

FFleetIQ 的 GameLift 指标

这些区域有:GameLift命名空间包含用于 FleetIQ 游戏服务器组和游戏服务器活动的指标,作为用于游戏托管的 FleetiQ 独立解决方案的一部分。GameLift 服务每分钟向 CloudWatch 发送一次指标。另请参阅使用 Amazon CloudWatch 监控您的 Auto Scaling 组和实例中的Amazon EC2 Auto Scaling 用户指南.

指标 描述

AvailableGameServers

可用于运行游戏执行但当前未被玩游戏占用的游戏服务器数量。此数字包括已认领但仍处于 AVAILABLE(可用)状态的游戏服务器。

单位:计数

相关的 CloudWatch 统计数据:总计

维度:GameServerGroup

UtilizedGameServers

当前被游戏占用的游戏服务器数量。此数字包括处于 UTILIZED 状态的游戏服务器。

单位:计数

相关的 CloudWatch 统计数据:总计

维度:GameServerGroup

DrainingAvailableGameServers

当前不支持玩游戏且计划终止的实例上的游戏服务器数量。这些游戏服务器属于为响应新的认领请求而认领的最低优先级。

单位:计数

相关的 CloudWatch 统计数据:总计

维度:GameServerGroup

DrainingUtilizedGameServers

当前支持玩游戏且计划终止的实例上的游戏服务器数量。

单位:计数

相关的 CloudWatch 统计数据:总计

维度:GameServerGroup

PercentUtilizedGameServers

当前支持游戏执行的游戏服务器所占的部分。此指标表示当前正在使用的游戏服务器容量。它可用于驱动可以动态添加和删除实例来与玩家需求匹配的 Auto Scaling 策略。

单位:百分比

相关的 CloudWatch 统计数据:A、Mimation、Maximum

维度:GameServerGroup

GameServerInterruptions

由于 Spot 可用性有限而中断的 Spot 实例上的游戏服务器数量。

单位:计数

相关的 CloudWatch 统计数据:总计

维度:GameServerGroup、InstanceType

InstanceInterruptions

由于可用性有限而中断的 Spot 实例数量。

单位:计数

相关的 CloudWatch 统计数据:总计

维度:GameServerGroup、InstanceType

用于 GameLift 指标的维度

GameLift 支持按以下维度来筛选指标。

维度 描述

FleetId

筛选单个队组的指标。该维度可用于实例、服务器进程、游戏会话和玩家会话的所有队组指标。

MetricGroup

筛选队组集合的指标。通过将队组指标组名称添加到队组的属性(请参阅 UpdateFleetAttributes())向该指标组添加队组。该维度可用于实例、服务器进程、游戏会话和玩家会话的所有队组指标。

QueueName

筛选单个队列的指标。该维度只用于游戏会话队列的指标。

MatchmakingConfigurationName

筛选用于单个对战配置的指标。此维度仅与用于对战配置的指标一起使用。

MatchmakingConfigurationName-RuleName

筛选用于对战配置与对战规则的相交处的指标。此维度仅与用于对战规则的指标一起使用。

InstanceType

EC2 实例类型名称的筛选指标,如“c4.large”。此维度与 Spot 实例的指标一起使用。

OperatingSystem

筛选实例的操作系统的指标。此维度与 Spot 实例的指标一起使用。

GameServerGroup 筛选用于游戏服务器组的 FleetIQ 指标。