Extend Event Handler の可観測性
注釈:本資料はAI技術を用いて翻訳されています。
Overview
AccelByte Gaming Services (AGS) では、Grafana Cloud を使用して以下のことができます。
- Grafana のクエリエディタを使用すると、取得したい正確なログとメトリクスデータを指定できます。ログまたはメトリクスのデータソースを選択できます。
- Grafana のログ機能とメトリクス機能を使用して、Extend Event Handler サービスの効果的なデバッグを行うことができます。
Prerequisite
- このガイドの手順では、実践的な例として Getting started with Event Handler で説明されているサンプルを使用します。Extend Event Handler アプリがデプロイされていることを確認してください。
Dashboard overview
AGS Admin Portal から、Extend アプリの Grafana Cloud ダッシュボードにアクセスできます。詳細については、Access Grafana Cloud dashboards ガイドを参照してください。
Extend Event Handler アプリの Grafana Cloud ダッシュボードには、さまざまなタブとパネルがあります。重要な機能の一つが、画面左上にあるハンバーガーボタン(3本の横線)で、これを使用すると次の重要なコンポーネントにアクセスできます。
Home:さまざまなダッシュボードと設定の概要を表示します。
Dashboard:ログとメトリクスのデータを含む、事前設定済みのパネルを表示します。ハンバーガーボタンからアクセスできます。
Explore:ログとメトリクスを手動でクエリできます。これにアクセスするには、ハンバーガーボタンをクリックして Explore を選択します。Explore タブの Data Sources ドロップダウンでは、ログ用の Loki、トレース用の Tempo、メトリクス用のデータソースなど、特定のデータソースを選択できます。これらのデータソースはデバッグに使用できます。
Working with logs
Grafana の Loki 機能を使用して、以下のことができます。
- サービスのデプロイと起動が正常に行われたことを確認する。
- これらのサービス間でのデータ転送が正常に行われたことを確認する。
Navigate to Logs
ログを表示するには、左上のハンバーガーボタンをクリックして Explore タブにアクセスします。

Query logs
基本的なクエリログを実行するには、次の手順に従ってください。
-
データソースを選択します。Data Sources ドロップダウンを選択し、logs オプションを選択します。この例では、ログのオプションは logs です。
ヒントこの画像内の番号の注釈に従って、各ステップで説明されているアクションの場所を確認してください。
-
クエリタイプを設定します。Builder と Code を切り替えて、クエリタイプを設定します。使用するクエリに対応するタイプを選択してください。
-
ログクエリを入力します。Builder 入力を選択した場合は、ステップ1の画像に示されている例に従ってください。Code 入力を選択した場合は、以下のクエリを使用し、
environment_nameとgame_namespaceの値を適宜変更してください。{environment_name="(your-environment-name e.g. dev, prod, etc)", game_namespace="(your-namespace)", app_name="(your-app-name)"} |= `` -
時間範囲を調整します。クエリの時間枠を必要な時間枠に設定します。
-
クエリを実行します。Run query をクリックして、クエリに一致するログを表示します。
Confirm successful deployment
Event Handler Service が正常に起動したことを確認するには、次の手順に従ってください。
Code クエリ入力モードで、以下のクエリを実行します。結果を絞り込むには、必要に応じてクエリを追加できます。例えば、environment_name を使用して特定のデプロイ環境をクエリできます。
{environment_name="(your-environment-name e.g. dev, prod, etc)", game_namespace="(you-namespace)", app_name="(your-app-name)", container="service"}
以下の画像のようなログが表示されます。

上記の画像のクエリでは、ログを読みやすくするために line_format を使用しています。
Confirm successful data transmission
Event Handler サービスへデータが正常に転送されていることを確認するには、次の手順に従ってください。
-
Event Handler サービスへの転送をトリガーします。 Getting started with Event Handler の手順に従って、「user logged in」イベントを生成するテストをトリガーします。
-
Event Handler の転送ログをクエリします。 Code クエリ入力モードで、以下のクエリを実行します。結果を絞り込むには、必要に応じてクエリを追加できます。例えば、
environment_nameを設定して特定のデプロイ環境をクエリできます。{environment_name="(your-environment-name e.g. dev, prod, etc)", game_namespace="(you-namespace)", app_name="(your-app-name)", container="service"} |= "(your-namespace)" |= "userLoggedIn" | logfmt | json | line_format "{{.body}}"このクエリは、アプリのログをフィルタリングし、特に
"(your-namespace)"、"service"コンテナ、"userLoggedIn"というフレーズを含むログを検索します。次に、これらのログをlogfmtとjsonパーサーで処理します。詳細については、IAM Client の MessageuserLoggedInセクションを参照してください。
Monitor metrics in Grafana
Grafana のメトリクスは、Event Handler Service のパフォーマンスと健全性を監視するのに役立つ定量的なデータを提供します。最適なシステムパフォーマンスを確保するためには、これらのメトリクスの操作方法と解釈方法を理解することが重要です。
Navigate to metrics
メトリクスを表示するには、左上のハンバーガーボタンをクリックして Explore タブにアクセスします。Data Sources ドロップダウンを開き、メトリクスのオプションを選択します。この例では、メトリクスのオプションは metrics-extend です。

Query metrics
Grafana でメトリクスをクエリするには、次の手順に従ってください。
-
データソースを選択します。Data Sources ドロップダウンを開き、メトリクスのオプションを選択します。この例では、メトリクスのオプションは metrics-extend です。
ヒントこの画像内の番号の注釈に従って、各ステップで説明されているアクションの場所を確認してください。
-
クエリタイプを設定します。Builder と Code を切り替えて、クエリタイプを設定します。使用するクエリに対応するタイプを選択してください。
-
メトリクスクエリを入力します。Builder 入力を選択した場合は、ステップ1の画像に示されている例に従ってください。Code 入力を選択した場合は、以下のクエリを使用し、
game_namespaceとenvironment_nameの値を適宜変更してください。metrics_grpc_bridge:t0:accelbyte_dev_userAuthentication:total_messages_received_Count{game_namespace="(your-namespace)", environment_name="(your-environment-name e.g. dev, prod, etc)"} -
時間範囲を調整します。クエリの時間枠を必要な時間枠に設定します。
-
クエリを実行します。Run query をクリックして、クエリに一致するログを表示します。
Confirm successful message processing
メトリクス grpc_server_invocation_successful_Count は、Event Handler Service によって正常に処理されたメッセージの合計数を表します。これはカウンターメトリクスであり、その値は時間の経過とともに増加していくため、サービスのビジネスロジックのパフォーマンスと信頼性を評価するために使用できます。
Event Handler Service によってメッセージが正常に処理されていることを確認するには、grpc_server_invocation_successful_Count メトリクスを監視します。以下のクエリを実行してください。
metrics_grpc_bridge:t0:accelbyte_dev_userAuthentication:userLoggedIn:grpc_server_invocation_successful_Count{game_namespace="your-namespace"}
クエリを実行すると、以下の画像のような結果が表示されます。

successfully_processed_messages_total のメトリクス数が増加していることは、メッセージが正常に処理されていることを示しています。