メインコンテンツまでスキップ

Extend Service Extension の可観測性

Last updated on July 23, 2026
AI翻訳

このページは AI によって翻訳されています。内容の正確性については英語版を参照してください。

Introduction

Grafana を AccelByte Gaming Services (AGS) と併用すると、取得したい正確なログとメトリクスデータを指定できるクエリエディタを利用できます。上部のドロップダウンから、ログとメトリクスのデータソースを選択できます。

このガイドでは、以前にデプロイしたアプリテンプレートを実践例として利用しながら、ログとメトリクス向けの Grafana ツールを紹介します。目的は、Grafana のログとメトリクス機能に慣れていただき、Service Extension を効果的にデバッグできるようにすることです。

Dashboard overview

AGS Admin Portal から、Extend アプリ用の可観測性ダッシュボードにアクセスできます。詳細については、可観測性ダッシュボードへのアクセスガイドを参照してください。

Extend Service Extension アプリ用の可観測性ダッシュボードには、以下のコンポーネントがあります。

Service extension basic query grafana logs

  • データソース: マーカー #1 を参照してください。ドロップダウンを使用して「logs」を選択します。
  • クエリメソッド: マーカー #2 で、Query Builder または Code input のいずれかを選択します。
  • ログクエリの設定: マーカー #3 を参照してください。コード入力の場合は、サンプルクエリを調整して貼り付けます。ビルダーを使用する場合は、スクリーンショットの例に従ってください。
  • 時間範囲の定義: マーカー #4 を使用して、希望する時間枠を設定します。
  • 実行と確認: マーカー #5 の Run Query ボタンをクリックしてログを表示します。

Filter and identify startup logs

アプリケーションをデプロイした直後は重要な時間帯です。この間にアプリケーションが初期化され、動作の準備が整います。この起動フェーズで生成されるログを調べることで、開発者はアプリがデプロイ状態から正常に実行状態へ移行したことを確認できます。

上記のビジュアルガイドを使用して、以下の手順に従いフィルターを適用してログを特定します。

  1. 検索を開始する: この確認プロセスの出発点として、マーカー #3 の検索バーを参照してください。

  2. フィルターを適用する: クエリメソッド(マーカー #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}}"

  3. 検索を実行する: マーカー #5 で強調表示されている「Run Query」ボタンをクリックして、関連するログを表示します。

  4. 結果を確認する: アプリが正常に動作している場合、以下のようなスクリーンショットが表示されます。

    Service extension grafana startup logs

Identify logs for successful endpoint calls

エンドポイントが正常に呼び出されるということは、アプリケーションが単に実行されているだけでなく、実際にリクエストを処理し、意図された機能を提供していることを意味します。エンドポイント呼び出しに関連するログを観察することで、開発者はデプロイ後のアプリケーションの応答性と機能面の健全性を検証できます。

上記のビジュアルガイドを使用して、以下の手順に従い、エンドポイント呼び出しが成功したログを特定します。

  1. 検索を開始する: この確認プロセスの出発点として、マーカー #3 の検索バーを参照してください。

  2. エンドポイント呼び出しをフィルターする: クエリメソッド(マーカー #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 =~ `.*` を使用できます。

  3. クエリを実行する: マーカー #5 で強調表示されている Run Query ボタンをクリックして、関連するログを表示します。

  4. 結果を確認する: アプリが正常に動作している場合、以下のようなスクリーンショットが表示されます。

    Service extension grafana endpoint call logs

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. データソースを切り替える: マーカー #1 に戻り、データソースとして「metric」を選択します。

  2. メトリククエリの入力: クエリメソッドとして Code Input を使用している場合、マーカー #3 のメトリククエリバーに以下を入力できます。

    grpc_server_msg_received_total{game_namespace="(your-namespace)", app_name="(your-appname)"}
  3. メトリクスを実行して分析する: マーカー #5 で示されている Run Query ボタンをクリックすると、以下のような結果が表示されます。

service extension grafana metric