Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コロプラにおける Datadog APM 活用/ColoplTech-01-02

E704514df1d69d511c4c74771a40c8f5?s=47 COLOPL Inc.
January 27, 2022

コロプラにおける Datadog APM 活用/ColoplTech-01-02

※資料内の参照リンクを選択し閲覧する場合は、ダウンロードをお願いいたします

\積極的に技術発信を行なっております/
▽ Twitter/COLOPL_Tech
https://twitter.com/colopl_tech

▽ connpassページ
http://colopl.connpass.com

▽ COLOPL Tech Blog
http://blog.colopl.dev

E704514df1d69d511c4c74771a40c8f5?s=128

COLOPL Inc.

January 27, 2022
Tweet

More Decks by COLOPL Inc.

Other Decks in Technology

Transcript

  1.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 1
 コロプラにおける
 Datadog APM

    活用
 2022/01/13
 

  2.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 2
 自己紹介
 • おはぎ


    • 株式会社コロプラ 2019/04 中途入社
 • SREチーム

  3.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 3
 内容
 • 話すこと


    ◦ GKE/PHP/Laravel 環境で運用されているタイトルで Datadog APM をどのよう に活用しているか
 • 話さないこと
 ◦ Datadog 導入経緯
 ◦ Agent の設定や構成

  4.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 4
 APM
 • APM:

    Application Performance Monitoring
 ◦ アプリケーションの性能を監視して問題の検知や原因特定を効率的に行うた めのツール
 • 様々な監視サービスにより提供されている
 ◦ e.g. Datadog, NewRelic, Cloud Operations(Google Cloud)
 • 主な機能
 ◦ メトリクス, トレース, プロファイリング, サービスマップなど
 • 使う目的
 ◦ 性能監視や問題が発生したときの調査を効率的に行いたい

  5.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 5
 Datadog
 • Datadog,

    Inc が提供する監視&分析 SaaS
 • インテグレーションが豊富
 • APM 以外にも様々な機能
 ◦ ログ監視, ネットワーク監視, アラート, etc
 • コロプラでは主に APM を活用

  6.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 6
 コロプラのバックエンドシステム
 2021/12/03 Cloud

    Native Lounge #3 大規模ゲームインフラとしての Kubernetes とノーメンテナンス運用 
 https://speakerdeck.com/toversus/da-gui-mo-kemuinhuratositefalse-kubernetes-tofalsementenansuyun-yong?slide=21
  7.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 7
 コロプラのモニタリング
 • Prometheus/Grafana


    ◦ リクエスト(RPS, エラー数, レイテンシなど)
 ◦ GKE/K8s リソース
 ◦ Spanner
 ◦ VM コンポーネント(MySQL, RabbitMQ, Redis)
 • Cloud Logging
 ◦ ログ全般
 • Datadog APM
 ◦ API サーバ
 主に問題検知
 主に原因調査

  8.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 8
 Datadog APM よく見る箇所


    • Latecy
 ◦ パス毎も確認可能
 • Time Spent
 ◦ 原因の切り分け
 • Endpoint
 ◦ 時間を食うパスが分かる

  9.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 9
 Datadog APM よく見る箇所


    
 • Span Summary
 ◦ 特定のエンドポイントのサマリ
 ◦ ボトルネックになっている箇所

  10.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 10
 Datadog APM よく見る箇所


    
 • Live Search
 ◦ トレースの検索
 ◦ 横串で指標の確認も可能

  11.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 11
 Datadog APM よく見る箇所


    • Frame Graph
 ◦ さらに詳細に処理を確認するとき
 ◦ 不審なロジックの発見

  12.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 12
 Custom Instrumentation
 •

    一般的なフレームワークは ddtrace をインストールするだけで OK
 • 実際にはアプリケーションコードもトレースしたい
 ◦ ビジネスロジック部分
 ◦ 外部との I/F 
 • 明示的にコードで指定
 参考: https://docs.datadoghq.com/ja/tracing/setup_overview/custom_instrumentation/php/?tab=tracingfunctioncalls#trace-a-custom-function-or-method 

  13.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 13
 ddtrace を使うときの注意点
 •

    1トレースに含めることができる Span 数の上限
 ◦ DD_TRACE_SPANS_LIMIT
 ▪ デフォルト: 1000
 ◦ ドキュメントに見当たらなかったが下記 PR で言及あり
 ▪ https://github.com/DataDog/dd-trace-php/pull/745 
 • 内部関数をトレースする場合は環境変数の設定が必要
 参考: https://docs.datadoghq.com/ja/tracing/setup_overview/custom_instrumentation/php/?tab=tracingfunctioncalls#tracing-internal-functions-and-methods 

  14.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 14
 Datadog 所感
 •

    GUI が使いやすい
 ◦ グラフの平滑化やトレンド表示をさくっとやってくれる便利機能もある
 • APM 以外にも気になる機能がある
 ◦ Notebook, SLO/Error Budget
 • PHP に前向きな雰囲気
 ◦ PHP8 + JIT 対応(*)
 • 料金を抑える工夫も可能
 ◦ Retention Filter, tracer を有効にする Pod の限定など
 • dd-trace-php 破壊的変更に注意
 (*) https://www.datadoghq.com/ja/blog/engineering/php-8-observability-baked-right-in/
  15.           COLOPL, Inc. All Rights Reserved|CONFIDENTIAL 15
 まとめ
 • コロプラでは主に原因調査する目的で

    Datadog APM を活用している
 • Datadog APM を使うことで運用中のパフォーマンス問題の原因調査を効 率的に行えている
 • Custom Instrumentation で調査に有用な情報を簡単に追加可能