View a markdown version of this page

监控 亚马逊 GameLift 服务器 - 亚马逊 GameLift 服务器

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

监控 亚马逊 GameLift 服务器

监控是维护和其他 AWS 解决方案的可靠性、可用性和性能的重要组成部分。Amazon GameLift ServersAmazon GameLift Servers 指标有三个主要用途:监控系统运行状况和设置警报;跟踪游戏服务器的性能和使用情况;以及使用手动或自动扩展功能管理容量。

AWS 提供以下监控工具Amazon GameLift Servers,供您监视、报告问题并在适当时自动采取措施:

  • Amazon GameLift Servers 控制台 – 使用图形界面管理您的 Amazon GameLift Servers 资源并跟踪游戏托管活动。

  • 服务器遥测指标 – Amazon GameLift Servers 支持您通过 SDK 和插件集成,直接从游戏服务器发送自定义指标。您可以定义并跟踪自己的游戏特定指标以及内置的性能、网络、内存和计时数据。所有指标都可以发布到 Amazon Managed Service for Prometheus,并使用完全可自定义的控制面板在 Amazon Grafana 中进行监控。您也可以发布到 Amazon CloudWatch ,以便与其他 AWS 服务集成。遥测系统是完全可定制的——除了内置指标外,您还可以创建自定义 Prometheus 查询,以获取其他指标。有关特定技术栈的实施指南,请参阅使用服务器遥测指标进行监控

  • Amazon CloudWatch — 您可以实时监控Amazon GameLift Servers指标,以及您在 AWS 服务上运行的其他 AWS 资源和应用程序的指标。Amazon CloudWatch 提供了一套监控功能,包括用于创建自定义控制面板的工具,以及设置警报以在指标达到指定阈值时发出通知或采取行动的功能。

  • AWS CloudTrail— 捕获由您的账户或代表您的 AWS 账户为和其他 AWS 服务进行的所有 API 调用Amazon GameLift Servers和相关事件。数据将作为日志文件传送到您指定的 Amazon S3 存储桶。您可以识别哪些用户和帐户拨打了电话 AWS、发出呼叫的源 IP 地址以及呼叫发生的时间。

  • 游戏会话日志 – 您可以将游戏会话的自定义服务器消息输出到存储在 Amazon S3 中的日志文件中。

跨监控源的指标比较

Amazon GameLift Servers通过三个主要来源提供指标:Amazon GameLift Servers控制台舰队活动指标、服务器遥测指标和 Amazon CloudWatch Amazon GameLift Servers 指标。每个来源都有独特的功能。服务器遥测提供最深入的服务器端和 OS-level 可见性, CloudWatch 为警报和自动化提供最广泛的 GameLift-side 舰队、队列和配对指标,控制台一目了然地显示舰队活动。下表显示了每个来源提供的指标,按指标类别排列。

按来源划分的指标可用性

在下表中:

  • 控制台表示指标以原生方式显示在Amazon GameLift Servers控制台中(例如,在队列的 “活动”、“扩展” 或 “位置” 选项卡上,或者在队列表中)。

  • CloudWatch表示指标已发布到AWS/GameLift命名空间,可以绘制图表、警报或查询。 CloudWatch

  • 遥测表示该指标由收集Amazon GameLift Servers OpenTelemetry 器收集,可在管理门户和预先构建的仪表板中找到。✓ * 表示指标不是直接发出的,而是可以通过对收集的遥测数据进行自定义 PromQL 查询得出。

实例指标

Instance-level 容量和生命周期指标:

实例指标可用性
指标 控制台 CloudWatch 遥测
活动实例 ✓*
空闲实例 ✓*
空闲实例所占百分比 ✓*
预期实例数
最小实例数
最大实例数
待处理实例
正在终止实例
实例 Spot 中断
回收的实例(Spot)
运行不正常的实例替换次数

实例系统和操作系统指标

Operating-system-level 实例指标。服务器遥测收集的主机指标集要丰富得多 CloudWatch,包括详细的内存、文件系统和网络故障。EC2 舰队发布的主机指标集与集装箱舰队不同的主机指标——集装箱船队指标列在下面的集装箱队列指标下。

实例系统和操作系统指标可用性(托管 EC2 队列)
指标 控制台 CloudWatch 遥测
CPU 使用率
按状态划分的 CPU 时间(用户、系统、空闲、iowait)
CPU 平均负载(1m、5m、15m)
内存使用率和利用率
文件系统的使用和利用率
网络 in/out (字节)
网络数据包、错误、丢弃
活跃的网络连接
磁盘 read/write 字节
磁盘 read/write 操作
磁盘操作时间和 I/O 时间
待处理的磁盘操作
Per-process CPU 时间
Per-process 内存使用情况(驻留、虚拟)

游戏会话和服务器进程指标

游戏会话计数和服务器进程生命周期指标:

游戏会话和服务器进程指标可用性
指标 控制台 CloudWatch 遥测
有效游戏会话 ✓*
激活游戏会话
可用游戏会话(游戏容量)
可用游戏会话百分比(容量使用情况)
并发可激活游戏会话数
游戏会话 Spot 中断
活动服务器进程数
健康的服务器进程
运行状况良好的服务器进程百分比
服务器进程激活
服务器进程终止
服务器进程异常终止
崩溃的游戏会话数

