Extend Event Handler の可観測性
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Gaming Services(AGS)でGrafana Cloudを使用すると、以下のことができます。
- Grafanaのクエリエディタを使用して、取得したいログとメトリクスデータを正確に指定できます。ログまたはメトリクスのデータソースを選択できます。
- Grafanaのログとメトリクス機能を使用して、Extend Event Handlerサービスの効果的なデバッグを可能にします。
AGS Shared Cloudのお客様は、Grafana Cloudの無料トライアルをご利用いただけます。トライアル期間は、2024年3月18日午前7時(PDT)から2024年4月26日午後11時59分(PDT)までです。このオファーは、期間中にGrafana Cloudにログインした最初のユーザー(AGSアカウント内)のみが対象となります。トライアル期間中、このユーザーのみがGrafana Cloudにアクセスできます。無料トライアルの開始方法の詳細については、Grafana Cloud無料トライアルを参照してください。
前提条件
- このガイドの手順では、実践的な例としてEvent Handlerの使用開始で説明されているサンプルを使用します。Extend Event Handlerアプリがデプロイされていることを確認してください。
ダッシュボードの概要
AGS Admin PortalからExtendアプリのGrafana Cloudダッシュボードにアクセスできます。詳細については、Grafana Cloudダッシュボードへのアクセスガイドを参照してください。
Extend Event HandlerアプリのGrafana Cloudダッシュボードには、さまざまなタブとパネルがあります。特に重要な機能として、画面左上にあるハンバーガーボタン(3本の横線)があり、以下の重要なコンポーネントにアクセスできます。
Home:各種ダッシュボードと設定の概要を確認できます。
Dashboard:ログとメトリクスのデータを含む事前設定済みのパネルを表示します。ハンバーガーボタンからアクセスできます。
Explore:ログとメトリクスを手動でクエリできます。アクセスするには、ハンバーガーボタンをクリックしてExploreを選択します。ExploreタブのData Sourcesドロップダウンで、ログ用のLoki、トレース用のTempo、メトリクス用のその他のデータソースなど、特定のデータソースを選択できます。これらのデータソースはデバッグに活用できます。
ログの操作
Grafanaのloki機能を使用して、以下のことができます。
- サービスのデプロイと起動が成功したことを確認する。
- これらのサービス間のデータ送信が成功したことを確認する。
ログへの移動
ログを表示するには、左上隅のハンバーガーボタンをクリックしてExploreタブにアクセスします。

ログのクエリ
基本的なログクエリを実行するには、以下の手順に従います。
-
データソースを選択。Data Sourcesドロップダウンを選択し、logsオプションを選択します。この例では、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をクリックして、クエリに一致するログを表示します。
デプロイの成功を確認
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を使用しています。
データ送信の成功を確認
Event Handlerサービスにデータが正常に送信されていることを確認するには、以下の手順に従います。
-
Event Handlerサービスへの送信をトリガー。Event Handlerの使用開始の手順に従って、「ユーザーログイン」イベントを生成するテストをトリガーします。
-
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**セクションを参照してください。
Grafanaでメトリクスを監視
Grafanaのメトリクスは、Event Handler Serviceのパフォーマンスと健全性を監視するのに役立つ定量的データを提供します。これらのメトリクスをナビゲートして解釈する方法を理解することは、最適なシステムパフォーマンスを確保するために重要です。
メトリクスへの移動
メトリクスを表示するには、左上隅のハンバーガーボタンをクリックしてExploreタブにアクセスします。Data Sourcesドロップダウンを開き、メトリクスオプションを選択します。この例では、メトリクスオプションはmetrics-extendです。

メトリクスのクエリ
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をクリックして、クエリに一致するログを表示します。
メッセージ処理の成功を確認
メトリクス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のメトリクスカウントが増加していることは、メッセージが正常に処理されていることを確認します。