使用 Amazon CloudWatch 监控 Amazon GameLift - Amazon GameLift

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

使用 Amazon CloudWatch 监控 Amazon GameLift

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

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

如果指标没有位置,则使用起始位置。

Amazon GameLift 指标的维度

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

维度 描述

Location

筛选实例集部署位置的指标。如果指标没有位置,则使用起始位置。

FleetId

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

MetricGroup

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

QueueName

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

ConfigurationName

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

ConfigurationName-RuleName

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

InstanceType

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

OperatingSystem

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

GameServerGroup

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

Amazon GameLift 实例集指标

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

实例

指标 描述

ActiveInstances

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

DesiredInstances

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

IdleInstances

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

MaxInstances

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

MinInstances

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

PercentIdleInstances

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

单位:百分比

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

RecycledInstances

已回收和替换的竞价型实例的数量。Amazon GameLift 会回收当前未托管游戏会话且中断概率很高的竞价型实例。

单位:计数

相关的 CloudWatch 统计数据:Sum、Average、Minimum、Maximum

维度:位置

InstanceInterruptions

已中断的竞价型实例的数量。

单位:计数

相关的 CloudWatch 统计数据:Sum、Average、Minimum、Maximum

维度:位置

CPUUtilization

EC2 指标。对于 Amazon GameLift,该指标表示实例集所在地所有活动实例的硬件性能。Amazon EC2 用于运行实例的物理 CPU 时间的百分比,包括运行用户代码和 Amazon EC2 代码所花费的时间。由于旧设备模拟、非旧设备配置、中断密集型工作负载、实时迁移和实时更新等因素,操作系统中的工具显示的百分比可能与 CloudWatch 不同。

单位:百分比

NetworkIn

EC2 指标。对于 Amazon GameLift,该指标表示实例集所在地所有活动实例的硬件性能。实例在所有网络接口上收到的字节数。该指标确认单个实例上向应用程序传入的网络流量。

单位:字节

NetworkOut

EC2 指标。对于 Amazon GameLift,该指标表示实例集所在地所有活动实例的硬件性能。实例在所有网络接口上发送的字节数。该指标确认单个实例上向应用程序传出的网络流量。

单位:字节

DiskReadBytes

EC2 指标。对于 Amazon GameLift,该指标表示实例集所在地所有活动实例的硬件性能。从可供实例使用的所有实例存储卷读取的字节数。该指标用来确定应用程序从实例的硬盘读取的数据量。它可以用于确定应用程序的速度。

单位:字节

DiskWriteBytes

EC2 指标。对于 Amazon GameLift,该指标表示实例集所在地所有活动实例的硬件性能。向可供实例使用的所有实例存储卷写入的字节数。该指标用来确定应用程序向实例的硬盘写入的数据量。它可以用于确定应用程序的速度。

单位:字节

DiskReadOps

EC2 指标。对于 Amazon GameLift,该指标表示实例集所在地所有活动实例的硬件性能。在指定时间段内从可供实例使用的所有实例存储卷完成的读取操作数。要计算该周期的每秒平均 I/O 操作数 (IOPS),请将该周期的总操作数除以总秒数。

单位:计数

DiskWriteOps

EC2 指标。对于 Amazon GameLift,该指标表示实例集所在地所有活动实例的硬件性能。在指定时间段内向可供实例使用的所有实例存储卷完成的写入操作数。要计算该周期的每秒平均 I/O 操作数 (IOPS),请将该周期的总操作数除以总秒数。

单位:计数

服务器进程

指标 描述

ActiveServerProcesses

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

HealthyServerProcesses

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

PercentHealthyServerProcesses

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

单位:百分比

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

ServerProcessAbnormalTerminations

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

单位:计数

相关的 CloudWatch 统计数据:Sum、Average、Minimum、Maximum

维度:位置

ServerProcessActivations

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

单位:计数

相关的 CloudWatch 统计数据:Sum、Average、Minimum、Maximum

维度:位置

ServerProcessTerminations

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

单位:计数

相关的 CloudWatch 统计数据:Sum、Average、Minimum、Maximum

维度:位置

游戏会话

指标 描述

ActivatingGameSessions

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

ActiveGameSessions

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

AvailableGameSessions

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

注意

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

ConcurrentActivatableGameSessions

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

