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
micrometerでDatadogにカスタムメトリクスを送信する
Search
Kurochan
August 27, 2019
Technology
0
5.7k
micrometerでDatadogにカスタムメトリクスを送信する
夏のDatadogまつりで発表した資料です
https://datadog.connpass.com/event/141951/
Kurochan
August 27, 2019
Tweet
Share
More Decks by Kurochan
See All by Kurochan
15年入社者に聞く! これまでのCAのキャリアとこれから
kurochan
1
220
入門 電気通信事業者
kurochan
13
5.6k
AWS x さくらのクラウドのハイブリッドクラウドによる安価なフレッツ閉域網接続の実装
kurochan
9
5.6k
GoでTCP Proxyを実装してみよう
kurochan
1
1.1k
サイバーエージェントの広告配信におけるIPoEトラフィックの概況
kurochan
0
490
スケールするというのはどういうことなのか
kurochan
14
4.9k
サイバーエージェントのGitHub Copilot導入と 開発生産性
kurochan
52
46k
Cloudflare Zero Trustを利用したセキュアな開発環境へのアクセス手法の確立
kurochan
10
3.5k
セキュキャンを卒業してその後
kurochan
0
1.4k
Other Decks in Technology
See All in Technology
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
2
230
rubygem開発で鍛える設計力
joker1007
1
140
Create a Rails8 responsive app with Gemini and RubyLLM
palladius
0
140
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
300
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
120
Definition of Done
kawaguti
PRO
6
470
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
4
550
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
300
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
910
IIWレポートからみるID業界で話題のMCP
fujie
0
740
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
220
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.1k
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Done Done
chrislema
184
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Navigating Team Friction
lara
187
15k
Building an army of robots
kneath
306
45k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Transcript
micrometerでカスタムメトリクスを送信する Yuta Kurosaki ( @kuro_m ) AdTech Studio / CyberAgent,
Inc.
Yuta Kurosaki • Backend engineer at CyberAgent, Inc. • Scala
/ AWS +years • AdTech • developing DSP (Demand Side Platform) • over K reqs / sec (bid request) • AWSのAZ(アベイラビリティーゾーン)とは? AZ障害が起きたときどうすればよいのか • 昨⽇公開しました • https://developers.cyberagent.co.jp/blog/archives/ / @kuro_m @kurochan
Datadogに関する今までの発表 • 約2年ぶりに発表します https://speakerdeck.com/kurochan
Contents • カスタムメトリクスの活⽤⽅法 • 今までのカスタムメトリクスの送信⽅法 • micrometerによるカスタムメトリクスの送信
カスタムメトリクスの活⽤⽅法
運⽤しているシステム概況 • ⼊札リクエスト量: 数⼗万リクエスト / 秒 • ⼊札トラフィック: 約8Gbps •
レスポンスタイム: 100ms以内 • ログの量: 数TB / Day(圧縮状態) ຊͷೖࡳϦΫΤετඵ ຊΞϝϦΧͷϨεϙϯελΠϜ NTFD
最近⾒ていて楽しい画⾯ • オートスケーリング系のメトリクス
いろんなサービスを組み合わせています • ALL AWS 主要コンポーネント
広告はスピードが命 • 配信状況をすぐにでも確認したい • 数百社の広告主 • 多数のシステム連携 • おもにSSPや計測ツール
広告の配信状況をカスタムメトリクスに • 配信状況の可視化の例: 広告主ごとの配信量を可視化する
広告の配信状況をカスタムメトリクスに • 配信状況の可視化の例: SSP(メディアサイド)の接続先ごとに配信量を可視化 • 実際には数⼗社ある
広告の配信状況をカスタムメトリクスに • 配信状況の可視化の例: 広告の⼊札回りのメトリクスを可視化 • 広告⼊札候補の状況等 • ⼊札の機械学習モデルの挙動の異変に対してもすぐアラートが上げられる
今までのカスタムメトリクスの 送信⽅法
fluent-plugin-dogstatsd • 配信ログからメトリクスを⽣成 (CSV, LTSV, JSONなど) • 連携先ごと • 広告主ごと
• アプリケーションログのエラーカウント • Datadogに流し込んで簡易的な即時集計 ができるように • アラートも設定可能 https://github.com/ryotarai/fluent-plugin-dogstatsd
dogstatsdを使うことの⽋点 • アプリケーションとセットでfluentdやdatadog agentが必要になる • app(file) => fluentd => datadog-agent
=> datadog • ECSなどの場合はdatadog-agent等がサイドカーコンテナとして必要になる • AWS Lambdaの場合はカスタムメトリクスが送信できない…
アプリケーションからDatadog APIを直接叩く • インフラ的にはシンプルになるが、メトリクスの計測が発⽣する度に通信が 発⽣したり、APIのレイテンシの分アプリケーション内の処理時間が遅延し たりしないように考慮しなければならない • アプリケーション内でメトリクスのバッファリングをよしなにやってくれ て、直接Datadog APIを叩けるライブラリがほしい…
micrometerによる カスタムメトリクスの送信
micrometer • Pivotalが公開しているアプリケーションメトリクスの収集ライブラリ • Spring Boot向けに作られたがSpring Bootに関係なく汎⽤的に使える https://micrometer.io/
特徴 • 統⼀されたインターフェイスの上で各種サービスへメトリクスを転送できる • Datadog, Dynatrace, Elasic, NewRelic, Prometheus, Ganglia,
Influx ... etc • メトリクスのバッファリング機能もあるので安⼼ https://micrometer.io/
micrometer-registry-datadog • Scalaで少しラップしました
micrometer-registry-datadog • Scalaで少しラップしました • まだcounterしか実装していませんが、各種メトリクスがタグ付きでアプリ ケーション内から簡単に送信できます。
困っていること • registryをstop直前にバッファリングされているメトリクスがタイミングに よってはflushされず、アプリケーションのシャットダウン時にメトリクスが ⽋損する可能性がある • チームメンバによりIssue報告済み https://github.com/micrometer-metrics/micrometer/issues/
怪談 • 会場でのみ公開1
怪談 • 会場でのみ公開2
怪談 • 会場でのみ公開3
怪談 • 会場でのみ公開4
怪談 • Datadogのカスタムメトリクスの使⽤量をカスタムメトリクスで投げる • チームメンバが作成しOSS化しました • AWS Serverless Application Repositoryにも公開されています。
ボタンクリックで今すぐデプロイ!! https://github.com/phucnh/check-datadog-custom-metrics-usage