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

Datadog による 自己完結的アプリケーションモニタリング

Recruit
March 13, 2024

Datadog による 自己完結的アプリケーションモニタリング

2024/03/13に、Japan Datadog User Group Meetup#3で発表した、小檜山の資料です。

Recruit

March 13, 2024
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. #JDDUG Datadog による自己完結的アプリケーションモニタリング Agenda | 00 01 03 04 About

    me & us 自己完結的アプリケーションモニタリング Datadog 活用事例 まとめ
  2. #JDDUG Datadog による自己完結的アプリケーションモニタリング About mopp • ミッション ◦ 技術的負債の解消 •

    エディタ ◦ NeoVim • 好きな言語 ◦ C, Erlang/OTP • 最近ハマっていること ◦ 玉ねぎを飴色にすること
  3. #JDDUG Datadog による自己完結的アプリケーションモニタリング 自己完結的アプリケーションモニタリングのために • 監視も一緒に作るための Code - Test -

    Monitor ステップ ◦ Code ▪ プロダクションコードとテストコードを書く ◦ Test ▪ 実際にアプリケーションを起動して動作確認する ◦ Monitor 🆕 ▪ 監視項目を追加する
  4. #JDDUG Datadog による自己完結的アプリケーションモニタリング 弊組織での Datadog 普及の道のり • Dashboard から利用が始まる •

    SLO という概念の導入が推進される ◦ 各サービスに Monitor と SLO が設定される • APM が導入&推進される • 有識者が Notebook を使いこなし便利過ぎるとじわじわ話題に ※mopp 視点なので事実と異なる可能性があります
  5. #JDDUG Datadog による自己完結的アプリケーションモニタリング Dashboard を使い込む • Datadog の基本は Dashboard だと考えています

    ◦ 日頃一番見るから ◦ 他の機能と連携するとより便利になるから ▪ SLO, Monitor, APM, Events など ◦ 何かあったときに見に行くから
  6. #JDDUG Datadog による自己完結的アプリケーションモニタリング 使い込むために毎日見る • Daily Meeting で見てます ◦ 10分かからないくらい

    • 異変を早めに検知するため ◦ 日頃の負荷の肌感をつけるため • Dashboard の土地勘をつけるため
  7. #JDDUG Datadog による自己完結的アプリケーションモニタリング 使い込むために毎日見る • Kubernetes、SaaS、ドメイン固有の ものまで一つの Dashboard で見る ◦

    ここを見ればこのサービスの 状態全てがわかる、が理想 • サービス1個につき1個の Dashboard ◦ 今は3つのサービスを見ている ◦ 4個以上だと大変なので 総合 Dashboard が欲しいかも
  8. #JDDUG Datadog による自己完結的アプリケーションモニタリング Dashboard Tips: Percentile は基本 • p99, p90,

    p50, avg あたりは基本なので見ましょう ◦ avg だけだとかなり当てにならない
  9. #JDDUG Datadog による自己完結的アプリケーションモニタリング Dashboard Tips: 使用料金も見る • 最近、SRE によりAWS利用料金がサービス単位で可視化されました ◦

    「うちらのサービス、思ったより高くね…?」となり改善に繋がる Text Widget で 説明が書いてあるのも易しくてよき 実は Powerpack 化されているので コピペですぐに使えて保守も簡単
  10. #JDDUG Datadog による自己完結的アプリケーションモニタリング Dashboard Tips: 時間がないので箇条書き • Events のリストを表示する ◦

    Kubernetes の Readiness Probe 失敗や OOM を見ている • Metrics Summary で何が表示できるか?を流し見する ◦ これ見たほうがいいかも、って案外なる ◦ Document のチェックも忘れずに • Pod数が多い CPU, Memory の使用量はヒートマップが便利
  11. #JDDUG Datadog による自己完結的アプリケーションモニタリング custom metrics でバグ調査 • バグの調査に利用 if is_piyo_mismatch

    # おかしいときの条件 tags = { user_id:, piyo_id:, platform:, browser:, version: } statsd.increment('hoge_namespace.piyo_mismatch.count', tags:) end • どのような状態か、頻度、発生時刻、などが Dashboard だと見やすい • たまにしか起きないバグ どのようなデータ分布なのかを調べたいとき、に便利 • NOTE: tags の組み合わせ数で課金されるので user_id を安直に入れるのは注意 ◦ 組織のメトリクス数が無限に増加し、請求に問題が発生します。
  12. #JDDUG Datadog による自己完結的アプリケーションモニタリング monitor から Slack への通知 • サービスごとに専用の通知チャンネルを作成 ◦

    チームだとサービス移譲のときに大変だし、混じって見づらい • 本番とそれ以外で分離 ◦ #hoge-service-prod-notifications ◦ #hoge-service-develop-notifications ◦ 初手のトリアージに便利 • チームにメンションをする ◦ IDを取るのが高難易度業務