Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Datadogマニアック機能活用術
Search
Shota Iwami
August 26, 2024
Technology
7
3.1k
Datadogマニアック機能活用術
実践事例から学ぶ!あなたの知らないDatadogの世界 登壇資料
https://findy.connpass.com/event/326864/
Shota Iwami
August 26, 2024
Tweet
Share
More Decks by Shota Iwami
See All by Shota Iwami
Monorepo Error Management: Automated Runbooks and Team-Targeted Alert Distribution
biwashi
1
220
スタートアップ創業期を支えるオブザーバビリティ基盤のこれまでとこれから
biwashi
7
1.2k
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
7
1.3k
k6を活用した再現性・拡張性の高い負荷試験基盤の構築
biwashi
11
4k
feature flag と OpenTelemetry
biwashi
7
2.2k
OpenFeatureと自動生成を活用したフィーチャーフラグの宣言的集約管理
biwashi
20
6.3k
Unified Diff 形式の差分から Go AST を構築して feature flag を自動計装する
biwashi
11
1.4k
オブザーバビリティ研修実践編
biwashi
36
16k
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
17
4.5k
Other Decks in Technology
See All in Technology
OpenHands🤲にContributeしてみた
kotauchisunsun
0
210
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.4k
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
2
1k
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
340
エンジニア向け技術スタック情報
kauche
0
110
原則から考える保守しやすいComposable関数設計
moriatsushi
3
500
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
100
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
130
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
230
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
820
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
360
生成AIでwebアプリケーションを作ってみた
tajimon
2
130
Featured
See All Featured
Music & Morning Musume
bryan
46
6.6k
A designer walks into a library…
pauljervisheath
206
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Speed Design
sergeychernyshev
31
1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Adopting Sorbet at Scale
ufuk
77
9.4k
Optimizing for Happiness
mojombo
379
70k
Code Review Best Practice
trishagee
68
18k
Transcript
Datadogマニアック機能活 用 術 株式会社サイバーエージェント 岩 見 彰太 GitHub:@BIwashi X: @B_Sardine
実践事例から学ぶ!あなたの知らない Dataedog の世界
自己 紹介 岩 見 彰太 / Iwamin 株式会社サイバーエージェント ৽ଔೖࣾ "*ࣄۀຊ෦ڠۀϦςʔϧϝσΟΞ%JW
アプリ運 用 カンパニー @BIwashi @B_Sardine ࣗಈੜΛ׆༻ͨ͠ɺӡ༻อकίετΛ͑Δ&SSPS"MFSU 3VOCPPLͷҰݩूཧ ΦϒβʔόϏϦςΟݚम࣮ફฤ
Datadog 使ってる 人 🙋
Datadog 使いこなしてる 人 🙋
Datadog は機能が無限にある • 日 々増えていく New! の 文 字… •
DASH で発表される数々の機能 • (中の 人 でさえ全て把握できてないくらい…) どんな機能があるのか 我々は何をしたいのか Datadog の各種機能情報の Index を貼って 解決したい課題を明確化する Datadog を “使って” 課題を解決する
我々は何をしたいのか Datadog の各種機能情報の Index を貼って 解決したい課題を明確化する Datadog を “使って” 課題を解決する
どんな機能があるのか Datadog は機能が無限にある • 日 々増えていく New! の 文 字… • DASH で発表される数々の機能 • (中の 人 でさえ全て把握できてないくらい…) Datadog に使われるのではなく 使いこなそう!
はじめに
はじめに マニアック機能活 用 術というタイトルだが… そもそも Datadog にどんな機能があるか 網羅的に知りたいなぁ…
Learning Center • 2週間有効な Datadog アカウント付与される (期限を過ぎても再アクセスでまた使える) • instruqt というラーニングツールを使って
勝 手 に VM を 立 ててくれる そこに Agent 入 れたりログ吐かせたりできる • 自 前で試すと結構 大 変な機能もお試し可能 NPM、RUM、ファネル分析、Pro fi ler etc …
Learning Center • 2週間有効な Datadog アカウント付与される (期限を過ぎても再アクセスでまた使える) • instruqt というラーニングツールを使って
勝 手 に VM を 立 ててくれる そこに Agent 入 れたりログ吐かせたりできる • 自 前で試すと結構 大 変な機能もお試し可能 NPM、RUM、ファネル分析、Pro fi ler etc …
Learning Center • 2週間有効な Datadog アカウント付与される (期限を過ぎても再アクセスでまた使える) • instruqt というラーニングツールを使って
勝 手 に VM を 立 ててくれる そこに Agent 入 れたりログ吐かせたりできる • 自 前で試すと結構 大 変な機能もお試し可能 NPM、RUM、ファネル分析、Pro fi ler etc … 話題の OTel と Datadog のハンズオンとかも!
Learning Center いっぱいありすぎてどれから受ければ いいかわからない… Datadog の認定資格 【Datadog Fundamentals】 の勉強で推奨されているコースを 受けてみよう!
Learning Center 最近 Datadog Fundamentals の試験は 日 本語化したので受験も…!
マニアック機能活 用 術
• “マニアック” は独断と偏 見 なため「そんなのみんな当たり前に使ってる」と かもある可能性が 高 いです • お
手 柔らかにお願いします… おことわり
• 小 売企業と協業でアプリを開発している • 一 社だけで全ての機能をカバーできるようにできていない、全ての機能を実 装するのに複数のサービス(他社)をまたがる 会社を跨いだマイクロサービスみたいになってしまっている • dev
/ stg / prod の3環境あるが、Datadog のアカウントは 一 つで運 用 環境によってデータのアクセス制限をかけたい • 簡易的な分析などもできれば Datadog 内でやりたい エンジニアだけではなく PM なども簡易的に操作できるようにしたい 背景
Tag Base Downtime
• 複数社のサービスを組み合わせる必要がある Synthetics Monitoring で死活監視をしている インターナルなネットワーク限定の通信しかできないため Private Location を使 用
複数社マイクロサービス問題
• メンテナンスでそこそこの頻度でサービスが落ちる(事前通告あり) • そのタイミングで Synthetics Monitoring のダウンタイムを設定する必要 忘れたり漏れていると深夜などにオンコール通知が… 複数社マイクロサービス問題 毎回ここを設定しないといけない
• モニター名で毎度 Downtime を設定して いた • 一 つの Service に関連する
Monitor が複 数あって全部指定するのがめんどくさ い… Downtime
• モニター名で毎度 Downtime を設定して いた • 一 つの Service に関連する
Monitor が複 数あって全部指定するのがめんどくさ い… Downtime By Monitor Tags を使おう!
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" ] ... } 指定も簡単で 設定の抜け漏れも防 止
SAML Group Mappings Log RBAC
• dev / stg / prod の3環境の AWS が存在 •
一 つの Datadog アカウントに連携している • 色 々なレベルの 人 が Datadog を使 用 する 内定者バイト 業務委託 PM 社外 • 秘匿性が 非 常に 高 いデータは 入 ってこないが、ロールを適切に制御したい 複数環境と多様な使 用 者
• 社内では「PERMAN」という内製認証認可基盤がある • PERMEN で設定した Role に応じて Datadog の Role
にマッピングする • SAML 経由でログインすると勝 手 に Role が振り分けられる SAML Group Mappings 認証/認可基盤PERMANの紹介 | CyberAgent Developers Blog
• カスタムロールを作ると各機能の操作単位 で細かく制御が可能 • しかし「prodのデータは閲覧させたくな い」といった制御ができない • datadog のアカウントを分けるしか…? カスタムロール
Log の Data Access を使 用 して RBAC を設定しよう!
• Log の設定に Data Access という項 目 がある • そのロールのみアクセス可能にしたい
Tag と Role を指定 Data Access env:(dev OR stg) の tag がついてるログは Viewer Editor のロールを持っていないと クエリできない
• Log の設定に Data Access という項 目 がある • そのロールのみアクセス可能にしたい
Tag と Role を指定 Data Access env:(prod OR prd) の tag がついてるログは Prod Viewer Prod Editor のロールを持っていないと クエリできない
Data Access
Notebook Reference Table
• 小 売アプリなので、アクセスログやアプリケーションログにクーポンIDのよ うなものを attributes として埋め込む • 正式な分析などはDWHなどに 入 れて
行 うが、リアルタイムで簡易的な分析や エラー調査などは Datadog 上で 行 いたい • ログに 入 っている coupon_id= 4 d 94 8 c 5 d- 2 … みたいなものが実際になんと いう名前のクーポンなの分からない DBや管理画 面 を参照しにいく必要がある メタ情報の付与 Notebook ×Reference Tables を使おう!
• Datadog 版の Jupyter Notebook のようなもの • Dashboards などのようなグラフ表 示
とテキスト などを組み合わせて書くことができる • 「DS じゃなくてもちょっと 見 てみたい…」みたい な PM なども気軽に試せる • 複数 人 同時編集もできるので、障害時の調査など にも使える Notebook ϊʔτϒοΫc%BUBEPH
• ログに流れてくる id などのデータで名称などメタ情報を追加したくなってくる Reference Table を使 用 してマッピング情報を与える Notebook
• ログに流れてくる id などのデータで名称などメタ情報を追加したくなってくる Reference Table を使 用 してマッピング情報を与える Notebook
ここでクーポン名とか 見 れると嬉しそう…
• すでにある情報に対してメタデータを付与できる • id などに対応する付加したい情報などを csv 等でアップロードする • Lookup Processor
でアップロードしたテーブルを選択する Reference Tables ϦϑΝϨϯεςʔϒϧͰΧελϜϝλσʔλΛՃ͢Δc%BUBEPH
• csv をアップロードして PK(参照する key attribute)を選択 • 手 動アップロードはもちろんだが、S 3
/GCS/Azure Storage にも対応 パイプラインに組み込んで定期的な更新が可能 Reference Tables リファレンステーブルでカスタムメタデータを追加する | Datadog
Reference Tables id,name test-1,ςετ1
Reference Tables id,name test-1,ςετ1 Reference Tables を登録
id,name test-1,ςετ1 Reference Tables Log の Pipeline で Processor type
に Lookup Processor を選択
id,name test-1,ςετ1 Reference Tables 作成した Reference Tables を選択
id,name test-1,ςετ1 Reference Tables メタ情報を追加する際の key 名を設定 test_id という key
の 一 致を検証
id,name test-1,ςετ1 Reference Tables メタ情報を追加する際の key 名を設定 一 致した場合 mytest.name
という attribute が追加
• Mobile Application Test 一 年近く使って試しているが、予期せぬ落ち 方 をすることもまだ多いのでこれからに期待 (おそらく)仮想端末を動かしているところの IP
レンジも教えてもらえたので、IP制限のあ る API に対しての実際にアクセスしながらのテストもできている その他にも 色 々 Easily Test and Monitor Your Mobile Applications With Datadog Mobile Application Testing | Datadog
• Error Tracking ログに error.message / error.stack / error.kind の
attributes を追加するとエラーの種類を分離して くれる エラーログに関するエラーは全て Error Tracking ベースのものに統 一 している その他にも 色 々 ࣗಈੜΛ׆༻ͨ͠ɺӡ༻อकίετΛ͑Δ&SSPS"MFSU3VOCPPLͷҰݩूཧ
まとめ • 紹介した機能 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