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
AWS Elemental MediaPackageと格闘🤼
kurochan
2
37
サイバーエージェントでのSlack活用事例 @ 2025
kurochan
5
47
15年入社者に聞く! これまでのCAのキャリアとこれから
kurochan
1
240
入門 電気通信事業者
kurochan
13
5.6k
AWS x さくらのクラウドのハイブリッドクラウドによる安価なフレッツ閉域網接続の実装
kurochan
9
5.7k
GoでTCP Proxyを実装してみよう
kurochan
1
1.2k
サイバーエージェントの広告配信におけるIPoEトラフィックの概況
kurochan
0
500
スケールするというのはどういうことなのか
kurochan
14
5k
サイバーエージェントのGitHub Copilot導入と 開発生産性
kurochan
52
46k
Other Decks in Technology
See All in Technology
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
3
830
LLMエージェント時代に適応した開発フロー
hiragram
1
400
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
120
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
160
浸透しなさいRFC 5322&7208
hinono
0
110
アジャイルテストで高品質のスプリントレビューを
takesection
0
110
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
270
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
310
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
170
自治体職員がガバクラの AWS 閉域ネットワークを理解するのにやって良かった個人検証環境
takeda_h
2
380
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
410
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.6k
Featured
See All Featured
Side Projects
sachag
455
43k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Code Reviewing Like a Champion
maltzj
525
40k
Docker and Python
trallard
45
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
YesSQL, Process and Tooling at Scale
rocio
173
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Documentation Writing (for coders)
carmenintech
73
5k
Faster Mobile Websites
deanohume
309
31k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
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ͷϝτϦΫεͷөִ͕͍ؒͱ خ͍͠ͳ͊… • ϩάͷϚωδϝϯτͰ͖Δͱ͍͍ͳ͊…