「Japan Datadog User Group Meetup#5」に参加してきました

Datadog APM による性能改善から始める技術的負債解消

Datadogで性能改善

  • レガシーソフトウェアの改善
    • 計測してから改善すること
    • 指標が必要
      • Datadogで
  • レイテンシを計測して改善する
  • 改善対象
    • POSTされるエンドポイント
  • Dashboard整備
    • グラフをいい感じに
    • APMと連携
      • アプリの時間計測して送信
    • 不要なクエリを見つけて削減
    • クエリ回数が無駄に多いの削減

DMMの動画SREにおけるDatadogの活用について

  • Kosuke Suganoさん

動画サービスでのDatadog活用

  • 社内でGoogleCloudやk8sを使うのが初めてだった
    • 初挑戦の技術が多くメトリクスを1つずつ集めてナレッジをためていった
  • Google Cloud Integration
    • メトリクス取得のタイムラブ
    • Cloud Monitoring自体が1分ペース
    • Redis周りで使いづらいところが
      • CPUを使用率で見れなかった
  • FEチームへの布教
    • CoreWebVitalsの通知をリリース後に必ず確認するように
  • Notebookの活用
    • テンプレートを活用して誰でもレポートを書けるように
    • メトリクスのグラフを画像で残せる

Trace Queriesの活用でfreee会計のDB負荷削減のきっかけとした話

  • 大木竜勝さん

DB負荷改善

  • 長年運用していて意図せずn+1問題が起きていた
    • どのAPIで頻発しているかわからなかった
    • DB負荷につながっていた
    • 他のクラスタからn+1で飛んでくると大きすぎてTraceを見る画面を開くことすらできない
  • DatadogのTrace Queries
    • 2024/2頃にリリース
    • span間の依存を含めて検索できる機能
      • A,Bという親子関係のspanでAとB両方でエラーといった検索ができるようになった
      • Bに10sかかってるAのSpanといった集計もできるようになった

Kubernetes で Datadog を飼うならオートディスカバリー機能を使わないと損

オートディスカバリー

  • 自動でサーバを監視する機能
    • 自分で登録しなくても条件に当てはまるものを見てくれる
  • yamlにannotationを書くことで設定できる

DatadogでPHP/Laravelアプリケーションを監視する

Laravelの監視

  • DatadogでLaravelを監視
    • Datadog Agent入れる
    • PHP拡張を入れる
    • 環境変数を追加
    • Datadog APMを入れる

SLO導入とDatadog SLO Dashboard

SLOの導入

  • ユーザに与える影響が見えない状況
    • 品質改善が進まない
    • アラートが形骸化
  • SLOを策定
    • ダッシュボードにも反映
    • SLOを関係者が来にするようになった
  • エラーバジェットが消費されるとエンジニアがすぐに反応するようになった

AWS Summit JapanのDatadogブースに立ち寄って得られたAPM活用

  • anecho108さん

APMの活用

  • Datadog APMの活用
    • n+1を簡単に見つけられる
      • クエリが用意されてる
    • ドメイン単位でのgroup byができる
      • マルチテナントだと便利
    • Dashboardへエクスポートできる
    • URL単位でのgroup by
    • resource_nameでのgroup by
  • ユーザに影響のある部分を見つけてそこに対してSLOを設定するといい