View a markdown version of this page

Amazon GameLift Servers のモニタリング - Amazon GameLift Servers

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon GameLift Servers のモニタリング

モニタリングは、 およびその他の Amazon GameLift Servers AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。Amazon GameLift Servers でのメトリクスの主な用途は 3 つあります。システムの状態をモニタリングしてアラームを設定すること、ゲームサーバーのパフォーマンスと使用状況を追跡すること、および手動/自動スケーリングを使用して容量を管理することです。

AWS には、 を監視しAmazon GameLift Servers、問題が発生したときに報告し、必要に応じて自動アクションを実行するための以下のモニタリングツールが用意されています。

  • Amazon GameLift Servers コンソール – グラフィカルインターフェイスを使用して Amazon GameLift Servers リソースを管理し、ゲームホスティングアクティビティを追跡します。

  • サーバーテレメトリメトリクス – SDK とプラグインを統合することで、 Amazon GameLift Servers はゲームサーバーから直接カスタムメトリクスを出力できます。組み込みのパフォーマンス、ネットワーク、メモリ、タイミングデータとともに、独自のゲーム固有のメトリクスを定義および追跡できます。すべてのメトリクスを Amazon Managed Service for Prometheus に発行し、完全にカスタマイズ可能なダッシュボードを使用して Amazon Grafana でモニタリングできます。他の AWS サービスとの統合のために Amazon CloudWatch に発行することもできます。テレメトリシステムは完全にカスタマイズ可能です。カスタム 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 メトリクスの 3 つの主要なソースを通じてメトリクスを提供します。各ソースには固有の機能があります。サーバーテレメトリはサーバー側と OS レベルの最も深い可視性を提供し、CloudWatch はアラームと自動化のための GameLift 側のフリート、キュー、マッチメーキングメトリクスの最も広範なセットを提供し、コンソールはフリートアクティビティを一目で確認できます。以下の表は、各ソースが提供するメトリクスをメトリクスカテゴリ別にまとめたものです。

ソース別のメトリクスの可用性

以下の表を参照してください。

  • コンソールは、メトリクスがAmazon GameLift Serversコンソールにネイティブに表示されることを示します (フリートのアクティビティ、スケーリング、ロケーションタブ、フリートテーブルなど)。

  • CloudWatch は、メトリクスがAWS/GameLift名前空間に発行され、CloudWatch を通じてグラフ化、アラーム化、またはクエリできることを示します。

  • テレメトリは、メトリクスが Amazon GameLift Servers OpenTelemetry Collector によって収集され、管理ポータルと構築済みのダッシュボードで利用できることを示します。✓* は、メトリクスが直接出力されるのではなく、収集されたテレメトリに対するカスタム PromQL クエリを通じて取得できることを意味します。

インスタンスメトリクス

インスタンスレベルの容量とライフサイクルのメトリクス:

インスタンスメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
アクティブなインスタンス ✓ ✓ ✓*
アイドル状態のインスタンス ✓ ✓ ✓*
アイドル状態のインスタンスの割合 ✓ ✓ ✓*
必要なインスタンス ✓ ✓
最小インスタンス ✓ ✓
最大インスタンス ✓ ✓
保留中のインスタンス ✓ ✓
インスタンスを終了する ✓ ✓
インスタンススポットの中断 ✓ ✓
リサイクルされたインスタンス (スポット) ✓ ✓
置き換えられた異常なインスタンス ✓ ✓

インスタンスシステムと OS メトリクス

Operating-system-levelインスタンスメトリクス。サーバーテレメトリは、詳細なメモリ、ファイルシステム、ネットワークの内訳など、CloudWatch よりもはるかに豊富なホストメトリクスのセットを収集します。EC2 フリートは、コンテナフリートとは異なるホストメトリクスのセットを出力します。コンテナフリートメトリクスは、以下のコンテナフリートメトリクスの下に一覧表示されます。

インスタンスシステムと OS メトリクスの可用性 (マネージド EC2 フリート)
メトリクス コンソール CloudWatch テレメトリ
CPU 使用率 ✓ ✓ ✓
状態別の CPU 時間 (ユーザー、システム、アイドル、iowait) ✓
CPU 負荷平均 (1m、5m、15m) ✓
メモリの使用状況と使用率 ✓
ファイルシステムの使用状況と使用率 ✓
ネットワーク入出力 (バイト) ✓ ✓ ✓
ネットワークパケット、エラー、ドロップ ✓
アクティブなネットワーク接続 ✓
ディスクの読み取り/書き込みバイト数 ✓ ✓ ✓
ディスクの読み取り/書き込みオペレーション ✓ ✓ ✓
ディスクオペレーション時間と I/O 時間 ✓
保留中のディスクオペレーション ✓
プロセスごとの CPU 時間 ✓
プロセスごとのメモリ使用量 (常駐、仮想) ✓

