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
Dynalyst流Datadog活用法 (公開用)
Search
Kurochan
July 10, 2017
Technology
1
38k
Dynalyst流Datadog活用法 (公開用)
CyberAgent x Datadog勉強会で発表した資料です。(公開用に一部編集しています)
Kurochan
July 10, 2017
Tweet
Share
More Decks by Kurochan
See All by Kurochan
15年入社者に聞く! これまでのCAのキャリアとこれから
kurochan
1
170
入門 電気通信事業者
kurochan
13
5.4k
AWS x さくらのクラウドのハイブリッドクラウドによる安価なフレッツ閉域網接続の実装
kurochan
9
5.3k
GoでTCP Proxyを実装してみよう
kurochan
1
970
サイバーエージェントの広告配信におけるIPoEトラフィックの概況
kurochan
0
440
スケールするというのはどういうことなのか
kurochan
14
4.7k
サイバーエージェントのGitHub Copilot導入と 開発生産性
kurochan
51
44k
Cloudflare Zero Trustを利用したセキュアな開発環境へのアクセス手法の確立
kurochan
10
3.3k
セキュキャンを卒業してその後
kurochan
0
1.4k
Other Decks in Technology
See All in Technology
「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly
i35_267
2
610
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
9
2.6k
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
2
390
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
110
Windows の新しい管理者保護モード
murachiakira
0
190
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
680
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
510
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1.2k
深層学習と古典的画像アルゴリズムを組み合わせた類似画像検索内製化
shutotakahashi
1
290
表現を育てる
kiyou77
1
230
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
140
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Making Projects Easy
brettharned
116
6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
What's in a price? How to price your products and services
michaelherold
244
12k
Navigating Team Friction
lara
183
15k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Facilitating Awesome Meetings
lara
52
6.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
Dynalyst流 Datadog活用法 株式会社サイバーエージェント アドテクスタジオ Dynalyst 黒崎 優太 @kuro_m88
誰 • ࠇ࡚ ༏ଠ (@kuro_m88) • ৽ଔ3 • Dynalyst ΤϯδχΞ
• ࣾྺ = Datadogྺ • झຯͰαʔόӡ༻(ཧ)͡Ί·ͨ͠
Dynalystについて
• Dynamic Retargeting for Games • Dynamic Personalized Ads
• AWS (ap-northeast-1, us-east-1) • EC2, ECS, Lambda • DynamoDB,
Aurora, S3, ElastiCache, CloudFront • EMR, Redshift, DataPipeline, CloudWatch • xxxx K req/s (Tokyo), xxxx K req/s (US) • xxxx VMs • xxTB / day logs System
本日お話すること • ͪΐͬͱมΘ͍ͬͨํ • ࢹϧʔϧͷཧ • োରԠ • ͜Ε͔Β
ちょっと変わった使い方
Time is money • ࠂεϐʔυ໋͕ • ৴ঢ়گΛ͙͢ʹͰѲ͍ͨ͠ • ඦͷࠂओ •
ଟͷγεςϜ࿈ܞ
fluent-plugin-dogstatsd • https://github.com/ryotarai/fluent-plugin-dogstatsd • ৴ϩά͔ΒϝτϦΫεΛੜ(CSV, LTSV, JSONͳͲ) • ࿈ܞઌ͝ͱ •
ࠂओ͝ͱ • ΞϓϦέʔγϣϯϩάͷΤϥʔΧϯτ • DataDogʹྲྀ͠ࠐΜͰଈ࣌ूܭͯ͠Β͏
配信状況の可視化の例 • ࠂओ͝ͱͷ৴ϘϦϡʔϜͳͲ
⛏監視ルールの管理⛏
⛏監視ルールの管理⛏ • ࢹϧʔϧɺखͰཧͯ͠Δਓʁ • ͭΒ͘ͳ͍ʁ • ࣗಈੜͨ͘͠ͳ͍ʁ
⛏Terraform Datadog Provider⛏ • monitor, downtime, timeboard, user resource "datadog_monitor"
"dynamodb_user_error_count" { name = "DynamoDB UserError count is above the Threshold !!" type = "metric alert" message = <<EOF @slack-metric-alert DynamoDB UserError count is above the Threshold !! EOF query = "sum(last_5m):sum:aws.dynamodb.user_errors{*} > 10" thresholds { warning = 5.0 critical = 10.0 } notify_no_data = false no_data_timeframe = 2 renotify_interval = 0 timeout_h = 0 require_full_window = true notify_audit = false tags = [terraform, dynamodb] }
クエリを手で書くのは難しい… • Datadog→TerraformͷimportεΫϦϓτ࡞Γ·ͨ͠ • Datadogͷࢹઃఆ͔ΒTerraformͷresourceΛੜ͢Δ • http://kurochan-note.hatenablog.jp/entry/2017/07/09/161444 $ ruby ./monitor-import.rb
dynamodb_user_error_count 112233 resource "datadog_monitor" "dynamodb_user_error_count" { name = "DynamoDB UserError count is above the Threshold !!" type = "metric alert" message = <<EOF @slack-metric-alert DynamoDB UserError count is above the Threshold !! EOF query = "sum(last_5m):sum:aws.dynamodb.user_errors{*} > 10" thresholds { warning = 5.0 critical = 10.0 } notify_no_data = false no_data_timeframe = 2 renotify_interval = 0
障害対応
障害対応 • োରԠ࣌ʹ͓͍ͯɺDatadog͕Ͳ͏ʹཱͭͷ͔ • ࢹ͍ͯ͠ͳ͔ͬͨ/Dashboardʹ͍ͯ͠ͳ͔ͬͨΛ Ͳ͏ͬͯ୳͢ͷ͔
障害を把握する • Metrics Explorer • ׳ΕΔͱؾ͍͍࣋ͪ
状況を共有する • Notebook
メトリクスを貯めておくことで分かること • ஷΊ͓ͯ͘ࣄ͕େ • ঢ়ଶͷѲ • ͍͔ͭΒ͓͔͍͠ͷ͔ • ฏৗ࣌Ͳ͏ͩͬͨͷ͔ •
DatadogͷMetric retention15ϲ݄ʂ • σʔλͷૹ৴ִ͕ؒ͗͢ΔͱܹॏʹͳΔͷͰҙ
障害でなくとも • ࣄલࠂ͞Εͨ τϥϑΟοΫ૿Ճ • ҟৗݕͰՄࢹԽ
注視すべき箇所を共有する • read-onlyϢʔβ͕࡞Ͱ͖ΔͷͰඇΤϯδχΞ ʹؾܰʹڞ༗Ͱ͖Δ • Ϗδωε৬ͷਓʹΘ͔Γ͍͢ใ͕ఏڙͰ ͖Δ
これから
これから • αʔό/AWSͷϝτϦΫε͕औΕΔʂ • ৴ϝτϦΫε͕औΕΔʂ
これから • αʔό/AWSͷϝτϦΫε͕औΕΔʂ • ৴ϝτϦΫε͕औΕΔʂ
…何かが足らない
(おねがい( • APMͷJVMݴޠରԠ͍ͬͯ·͢ʂ • Cloud WatchͷϝτϦΫεͷөִ͕͍ؒͱ خ͍͠ͳ͊… • ϩάͷϚωδϝϯτͰ͖Δͱ͍͍ͳ͊…