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

Datadogマニアック機能活用術

Shota Iwami
August 26, 2024

 Datadogマニアック機能活用術

実践事例から学ぶ!あなたの知らないDatadogの世界 登壇資料
https://findy.connpass.com/event/326864/

Shota Iwami

August 26, 2024
Tweet

More Decks by Shota Iwami

Other Decks in Technology

Transcript

  1. 自己 紹介 岩 見 彰太 / Iwamin 株式会社サイバーエージェント ೥౓৽ଔೖࣾ "*ࣄۀຊ෦ڠۀϦςʔϧϝσΟΞ%JW

    アプリ運 用 カンパニー @BIwashi @B_Sardine ࣗಈੜ੒Λ׆༻ͨ͠ɺӡ༻อकίετΛ཈͑Δ&SSPS"MFSU 3VOCPPLͷҰݩू໿؅ཧ ΦϒβʔόϏϦςΟݚम࣮ફฤ
  2. Datadog は機能が無限にある • 日 々増えていく New! の 文 字… •

    DASH で発表される数々の機能 • (中の 人 でさえ全て把握できてないくらい…) どんな機能があるのか 我々は何をしたいのか Datadog の各種機能情報の Index を貼って 解決したい課題を明確化する Datadog を “使って” 課題を解決する
  3. 我々は何をしたいのか Datadog の各種機能情報の Index を貼って 解決したい課題を明確化する Datadog を “使って” 課題を解決する

    どんな機能があるのか Datadog は機能が無限にある • 日 々増えていく New! の 文 字… • DASH で発表される数々の機能 • (中の 人 でさえ全て把握できてないくらい…) Datadog に使われるのではなく 使いこなそう!
  4. Learning Center • 2週間有効な Datadog アカウント付与される (期限を過ぎても再アクセスでまた使える) • instruqt というラーニングツールを使って

    勝 手 に VM を 立 ててくれる そこに Agent 入 れたりログ吐かせたりできる • 自 前で試すと結構 大 変な機能もお試し可能 NPM、RUM、ファネル分析、Pro fi ler etc …
  5. Learning Center • 2週間有効な Datadog アカウント付与される (期限を過ぎても再アクセスでまた使える) • instruqt というラーニングツールを使って

    勝 手 に VM を 立 ててくれる そこに Agent 入 れたりログ吐かせたりできる • 自 前で試すと結構 大 変な機能もお試し可能 NPM、RUM、ファネル分析、Pro fi ler etc …
  6. Learning Center • 2週間有効な Datadog アカウント付与される (期限を過ぎても再アクセスでまた使える) • instruqt というラーニングツールを使って

    勝 手 に VM を 立 ててくれる そこに Agent 入 れたりログ吐かせたりできる • 自 前で試すと結構 大 変な機能もお試し可能 NPM、RUM、ファネル分析、Pro fi ler etc … 話題の OTel と Datadog のハンズオンとかも!
  7. • 小 売企業と協業でアプリを開発している • 一 社だけで全ての機能をカバーできるようにできていない、全ての機能を実 装するのに複数のサービス(他社)をまたがる 会社を跨いだマイクロサービスみたいになってしまっている • dev

    / stg / prod の3環境あるが、Datadog のアカウントは 一 つで運 用 環境によってデータのアクセス制限をかけたい • 簡易的な分析などもできれば Datadog 内でやりたい エンジニアだけではなく PM なども簡易的に操作できるようにしたい 背景
  8. • モニター名で毎度 Downtime を設定して いた • 一 つの Service に関連する

    Monitor が複 数あって全部指定するのがめんどくさ い… Downtime
  9. • モニター名で毎度 Downtime を設定して いた • 一 つの Service に関連する

    Monitor が複 数あって全部指定するのがめんどくさ い… Downtime By Monitor Tags を使おう!
  10. Tag Base Downtime • モニターは全て Terraform で管理 • tags にサービス名を指定

    resource "datadog_synthetics_test" "test_alert" { count = var.test_alert.create ? 1 : 0 name = "test synthetics" type = "api" subtype = "http" status = var.test_alert.status locations = var.test_alert.locations tags = [ "env:${var.env}", "service:${var.test_alert.service}", "managed_by:terraform", "check_type:api", "depends_on:service_a" ] ... } 指定も簡単で 設定の抜け漏れも防 止
  11. • dev / stg / prod の3環境の AWS が存在 •

    一 つの Datadog アカウントに連携している • 色 々なレベルの 人 が Datadog を使 用 する 内定者バイト 業務委託 PM 社外 • 秘匿性が 非 常に 高 いデータは 入 ってこないが、ロールを適切に制御したい 複数環境と多様な使 用 者
  12. • 社内では「PERMAN」という内製認証認可基盤がある • PERMEN で設定した Role に応じて Datadog の Role

    にマッピングする • SAML 経由でログインすると勝 手 に Role が振り分けられる SAML Group Mappings 認証/認可基盤PERMANの紹介 | CyberAgent Developers Blog
  13. • Log の設定に Data Access という項 目 がある • そのロールのみアクセス可能にしたい

    Tag と Role を指定 Data Access env:(dev OR stg) の tag がついてるログは Viewer Editor のロールを持っていないと クエリできない
  14. • Log の設定に Data Access という項 目 がある • そのロールのみアクセス可能にしたい

    Tag と Role を指定 Data Access env:(prod OR prd) の tag がついてるログは Prod Viewer Prod Editor のロールを持っていないと クエリできない
  15. • 小 売アプリなので、アクセスログやアプリケーションログにクーポンIDのよ うなものを attributes として埋め込む • 正式な分析などはDWHなどに 入 れて

    行 うが、リアルタイムで簡易的な分析や エラー調査などは Datadog 上で 行 いたい • ログに 入 っている coupon_id= 4 d 94 8 c 5 d- 2 … みたいなものが実際になんと いう名前のクーポンなの分からない DBや管理画 面 を参照しにいく必要がある メタ情報の付与 Notebook ×Reference Tables を使おう!
  16. • Datadog 版の Jupyter Notebook のようなもの • Dashboards などのようなグラフ表 示

    とテキスト などを組み合わせて書くことができる • 「DS じゃなくてもちょっと 見 てみたい…」みたい な PM なども気軽に試せる • 複数 人 同時編集もできるので、障害時の調査など にも使える Notebook ϊʔτϒοΫc%BUBEPH
  17. • すでにある情報に対してメタデータを付与できる • id などに対応する付加したい情報などを csv 等でアップロードする • Lookup Processor

    でアップロードしたテーブルを選択する Reference Tables ϦϑΝϨϯεςʔϒϧͰΧελϜϝλσʔλΛ௥Ճ͢Δc%BUBEPH
  18. • csv をアップロードして PK(参照する key attribute)を選択 • 手 動アップロードはもちろんだが、S 3

    /GCS/Azure Storage にも対応 パイプラインに組み込んで定期的な更新が可能 Reference Tables リファレンステーブルでカスタムメタデータを追加する | Datadog
  19. • Mobile Application Test 一 年近く使って試しているが、予期せぬ落ち 方 をすることもまだ多いのでこれからに期待 (おそらく)仮想端末を動かしているところの IP

    レンジも教えてもらえたので、IP制限のあ る API に対しての実際にアクセスしながらのテストもできている その他にも 色 々 Easily Test and Monitor Your Mobile Applications With Datadog Mobile Application Testing | Datadog
  20. • Error Tracking ログに error.message / error.stack / error.kind の

    attributes を追加するとエラーの種類を分離して くれる エラーログに関するエラーは全て Error Tracking ベースのものに統 一 している その他にも 色 々 ࣗಈੜ੒Λ׆༻ͨ͠ɺӡ༻อकίετΛ཈͑Δ&SSPS"MFSU3VOCPPLͷҰݩू໿؅ཧ
  21. まとめ • 紹介した機能 Tag Base Downtime SAML Group Mappings Data

    Access Notebook Reference Tables Mobile Application Test Error Tracking • DASH や Private Beta Program、New! の表 示 などをみて Index を張る • 解決したい課題を明確化して Datadog を使いこなす! +PJOUIF%BUBEPH1SJWBUF#FUB1SPHSBNc%BUBEPH