Game8のモニタリングの話(DataDogの活用例)
この記事は ゲームエイト開発部 Advent Calendar 2023 の2日目の記事です。
イントロ
Game8では様々なツールを使用してサイトのモニタリングを実施しています。その中でも主要なものとして DataDog を利用してアプリケーションを監視し、運用の効率化やシステムのパフォーマンスを最適化に繋げています。本記事では DataDog の機能の紹介や、モニタリングで重視している項目について紹介します。
モニタリングの概要
モニタリングは、技術的な問題を迅速に特定し、ユーザー体験を常に最高に保つために不可欠です。弊社では、主にDataDogを用いてアプリケーションをリアルタイムで監視し、パフォーマンスの悪化を検知したりサービスの中断を未然に防ぐことで、ビジネスの連続性と顧客満足を確保しています。
DataDogによるモニタリング戦略
弊社ではAPM、インフラストラクチャおよびログといった、DataDogの機能を活用しています。
APM
APMでは、リクエスト数、レイテンシーおよびエラー率といったメトリクスを重点的に監視し、ユーザーの体験とアプリケーションの健全性に関する即時のフィードバックを得ています。
インフラストラクチャ
インフラストラクチャでは、CPUやRAMの使用状況といったリソース消費に注目していますが、こちらは主にAWSのContainer Insightsを使用しており、それを補完する形で運用の効率化を図っています。
ログ
ログでは、アプリケーションの詳細な動作状況を把握し、予期せぬ挙動やエラーの迅速な診断に活用しています。さらに、デプロイの監視も実施しデプロイの影響をリアルタイムで評価することで、リリースプロセスの透明性を高めています。
その他
その他としてAWSインフラのメトリクスやWebサーバメトリクスといったものもモニタリングしています。
ダッシュボードとアラートの設定
APMはデフォルトのサービスカタログを使用しており、統計に使用するリクエストカウントなどは別途 Google Analytics などを使用しています。
アラートもいくつか設定しており、例えばリクエスト数の急激な増加などを設定していますが、今のところいい感じの塩梅を模索中です。
これらのメトリクスは、ダッシュボードに集約しており、チーム全体での視認性と対応の迅速化を支えています。
ログとトレースの活用
各リクエストはトレースという形で保持され、アプリケーションのメソッドおよびDBのクエリがどのように走っていったかが記録されます。また、トレースはアプリケーションのログとも紐づけられ、リクエスト単位での分析をすることができます。何かしらのイベントがが生じた際にはそのリクエストを分析して、問題箇所の特定・分析をし、改善へと繋げていきます。
まとめ
この記事ではGame8がサイトを運用するにあたり、どのように DataDog を活用しているかを紹介しました。今後も、モニタリングをより進化させることにより、チームは迅速かつ効果的な運用・対応を可能にし、サービスの信頼性およびユーザ体験を高めるために活用してきます!
Discussion