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 APM をはじめよう
Search
Kento Kimura
PRO
May 29, 2024
Technology
1
1.5k
コンテナで Datadog APM をはじめよう
Japan Datadog User Group Meetup#4
https://datadog-jp.connpass.com/event/317091/
Kento Kimura
PRO
May 29, 2024
Tweet
Share
More Decks by Kento Kimura
See All by Kento Kimura
Jagu'e'r Advent Calendar でコミュニティを盛り上げよう / Join us the community with Jagu'e'r Advent Calendar
aoto
PRO
0
21
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
1.2k
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
1
220
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
660
予測から調査へ、AI エージェントで叶える AIOps の未来 / From Prediction to Investigation: The Future of AIOps with AI Agents
aoto
PRO
0
96
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
500
Datadog による AI エージェント オブザーバビリティの最前線 / The Frontlines of AI Agent Observability by Datadog
aoto
PRO
0
85
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
2
620
Cloud Run を解剖して コンテナ監視を考える / Breaking Down Cloud Run to Rethink Container Monitoring
aoto
PRO
0
210
Other Decks in Technology
See All in Technology
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
25
6.2k
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
2
220
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
480
Perlの生きのこり - YAPC::Fukuoka 2025
kfly8
0
170
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
8
4.6k
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
210
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
4
4.5k
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
380
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
460
JavaScript パーサーに using 対応をする過程で与えたエコシステムへの影響
baseballyama
1
110
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
20
8.8k
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
540
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Become a Pro
speakerdeck
PRO
29
5.6k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Code Review Best Practice
trishagee
72
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Code Reviewing Like a Champion
maltzj
527
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
For a Future-Friendly Web
brad_frost
180
10k
Rails Girls Zürich Keynote
gr2m
95
14k
Done Done
chrislema
186
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
コンテナで Datadog APM をはじめよう 29th May, JDDUG #4 Datadog G.K.
Sales Engineer Kento Kimura
Self-Introduction • 所属:Technical Solutions / Sales Engineer • 担当:パブリッククラウドのアーキテクト知識を活かした Datadog
のプリセールス技術支援 • 表彰:Google Cloud Partner Top Engineer 2023-24 2022-23 APN All AWS Certifications Engineer AWS Community Builder(Cloud Operations, since 2024) 木村 健人 (Kento Kimura) Datadog Japan GK Technical Solutions Sales Engineering History データセンター管理運用→パブリッククラウド技術支援 →プリセールス技術支援 Partner Top Engineer 2023 Partner Top Engineer 2024
Agenda 3 01 コンテナ × APM で知っておきたいこと 02 Architecture①: Docker,
containerd, Podman 03 Architecture②: Kubernetes 04 Architecture③: Kubernetes & Admission Controller 05 Architecture④: ECS on Fargate 06 Architecture⑤: Cloud Run / Container Apps 07 まとめ
4 コンテナ × APM で 知っておきたいこと
基本とはまりやすいところ Datadog APM on Container の基本 コンテナ環境でも Datadog Agent +
APM Tracer の実装がセットで必要 ホスト上では同一ホストで Datadog Agent, APM Tracer が稼働するが、コンテナ環境ではコンテナ の管理方法でどのように Datadog Agent, APM Tracer を実装するかが異なる 5 はまりどころ 構成に利用する環境変数は、Datadog Agent, APM Tracer のどちらが利用するかを意識する必要あり 問題 - どっちで設定する? • DD_API_KEY→Datadog 送信時に利用する認証キー • DD_SITE→送信する Datadog サイトの指定 • DD_ENV→統合サービスタグの設定 • DD_SERVICE→統合サービスタグの設定 • DD_VERSION →統合サービスタグの設定 • DD_APM_ENABLED • DD_APM_NON_LOCAL_TRAFFIC • DD_AGENT_HOST
基本とはまりやすいところ Datadog APM on Container の基本 コンテナ環境でも Datadog Agent +
APM Tracer の実装がセットで必要 ホスト上では同一ホストで Datadog Agent, APM Tracer が稼働するが、コンテナ環境ではコンテナ の管理方法でどのように Datadog Agent, APM Tracer を実装するかが異なる 6 はまりどころ 構成に利用する環境変数は、Datadog Agent, APM Tracer のどちらが利用するかを意識する必要あり 正解 • DD_API_KEY: Datadog Agent • DD_SITE: Datadog Agent • DD_ENV: Datadog Agent, APM Tracer • DD_SERVICE: APM Tracer • DD_VERSION: APM Tracer • DD_APM_ENABLED: Datadog Agent • DD_APM_NON_LOCAL_TRAFFIC: Datadog Agent • DD_AGENT_HOST: APM Tracer
7 Architecture 編
Architecture①: Docker, containerd, Podman アーキテクチャ概要 ホスト上で稼働する、コンテナランタイムを 利用した単純なコンテナ環境 • アプリケーションコンテナへの APM
Tracer の組み込み • Datadog Agent の実装 ◦ Datadog Agent コンテナを立てる ◦ Datadog Agent をホスト上で実行 アーキテクチャの特徴 Datadog Agent は独立したコンテナとしても、ホ スト上のプロセスとしても稼働できる。 APM Tracer はアプリケーションコンテナに組み込 む必要がある(Dockerfile etc) 8 HOST DATADOG AGENT CONTAINER APPLICATION CONTAINER TRACING LIBRARY (TRACER) HOST APPLICATION CONTAINER TRACING LIBRARY (TRACER) DATADOG AGENT (ON HOST)
9 Architecture②: Kubernetes NODE APPLICATION CONTAINER TRACING LIBRARY (TRACER) DATADOG
NODE AGENT KUBELET NODE APPLICATION CONTAINER TRACING LIBRARY (TRACER) DATADOG NODE AGENT KUBELET NODE APPLICATION CONTAINER TRACING LIBRARY (TRACER) DATADOG NODE AGENT DATADOG CLUSTER AGENT KUBELET CONTROL PLANE NODE ETCD CONTROLLER MANAGER API SERVER SCHEDULER アーキテクチャ概要 コンテナをオーケストレートする Kubernetes 環境 • アプリケーションコンテナへの APM Tracer の組み込み • Datadog Agent の実装 ◦ Datadog Node Agent ▪ 一般的な Datadog Agent と同じ ◦ Datadog Cluster Agent ▪ Kubernetes 専用のエージェント アーキテクチャの特徴 監視に必要な要素が増えるため、Helm/Operator を利用するのが一般的 Datadog Operator を利用すると Kubernetes の Reconciliation Loop に Datadog を組み込める
10 Architecture③: Kubernetes & Admission Controller NODE APPLICATION CONTAINER TRACING
LIBRARY (TRACER) DATADOG NODE AGENT KUBELET NODE APPLICATION CONTAINER TRACING LIBRARY (TRACER) DATADOG NODE AGENT KUBELET NODE APPLICATION CONTAINER TRACING LIBRARY (TRACER) DATADOG NODE AGENT DATADOG CLUSTER AGENT KUBELET CONTROL PLANE NODE ETCD CONTROLLER MANAGER API SERVER SCHEDULER アーキテクチャ概要 Admission Controller によって、コンテナイメー ジを変更せず APM Tracer を実装できる • APM Tracer の実装 ◦ Pod の作成時に Admission Controller の 機能を利用して Tracer injection を行う • Datadog Agent の実装 ◦ Datadog Node Agent ▪ 一般的な Datadog Agent と同じ ◦ Datadog Cluster Agent ▪ Kubernetes 専用のエージェント アーキテクチャの特徴 トレーサーを手動構成する必要なく、アノテーショ ンを付与するだけで Cluster Agent が Webhook Controller の役割を担う
Architecture④: ExS on Fargate アーキテクチャ概要 インフラストラクチャが秘匿されている環境 • アプリケーションコンテナへの APM Tracer
の組み込み • Datadog Agent の実装 ◦ サイドカーで Datadog Agent コンテナを デプロイする必要がある(タスク毎) アーキテクチャの特徴 インフラストラクチャーが秘匿されているので、 サイドカーでのみ Datadog Agent がデプロイでき る 11 TASK DATADOG AGENT CONTAINER (SIDE-CAR) APPLICATION CONTAINER TRACING LIBRARY (TRACER)
Architecture⑤: Cloud Run, Container Apps アーキテクチャ概要 クラウドで利用できるマネージドコンテナ環境 • アプリケーションコンテナへの APM
Tracer の組み込み • Datadog Agent の実装 ◦ 同一コンテナ内に serverless-init と呼ば れる専用エージェント ◦ サイドカーコンテナは現在ベータ版 アーキテクチャの特徴 アプリケーションコンテナ内のサブプロセスとし て、専用の軽量エージェントを起動する →スマートじゃないので、サイドカーデプロイがそ のうちサポートされる 12 APPLICATION CONTAINER APPLICATION PROCESS TRACING LIBRARY (TRACER) DATADOG AGENT (SUBPROCESS) MANAGED INSTANCE DATADOG AGENT CONTAINER (SIDE-CAR) APPLICATION CONTAINER TRACING LIBRARY (TRACER)
14 まとめ
15 Datadog APM on Container: まとめ Datadog Agent まとめ •
Kubernetes は複雑な構成を管理してくれる Datadog Operator が便利だよ • Fargate 環境ではサイドカーで Datadog Agent コンテナを実装するよ • マネージドコンテナではサブプロセスで専用軽量エージェントを動かすよ APM Tracer まとめ • APM Tracer は必ずアプリケーションコンテナに組み込む必要があるよ • Kubernetes の場合は Admission Controller を利用すると便利だよ
Thank you