ゲームセッションとサーバープロセスのメトリクス

ゲームセッション数とサーバープロセスのライフサイクルメトリクス:

ゲームセッションとサーバープロセスのメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
アクティブなゲームセッション ✓ ✓ ✓*
ゲームセッションのアクティブ化 ✓ ✓
使用可能なゲームセッション (ゲーム容量) ✓ ✓ ✓
利用可能なゲームセッションの割合 (キャパシティ使用量) ✓ ✓ ✓
同時にアクティブ化可能なゲームセッション ✓ ✓
ゲームセッションスポットの中断 ✓ ✓
アクティブなサーバープロセス ✓ ✓ ✓
正常なサーバープロセス ✓ ✓ ✓
正常なサーバープロセスの割合 ✓ ✓ ✓
サーバープロセスのアクティベーション ✓ ✓
サーバープロセスの終了 ✓ ✓
サーバープロセスの異常な終了 ✓ ✓
クラッシュしたゲームセッション ✓

サーバーパフォーマンスメトリクス

ゲーム内サーバーのパフォーマンスメトリクスは、 Amazon GameLift Servers SDKsとプラグインを介してゲームサーバーから直接出力されます。これらはサーバーテレメトリ専用であり、コンソールまたは CloudWatch では使用できません。

サーバーパフォーマンスメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
サーバーデルタ時間 (および p50、p90、p95) ✓
サーバーのティックタイム (および p50、p90、p95) ✓
サーバーのティックレート ✓
サーバーワールドティックタイム (および p50、p90、p95) ✓
サーバー稼働ステータス ✓
サーバー接続 ✓
サーバーのバイトイン/アウト ✓
サーバーパケットの入出力 ✓
サーバーパケットが入出力されない ✓

プレイヤーメトリクス

プレイヤーセッションと同時接続ユーザーメトリクス:

プレイヤーメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
現在のプレイヤーセッション ✓ ✓
使用可能なプレイヤーセッション (最大) ✓ ✓
プレイヤーセッションのアクティベーション ✓ ✓
同時ユーザー (CCU)、グローバル、ロケーションごと ✓

コンテナフリートのメトリクス

マネージドコンテナフリートに固有のメトリクス。サーバーテレメトリは CloudWatch よりも豊富なネットワークとストレージの内訳を収集し、CloudWatch はテレメトリによって公開されていないコンテナグループのライフサイクル数を追跡します。

コンテナフリートメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
アクティブなゲームサーバーコンテナグループ ✓ ✓
アイドル状態のゲームサーバーコンテナグループ ✓ ✓
保留中のゲームサーバーコンテナグループ ✓ ✓
ゲームサーバーコンテナグループの終了 ✓ ✓
異常なゲームサーバーコンテナグループが置き換えられました ✓ ✓
コンテナの CPU 使用率 ✓ ✓ ✓
モード別のコンテナ CPU 使用率 (カーネル、ユーザー、システム) ✓
コンテナ CPU 予約 ✓ ✓
コンテナのメモリ使用率 ✓ ✓ ✓
コンテナメモリの予約 ✓ ✓ ✓
コンテナのメモリ制限と最大使用量 ✓
コンテナネットワークの入出力 (レート) ✓ ✓ ✓
コンテナネットワークパケットの入出力 ✓
コンテナネットワークエラーとドロップされたパケット ✓
コンテナストレージの読み取り/書き込みバイト数 ✓ ✓ ✓
ECS タスクの CPU 使用率 (合計、システム) ✓
使用および予約された ECS タスクメモリ ✓
ECS タスクネットワークレート (rx、tx) ✓
ECS タスクストレージの読み取り/書き込みバイト数 ✓

プレイヤーゲートウェイメトリクス

プレイヤーゲートウェイトラフィックとスロットリングメトリクス。プレイヤーゲートウェイを使用するマネージドコンテナフリートで使用できます。プレイヤーゲートウェイメトリクスは CloudWatch 専用です (コンソールには CloudWatch ウィジェットとして表示されます)。

プレイヤーゲートウェイメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
プレイヤーゲートウェイパケットの入出力 ✓ ✓
プレイヤーゲートウェイのバイトイン/アウト ✓ ✓
スロットリングされたプレイヤーゲートウェイパケット ✓ ✓
スロットリングされたプレイヤーゲートウェイのバイト数 ✓ ✓
プレイヤーゲートウェイプレイヤーセッション ✓ ✓

