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
37k
Dynalyst流Datadog活用法 (公開用)
CyberAgent x Datadog勉強会で発表した資料です。(公開用に一部編集しています)
Kurochan
July 10, 2017
Tweet
Share
More Decks by Kurochan
See All by Kurochan
入門 電気通信事業者
kurochan
12
5.3k
AWS x さくらのクラウドのハイブリッドクラウドによる安価なフレッツ閉域網接続の実装
kurochan
9
5.2k
GoでTCP Proxyを実装してみよう
kurochan
1
890
サイバーエージェントの広告配信におけるIPoEトラフィックの概況
kurochan
0
410
スケールするというのはどういうことなのか
kurochan
14
4.6k
サイバーエージェントのGitHub Copilot導入と 開発生産性
kurochan
46
42k
Cloudflare Zero Trustを利用したセキュアな開発環境へのアクセス手法の確立
kurochan
10
3.1k
セキュキャンを卒業してその後
kurochan
0
1.3k
サイバーエージェントの実践×実験Snowflake 導入の経緯から最新機能のトライアルまで / How Snowflake Is Used In CyberAgent - Go To the Future
kurochan
1
1.1k
Other Decks in Technology
See All in Technology
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
200
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
170
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
130
.NET 9 のパフォーマンス改善
nenonaninu
0
1.3k
最近のSfM手法まとめ
kwchrk
2
200
20241218_今年はSLI/SLOの導入を頑張ってました!
zepprix
0
100
なぜCodeceptJSを選んだか
goataka
0
180
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
190
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
0
170
JVM(JavaVM)の性能分析者観点で探るInstanaの可能性
instanautsjp
0
120
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
320
podman_update_2024-12
orimanabu
1
290
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
How GitHub (no longer) Works
holman
311
140k
Making Projects Easy
brettharned
116
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Statistics for Hackers
jakevdp
796
220k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
A Tale of Four Properties
chriscoyier
157
23k
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ͷϝτϦΫεͷөִ͕͍ؒͱ خ͍͠ͳ͊… • ϩάͷϚωδϝϯτͰ͖Δͱ͍͍ͳ͊…