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

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

使用 Amazon CloudWatch 监控 GameLift

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

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

GameLift 队组指标

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

Instances

指标 Description

ActiveInstances

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

DesiredInstances

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

IdleInstances

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

MaxInstances

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

MinInstances

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

PercentIdleInstances

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

单位 百分比

相关CloudWatch统计信息: 平均值、最小值、最大值

InstanceInterruptions

已中断的 Spot 实例的数量。

单位 Count

相关CloudWatch统计信息: 总和、平均值、最小值、最大值

服务器进程

指标 Description

ActiveServerProcesses

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

HealthyServerProcesses

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

PercentHealthyServerProcesses

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

单位 百分比

相关CloudWatch统计信息: 平均值、最小值、最大值

ServerProcessAbnormalTerminations

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

单位 Count

相关CloudWatch统计信息: 总和、平均值、最小值、最大值

ServerProcessActivations

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

单位 Count

相关CloudWatch统计信息: 总和、平均值、最小值、最大值

ServerProcessTerminations

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

单位 Count

相关CloudWatch统计信息: 总和、平均值、最小值、最大值

游戏会话

指标 Description

ActivatingGameSessions

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

ActiveGameSessions

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

AvailableGameSessions

当前没有用于主持游戏会话的活跃、健康的服务器进程,并且能够启动新的游戏会话,而不会延迟启动新的服务器进程或实例。该指标可与自动扩展功能配合使用。

注意

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

ConcurrentActivatableGameSessions

当前未用于主持游戏会话且可立即开始新游戏会话的活动、健康的服务器进程。

此度量与 AvailableGameSessions 它不计算当前无法激活新游戏会话的服务器进程,因为游戏会话激活受到限制。(请参阅机队 运行时配置 可选设置 MaxConcurrentGameSessionActivations)。对于不限制游戏会话激活的机队,此指标与 AvailableGameSessions.

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

PercentAvailableGameSessions

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

单位 百分比

相关CloudWatch统计信息: Average

GameSessionInterruptions

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

单位 Count

相关CloudWatch统计信息: 总和、平均值、最小值、最大值

玩家会话

指标 Description

CurrentPlayerSessions

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值

PlayerSessionActivations

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

单位 Count

相关CloudWatch统计信息: 总和、平均值、最小值、最大值

GameLift 队列指标

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

指标 Description

AverageWaitTime

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

单位 Seconds

相关CloudWatch统计信息: 平均值、最小值、最大值、和

FirstChoiceNotViable 成功放入游戏会话,但不是首选队组,因为该队组被视为不可行(例如,具有较高中断率的 Spot 队组)。首选队组是队列中列出的第一个队组,或者,当放置请求包含玩家延迟数据时,则是 FleetIQ 优先级划分选择的第一个队组。

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

LowestPricePlacement 游戏会话成功放置在车队中,队列为所选区域的最低可能价格。(FleetIQ 优先排序 首先为玩家选择延迟最小的区域,然后找到该区域内成本最低的车队。)如果队列没有点实例,则此编队可以是点编队或按需实例。此指标仅当放置请求中包含玩家延迟数据时发出。

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

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

单位 Count

相关CloudWatch统计信息: 总计

PlacementsCanceled

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

PlacementsFailed

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

PlacementsStarted

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

PlacementsSucceeded

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

PlacementsTimedOut

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

QueueDepth

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

用于对战的 GameLift 指标

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

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

对战配置

指标

Description

CurrentTickets

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

单位 Count

相关CloudWatch统计信息: 平均值、最小值、最大值、和

MatchAcceptancesTimedOut

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

单位 Count

相关CloudWatch统计信息: 总计

MatchesAccepted

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

单位 Count

相关CloudWatch统计信息: 总计

MatchesCreated

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

单位 Count

相关CloudWatch统计信息: 总计

MatchesPlaced

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

单位 Count

相关CloudWatch统计信息: 总计

MatchesRejected

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

单位 Count

相关CloudWatch统计信息: 总计

PlayersStarted

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

单位 Count

相关CloudWatch统计信息: 总计

TicketsFailed

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

单位 Count

相关CloudWatch统计信息: 总计

TicketsStarted

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

单位 Count

相关CloudWatch统计信息: 总计

TicketsTimedOut

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

单位 Count

相关CloudWatch统计信息: 总计

TimeToMatch

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

单位 Seconds

相关CloudWatch统计信息: 数据样本,平均值,最小值,最大值,p99

TimeToTicketCancel

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

单位 Seconds

相关CloudWatch统计信息: 数据样本,平均值,最小值,最大值,p99

TimeToTicketSuccess

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

单位 Seconds

相关CloudWatch统计信息: 数据样本,平均值,最小值,最大值,p99

对战规则

指标 Description

RuleEvaluationsPassed

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

单位 Count

相关CloudWatch统计信息: 总计

RuleEvaluationsFailed

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

单位 Count

相关CloudWatch统计信息: 总计

GameLiftFleetIQ的 指标

GameLift 命名空间包含用于 FleetIQ 游戏服务器组和游戏服务器活动的指标,作为用于游戏托管的 FleetIQ 独立解决方案的一部分。GameLift 服务每分钟向 CloudWatch 发送一次指标。另见 使用AmazonCloudWatch监控自动扩展组和实例Amazon EC2 Auto Scaling 用户指南.

有关 FleetIQ 作为独立解决方案的更多信息,请参阅 GameLift FleetIQ 指南

指标 Description

AvailableGameServers

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

单位 Count

相关CloudWatch统计信息: 总计

维度 游戏服务器组

UtilizedGameServers

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

单位 Count

相关CloudWatch统计信息: 总计

维度 游戏服务器组

DrainingAvailableGameServers

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

单位 Count

相关CloudWatch统计信息: 总计

维度 游戏服务器组

DrainingUtilizedGameServers

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

单位 Count

相关CloudWatch统计信息: 总计

维度 游戏服务器组

PercentUtilizedGameServers

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

单位 百分比

相关CloudWatch统计信息: 平均值、最小值、最大值

维度 游戏服务器组

GameServerInterruptions

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

单位 Count

相关CloudWatch统计信息: 总计

维度 GameServerGroup、实例类型

InstanceInterruptions

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

单位 Count

相关CloudWatch统计信息: 总计

维度 GameServerGroup、实例类型

GameLift 指标的维度

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

维度: Description

FleetId

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

MetricGroup

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

QueueName

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

MatchmakingConfigurationName

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

MatchmakingConfigurationName-RuleName

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

InstanceType

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

OperatingSystem

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

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