DeNAのモバイルゲーム監視基盤

株式会社DeNAは多数の大規模モバイルゲームを運営しており、同時接続数が数百万に達するタイトルも珍しくありません。こうしたサービスを安定して提供するため、同社は統一された監視基盤を構築しています。
DeNA operates a large number of large-scale mobile games, and it is not unusual for a single title to reach millions of concurrent users. To deliver these services stably, the company has built a unified observability platform.
全体アーキテクチャ
監視基盤は大きく四つのレイヤーで構成されています。第一にメトリクス収集、第二にログ集約、第三に分散追跡、そして第四にクラッシュ解析です。これらを横断して検索できるように、共通の相関IDが全リクエストに付与されます。
The observability platform is broadly composed of four layers: first, metrics collection; second, log aggregation; third, distributed tracing; and fourth, crash analytics. To enable cross-cutting search, a common correlation ID is attached to every request.
リアルタイムKPIダッシュボード
経営・企画陣が毎日確認するKPIには、DAU(日間アクティブユーザー)、MAU(月間アクティブユーザー)、ARPU(ユーザー一人当たり平均売上)、そしてチャーンレート(離脱率)が含まれます。これらは従来翌日のバッチ処理で算出されていましたが、現在はストリーム処理基盤により数秒以内に更新されます。
KPIs that management and planning teams check daily include DAU (Daily Active Users), MAU (Monthly Active Users), ARPU (Average Revenue Per User), and churn rate. These were traditionally calculated by next-day batch processing, but are now updated within a few seconds via the stream-processing platform.
クラッシュ解析との統合
モバイル端末で発生したクラッシュは、Firebase Crashlyticsに送信され、そこから内部の監視基盤へ転送されます。端末側のスタックトレースと、サーバー側のログを同じリクエストIDで結び付けることにより、「クライアントの特定APIコールがサーバー側のどの応答に起因してクラッシュしたか」を追跡できるようになります。
Crashes that occur on mobile devices are sent to Firebase Crashlytics, and from there forwarded to the internal observability platform. By linking device-side stack traces with server-side logs via the same request ID, engineers can trace "which server response caused which client API call to crash."
分散追跡の役割
現代のモバイルゲームは、ゲームサーバー、マッチメイキングサービス、決済サービス、通知サービスなど多数のマイクロサービスで構成されます。プレイヤーが「対戦を開始」ボタンを押すと、十数のサービスを経由するリクエストが飛び交います。OpenTelemetryと互換のトレーシングにより、各サービスの処理時間を可視化し、ボトルネックを特定しています。
Modern mobile games are composed of many microservices — game servers, matchmaking, payment, notifications, and more. When a player presses "Start Match," a request flies through more than ten services. OpenTelemetry-compatible tracing visualizes the processing time of each service and identifies bottlenecks.
不正行為の異常検知
自動操作ツールやチートツールを使うプレイヤーは、正規のプレイヤーと異なる行動パターンを示すことが多いです。たとえば、リクエスト頻度が人間にはありえない速度であったり、特定のAPIだけを繰り返し呼ぶといった兆候が見られます。機械学習モデルがこれらを継続的に学習し、疑わしいアカウントを自動で検知します。
Players who use automation tools or cheats often exhibit behavioral patterns different from legitimate players — for example, request frequencies impossible for a human, or repeatedly calling only specific APIs. A machine-learning model continuously learns from these and automatically detects suspicious accounts.
イベントスパイクへの備え
期間限定イベントやガチャの更新は、通常時の数十倍の負荷を生み出します。過去のイベントの負荷データを元に、将来の突発スパイクを予測し、Kubernetesの自動スケーラーを事前に起動します。これによりピーク直前にウォームアップ済みのPodが十分に揃う仕組みになっています。
Limited-time events and gacha updates generate loads dozens of times higher than normal. Based on historical event load data, the platform predicts future sudden spikes and proactively triggers Kubernetes autoscalers in advance. This ensures that warmed-up pods are sufficiently in place just before peak.
今後の展望
DeNAは今後、eBPFベースのオーバーヘッドの低いトレース収集や、LLMによるアラート要約にも取り組むと公表しています。人手を介さず、症状から根本原因まで一気に到達できる基盤が目標です。
DeNA has announced that it will work on lower-overhead trace collection based on eBPF, as well as LLM-based alert summarization. The goal is a platform that can reach root causes from symptoms in one stroke, without human intervention.