ゲームセッションキューメトリクス

ゲームセッションプレイスメントキューのメトリクス。キューメトリクスは CloudWatch 専用です (コンソールでは、キューのメトリクスタブに CloudWatch ウィジェットとして表示されます)。

キューメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
平均待機時間 ✓ ✓
キューの深さ ✓ ✓
配置されたゲームセッション ✓ ✓
最初の選択肢が実行可能ではない ✓ ✓
容量不足の最初の選択肢 ✓ ✓
レイテンシーが最も低い配置 ✓
最低価格の配置 ✓
プレイスメントが開始されました ✓ ✓
プレイスメントが成功しました ✓ ✓
プレイスメントがキャンセルされました ✓ ✓
配置に失敗しました ✓ ✓
プレイスメントがタイムアウトしました ✓ ✓

FlexMatch マッチメーキングメトリクス

FlexMatch マッチメーキング設定とルールセットのメトリクス。マッチメーキングメトリクスは CloudWatch 専用です (また、マッチメーキング設定のメトリクスタブで CloudWatch ウィジェットとしてコンソールに表示されます)。

マッチメーキングメトリクスの可用性
メトリクス コンソール CloudWatch テレメトリ
現在のチケット ✓ ✓
チケット開始 ✓ ✓
チケットが失敗しました ✓ ✓
チケットがタイムアウトしました ✓ ✓
開始されたプレイヤー ✓ ✓
作成された一致 ✓ ✓
一致が受け入れられました ✓ ✓
一致が拒否されました ✓ ✓
配置された一致 ✓ ✓
一致の承諾がタイムアウトしました ✓ ✓
マッチメーキング検索時間 ✓ ✓
一致までの時間 ✓ ✓
チケットキャンセルまでの時間 ✓ ✓
チケットが成功するまでの時間 ✓ ✓
ルール評価に合格しました ✓
ルールの評価に失敗しました ✓

適切なモニタリングソースの選択

特定のニーズに基づいてモニタリングアプローチを選択します。

  • サーバーテレメトリメトリクスを使用して、ゲームサーバーから包括的なパフォーマンスデータをモニタリングし、ゲームに固有のカスタムメトリクスを出力します。これらのメトリクスは、すべてのゲームエンジンとサーバー SDK のサーバーパフォーマンス、ネットワークアクティビティ、メモリ使用量、タイミングデータに関する詳細なインサイトを提供します。ゲームプレイイベント、ビジネスロジックのパフォーマンス、アプリケーション固有のデータポイントのカスタムメトリクスを定義できます。すべてのダッシュボードは完全にカスタマイズ可能で、カスタム Prometheus クエリを作成して、収集されたデータから追加のメトリクスを取得できます。詳細については、「サーバーテレメトリメトリクスによるモニタリング」を参照してください。

  • フリート管理、容量プランニング、一般的な運用上の監視には、Amazon GameLift Servers コンソールを使用します。コンソールには、フリートの正常性とプレイヤーアクティビティの統合ビューが表示されます。詳細については、「Amazon GameLift Servers を使用したホスティングリソースの管理」を参照してください。

  • Amazon CloudWatch を使用して、自動モニタリング、アラート、他の AWS サービスとの統合を行います。CloudWatch は、カスタムダッシュボードとアラームベースの自動化を有効にします。詳細については、「Amazon CloudWatch で Amazon GameLift Servers を監視する」を参照してください。

  • Amazon Managed Service for Prometheus を使用して、PromQL クエリ機能を備えた高性能メトリクスの収集とストレージを実現します。Prometheus は、サーバーテレメトリメトリクスのスケーラブルな時系列データストレージを提供します。

  • Amazon Managed Grafana を使用すると、高度な視覚化と完全にカスタマイズ可能なダッシュボードを利用できます。Grafana は、カスタマイズと拡張が可能な構築済みの GameLift ダッシュボードを提供し、複数のデータソースを持つ完全にカスタムのダッシュボードの作成をサポートします。カスタムクエリとビジュアライゼーションを構築して、ゲームにとって重要なメトリクスを追跡できます。

  • 包括的なモニタリングには複数のソースを使用します。コンソールの監視、サーバーテレメトリメトリクス、自動アラートを組み合わせて、ゲームホスティングインフラストラクチャを完全に可視化します。

追加のモニタリング機能については、以下を使用することもできます。

トピック