服务器性能指标

In-game 服务器性能指标通过 Amazon GameLift Servers SDK 和插件直接从游戏服务器发出。它们是服务器遥测所独有的,在控制台或中 CloudWatch不可用。

服务器性能指标可用性
指标 控制台 CloudWatch 遥测
服务器增量时间(以及 p50、p90、p95)
服务器滴答时间(以及 p50、p90、p95)
服务器滴答率
服务器世界的滴答时间(以及 p50、p90、p95)
服务器启动状态
服务器连接
服务器字节 in/out
服务器数据包 in/out
服务器数据包丢失 in/out

玩家指标

玩家会话和并发用户指标:

玩家指标可用性
指标 控制台 CloudWatch 遥测
当前玩家会话
可用玩家会话数(最大)
玩家会话激活次数
全球和每个位置的并发用户 (CCU)

容器实例集指标

托管集装箱船队的特定指标。与之相比,服务器遥测收集的网络和存储故障更丰富 CloudWatch,同时 CloudWatch 跟踪遥测未暴露的容器组生命周期计数。

容器实例集指标可用性
指标 控制台 CloudWatch 遥测
活跃的游戏服务器容器组
闲置游戏服务器容器组
待处理的游戏服务器容器组
终止游戏服务器容器组
替换了不健康的游戏服务器容器组
容器 CPU 利用率
按模式划分的容器 CPU 使用率(内核、用户、系统)
容器 CPU 预留
容器内存利用率
容器内存预留
容器内存限制和最大使用量
容器网络 in/out (速率)
容器网络数据包 in/out
容器网络错误和数据包丢失
容器存储 read/write 字节
ECS 任务 CPU 使用率(总计,系统)
已使用和预留 ECS 任务内存
ECS 任务网络速率 (rx、tx)
ECS 任务存储 read/write 字节数

玩家网关指标

玩家网关流量和限制指标,适用于使用玩家网关的托管容器舰队。玩家网关指标是独有的 CloudWatch (并且在控制台中作为 CloudWatch 小部件可见)。

玩家网关指标可用性
指标 控制台 CloudWatch 遥测
玩家网关数据包 in/out
玩家网关字节 in/out
玩家网关数据包已被限制
玩家网关字节数已被限制
玩家网关玩家会话

游戏会话队列指标

游戏会话放置队列的指标。队列指标是独有的 CloudWatch (并在控制台中以 CloudWatch 小组件的形式显示在队列的 “指标” 选项卡上)。

队列指标可用性
指标 控制台 CloudWatch 遥测
平均等待时间
队列深度
游戏会话已放置
第一选择不可行
容量不足的首选
最低延迟放置
最低定价
已开始投放
投放成功
投放已取消
投放失败
展示位置已超时

FlexMatch 配对指标

FlexMatch 配对配置和规则集的指标。配对指标是独有的 CloudWatch (并在控制台中作为配对配置的 “指标” 选项卡上的 CloudWatch 小部件可见)。

配对指标可用性
指标 控制台 CloudWatch 遥测
当前门票
门票开始了
门票失败了
门票已超时
玩家已开始
已创建匹配项
比赛已接受
比赛被拒绝
已放置火柴
比赛接受超时
配对搜索时间
是时候配对了
是时候取消门票了
是时候成功购票了
规则评估已通过
规则评估失败

选择合适的监控源

根据具体需求选择监控方法:

  • 使用服务器遥测指标来监控来自游戏服务器的全面性能数据,并发出特定于游戏的自定义指标。这些指标可提供所有游戏引擎和服务器 SDK 的服务器性能、网络活动、内存使用情况及计时数据的详细见解。您可针对游戏事件、业务逻辑性能和特定于应用程序的数据点定义自定义指标。所有控制面板均可完全自定义,您可以创建自定义 Prometheus 查询,从收集的数据中获取更多指标。有关更多信息,请参阅 使用服务器遥测指标进行监控

  • 使用 Amazon GameLift Servers 控制台实现实例集管理、容量规划和一般运营监督。该控制台提供实例集运行状况与玩家活动的集成视图。有关更多信息,请参阅 使用 Amazon GameLift Servers 管理游戏托管资源

  • 使用 Amazon CloudWatch 进行自动监控、警报以及与其他 AWS 服务的集成。 CloudWatch 启用自定义仪表板和基于警报的自动化。有关更多信息,请参阅 监控 亚马逊 GameLift 服务器 与亚马逊合作 CloudWatch

  • 使用 Amazon Managed Service for Prometheus 实现高性能指标收集与存储,并支持 PromQL 查询功能。Prometheus 为服务器遥测指标提供可扩展的时间序列数据存储。

  • 使用 Amazon Managed Grafana 实现高级可视化和完全可自定义的控制面板管理。Grafana 提供您可以自定义和扩展的 GameLift 预建仪表板,还支持创建包含多个数据源的完全自定义的仪表板。您可以构建自定义查询和可视化工具,以追踪游戏中任何重要的指标。

  • 使用多个来源实现全面监控。将控制台监督、服务器遥测指标和自动化警报结合起来,全面了解游戏托管基础设施。

要获得其他监控功能,还可使用以下方法:

主题