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

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

Identify logs for successful endpoint calls
エンドポイントが正常に呼び出されるということは、アプリケーションが単に実行されているだけでなく、実際にリクエストを処理し、意図された機能を提供していることを意味します。エンドポイント呼び出しに関連するログを観察することで、開発者はデプロイ後のアプリケーションの応答性と機能面の健全性を検証できます。
上記のビジュアルガイドを使用して、以下の手順に従い、エンドポイント呼び出しが成功したログを特定します。
-
検索を開始する: この確認プロセスの出発点として、マーカー #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}}`Tipsこの例では
method = `GET`を使用していますが、あらゆる種類の HTTP リクエストをフィルターするにはmethod =~ `.*`を使用できます。 -
クエリを実行する: マーカー #5 で強調表示されている Run Query ボタンをクリックして、関連するログを表示します。
-
結果を確認する: アプリが正常に動作している場合、以下のようなスクリーンショットが表示されます。

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