该指标与 AvailableGameSessions 的不同之处在于:它不计算由于游戏会话激活限制而当前无法激活新游戏会话的服务器进程。(参见实例集 RuntimeConfiguration 可选设置 MaxConcurrentGameSessionActivations)。对于不限制游戏会话激活的实例集,此指标与 AvailableGameSessions 相同。

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:位置

PercentAvailableGameSessions

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

单位:百分比

相关的 CloudWatch 统计数据:Average

维度:位置

GameSessionInterruptions

已中断的竞价型实例上的游戏会话的数量。

单位:计数

相关的 CloudWatch 统计数据:Sum、Average、Minimum、Maximum

维度:位置

玩家会话

指标 描述

CurrentPlayerSessions

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

PlayerSessionActivations

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

单位:计数

相关的 CloudWatch 统计数据:Sum、Average、Minimum、Maximum

Amazon GameLift 队列指标

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

指标 描述

AverageWaitTime

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

单位:秒

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

维度:位置

FirstChoiceNotViable

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

FirstChoiceOutOfCapacity

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

LowestLatencyPlacement

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

LowestPricePlacement

游戏会话成功放入选定区域的队列价格最低的实例集。此实例集可以是竞价型实例集或按需型实例(如果队列中没有竞价型实例集)。此指标仅当放置请求中包含玩家延迟数据时发出。

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

Placement <region name>

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

单位:计数

相关的 CloudWatch 统计数据:Sum

PlacementsCanceled

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

PlacementsFailed

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

PlacementsStarted

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

PlacementsSucceeded

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

PlacementsTimedOut

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

QueueDepth

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

维度:位置

Amazon GameLift 对战指标

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

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

对战配置

指标

描述

CurrentTickets

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

单位:计数

相关的 CloudWatch 统计数据:Average、Minimum、Maximum、Sum

MatchAcceptancesTimedOut

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

单位:计数

相关的 CloudWatch 统计数据:Sum

MatchesAccepted

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

单位:计数

相关的 CloudWatch 统计数据:Sum

MatchesCreated

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

单位:计数

相关的 CloudWatch 统计数据:Sum

MatchesPlaced

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

单位:计数

相关的 CloudWatch 统计数据:Sum

MatchesRejected

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

单位:计数

相关的 CloudWatch 统计数据:Sum

PlayersStarted

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

单位:计数

相关的 CloudWatch 统计数据:Sum

TicketsFailed

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

单位:计数

相关的 CloudWatch 统计数据:Sum

TicketsStarted

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

单位:计数

相关的 CloudWatch 统计数据:Sum

TicketsTimedOut

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

单位:计数

相关的 CloudWatch 统计数据:Sum

TimeToMatch

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

单位:秒

相关的 CloudWatch 统计数据:Data Samples、Average、Minimum、Maximum

TimeToTicketCancel

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

单位:秒

相关的 CloudWatch 统计数据:Data Samples、Average、Minimum、Maximum

TimeToTicketSuccess

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

单位:秒

相关的 CloudWatch 统计数据:Data Samples、Average、Minimum、Maximum

对战规则

指标 描述

RuleEvaluationsPassed

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

单位:计数

相关的 CloudWatch 统计数据:Sum

RuleEvaluationsFailed

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

单位:计数

相关的 CloudWatch 统计数据:Sum

FleetIQ 的 Amazon GameLift 指标

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

指标 描述

AvailableGameServers

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

单位:计数

相关的 CloudWatch 统计数据:Sum

维度:GameServerGroup

UtilizedGameServers

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

单位:计数

相关的 CloudWatch 统计数据:Sum

维度:GameServerGroup

DrainingAvailableGameServers

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

单位:计数

相关的 CloudWatch 统计数据:Sum

维度:GameServerGroup

DrainingUtilizedGameServers

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

单位:计数

相关的 CloudWatch 统计数据:Sum

维度:GameServerGroup

PercentUtilizedGameServers

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

单位:百分比

相关的 CloudWatch 统计数据:Average、Minimum、Maximum

维度:GameServerGroup

GameServerInterruptions

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

单位:计数

相关的 CloudWatch 统计数据:Sum

维度:GameServerGroup、InstanceType

InstanceInterruptions

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

单位:计数

相关的 CloudWatch 统计数据:Sum

维度:GameServerGroup、InstanceType