Extend Service Extension の可観測性
注釈:本資料はAI技術を用いて翻訳されています。
はじめに
Grafana CloudをAccelByte Gaming Services(AGS)と併用することで、取得したいログとメトリクスデータを正確に指定できるクエリエディタを利用できます。上部のドロップダウンからログとメトリクスのデータソースを選択できます。
このガイドでは、以前にデプロイしたアプリテンプレートを実例として、ログとメトリクス用のGrafana Cloudツールを紹介します。Service Extension の効果的なデバッグを行えるよう、Grafanaのログとメトリクス機能に習熟していただくことを目的としています。
ダッシュボード概要
AGS管理ポータルからExtendアプリのGrafana Cloudダッシュボードにアクセスできます。詳細については、Grafana Cloudダッシュボードへのアクセスガイドを参照してください。
Extend Service Extension アプリのGrafana Cloudダッシュボードには、以下のコンポーネントがあります:

- データソース:マーカー#1を参照してください。ドロップダウンを使用して「logs」を選択します。
- クエリ方法:マーカー#2で、
Query BuilderまたはCode inputのいずれかを選択します。 - ログクエリの設定:マーカー#3を参照してください。コード入力の場合は、サンプルクエリを調整して貼り付けます。ビルダーを使用する場合は、スクリーンショットの例に従ってください。
- 時間範囲の定義:マーカー#4を使用して、希望する時間枠を設定します。
- 実行とレビュー:マーカー#5のRun Queryボタンをクリックして、ログを表示します。
起動ログのフィルタリングと識別
アプリケーションのデプロイ直後は非常に重要な時間帯です。この時点でアプリケーションが初期化され、動作の準備が整います。この起動フェーズで生成されたログを確認することで、開発者はアプリがデプロイから実行状態へ正常に移行したことを確認できます。
上記のビジュアルガイドを使用して、以下の手順を完了し、フィルタを適用してログを識別します。
-
検索の開始: マーカー#3の検索バーを、この検証プロセスの開始点として参照してください。
-
フィルタの適用: クエリ方法(マーカー#2を参照)として
Code inputを使用している場合、以下のクエリを入力できます:{game_namespace="(your-namespace)", app_name="(your-appname)", environment_name="(your-enrionment)"} | logfmt | json | attributes_container = `service` | line_format `{{.body}}`ヒントログを読みやすくするために、クエリに
line_formatを追加できます。例:"<your query>" | logfmt | json | line_format "{{.body}}" -
検索の実行: マーカー#5で強調表示されている「Run Query」ボタンをクリックして、関連するログを表示します。
-
結果のレビュー: アプリが正常に実行されている場合、以下のスクリーンショットのような表示が見られます:

成功したエンドポイント呼び出しのログの識別
エンドポイントが正常に呼び出されると、アプリケーションが単に実行されているだけでなく、リクエストを積極的に処理し、意図した機能を提供していることを意味します。エンドポイント呼び出しに関連するログを確認することで、開発者はデプロイ後のアプリケーションの応答性と機能的な健全性を検証できます。
上記のビジュアルガイドを使用して、以下の手順を完了し、成功したエンドポイント呼び出しのログを識別します。
-
検索の開始: マーカー#3の検索バーを、この検証プロセスの開始点として参照してください。
-
エンドポイント呼び出しのフィルタリング: クエリ方法(マーカー#2を参照)として
Code inputを使用している場合、以下のクエリを入力できます:{game_namespace="(your-namespace)", app_name="(your-appname)", environment_name="(your-enrionment)"} | logfmt | json | attributes_container = `service` | method = `GET` | line_format `{{.body}}`ヒントこのサンプルでは
method = `GET`を使用していますが、method =~ `.*`を使用してすべての種類のHTTPリクエストをフィルタリングできます。 -
クエリの実行: マーカー#5で強調表示されているRun Queryボタンをクリックして、関連するログを表示します。
-
結果の確認: アプリが正常に実行されている場合、以下のスクリーンショットのような表示が見られます:

gRPCメッセージ受信メトリクスの監視
gRPCメッセージの受信を監視することで、サーバーのアクティビティを測定できます。ここでは、Extendアプリテンプレートが提供する組み込みメトリクスであるgrpc_server_msg_received_totalを使用します。これは、サーバーが受信したgRPCストリームメッセージの総数をカウントするもので、サーバーのメッセージ処理負荷に関する洞察を提供し、トラフィックパターンやアクティビティの急増を特定するのに役立ちます。
Grafanaでgrpc_server_msg_received_totalを監視する
上記のビジュアルガイドを使用して、以下の手順を完了し、Grafanaでgrpc_server_msg_received_totalを監視します。
-
データソースの切り替え: マーカー#1に戻り、データソースとして「metric」を選択します。
-
メトリクスクエリの入力: マーカー#3で、クエリ方法として
Code Inputを使用している場合、メトリクスクエリバーに以下を入力できます:grpc_server_msg_received_total{game_namespace="(your-namespace)", app_name="(your-appname)"} -
メトリクスの実行と分析: マーカー#5で識別されるRun Queryボタンをクリックすると、以下のような表示が見られます:
