Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Datadog Agent on CloudRunによるGCPトレーサビリティの向上
Search
株式会社ビットキー / Bitkey Inc.
PRO
October 05, 2022
Technology
950
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Datadog Agent on CloudRunによるGCPトレーサビリティの向上
株式会社ビットキー / Bitkey Inc.
PRO
October 05, 2022
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
410
Swift&Xcodeのバージョンアップにまつわる怖かった思い出 / Scary Memories of Swift and Xcode Updates
bitkey
PRO
0
200
iOS/Androidの二刀流エンジニアがFlutter & TypeScriptへ越境後の現在地 - Flutterがメインになって見えた景色と現在の醍醐味 / Dual-Platform Mobile Engineer Shifts to Flutter & TypeScript - The View and Real Thrill of Going Flutter-First
bitkey
PRO
0
550
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
510
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
560
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
320
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
350
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
510
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
2
1k
Other Decks in Technology
See All in Technology
絵ではじめるKubernetesセキュリティ
aoi1
3
190
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
5
2.1k
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
230
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
690
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
210
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
160
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
280
Gitは怖い?共有ワークスペースから始めるSnowflakeチーム開発
coco_se
0
190
Screen Lens - 今見てる画面を翻訳する
komagata
0
260
GoCon2026 - Open Source, Open World
sanposhiho
4
3.5k
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
140
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
130
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
790
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
YesSQL, Process and Tooling at Scale
rocio
174
15k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
570
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Raft: Consensus for Rubyists
vanstee
141
7.7k
Transcript
Datadog Agent on CloudRunʹΑΔGCPτϨʔαϏϦςΟͷ্ גࣜձࣾϏοτΩʔࠤʑྃ
0VUMJOF 1. Bitkeyʹ͓͚ΔαʔϏεͷΞʔΩςΫνϟ ࢄτϨʔεʹ͍ͭͯ 2. GCP CloudTraceͷ 3. Datadog AgentΛGCPͰίετͰ͏ͨΊ
ʹؤுͬͨ 4. ݒ೦ͱࠓޙͷ
ࠤʑྃ 3ZP4BTBLJ ௨৴ܥ4*FSೖࣾ ɾݩʑ/8ΤϯδχΞͩͬͨͷͰ#(1ͬͨଞڌ/8࡞ͬͨΓͱ͔ ɾ࣏ࣗମͱ͔ެிܥγεςϜʹܞΘͬͨΓ͢Δ͜ͱ͕ଟ͔͔ͬͨͳ ɾڮྊݕϩϘοτ։ൃͬͨΓͱ͔ ϑϦʔϥϯεʹస ɾϖωτϨʔγϣϯςετͬͨΓͱ͔
ɾ0QFO4UBULͱ0QFO4IJGU݁ߏͬͯͨΓͱ͔ ɾϋΠϒϦουΫϥυ࡞ͬͨΓͱ͔ ϏοτΩʔʹ43&ͱͯ͠δϣΠϯ ˞ͿͬͪΌ͚͋·Γ43&ͬͯͳ͍͚ͲͶ ެͷͰਓʹઆ໌Ͱ͖ΔΑ͏ͳً͔͍͠ܦྺ࣋ͬͯͳ͍ͷͰ αΫοͱྲྀ͠·͢ʂʂʂ
λΠτϧͰωλόϨͯ͠Δ͚Ͳ Datadog AgentΛCloudRunͰಈ͔ͯ͠ɺ CloudFunctionsͳͲͷFaaS͔ΒAPMΛར༻Ͱ͖ΔΑ͏ʹͨ͠ Α͍ͬͯ͏Ͱ͢ (ਖ਼֬ʹTrace)
Bitkeyʹ͓͚Δ αʔϏεΞʔΩςΫνϟ
Bitkeyʹ͓͚ΔαʔϏεΞʔΩςΫνϟ - جຊతʹ($1Λར༻ͨ͠αʔόʔϨεΞʔΩςΫνϟ - CloudFunctions (AWSͰ͍͏ͱ͜ΖͷLambda) - CloudRun (AWSͰ͍͏ͱ͜ΖͷAppRunner͕͍ۙ) -
*P5͕͍͔ͭ͘ଘࡏ͢Δ͕ɺͦΕΒAWS IoTʹΑͬͯߏ - Ճ͑ͯͦΕΒΛॲཧ͢ΔͨΊʹLambda API GatewayΛར༻ GCP x AWS ͳ ΞʔΩςΫνϟ
Bitkeyʹ͓͚ΔαʔϏεΞʔΩςΫνϟ ͕͜͜શͯGCPͷ CloudFunctions or CloudRun
Bitkeyʹ͓͚Δ ݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ - 1000͍ۙFaaS͕ଘࡏ͢ΔͨΊɺͲ͕͜Ͳ͏ܨ͕͍ͬͯͯɺԿ͕Ͳ͏ॲ ཧ͕ਐΜ͔͕ͩΘ͔Βͳ͍ - υΩϡϝϯτ·ͱʹͳ༷͘ઃܭͷѲ͕ࠔ - τϥϒϧγϡʔτԿ͔ϦϑΝΫλ͢Δͷʹͱͯͭͳ͍͕ൃੜ x
1000ऑ x 100ऑ
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ - 1000͍ۙFaaS͕ଘࡏ͢ΔͨΊɺͲ͕͜Ͳ͏ܨ͕͍ͬͯͯɺԿ͕Ͳ͏ॲ ཧ͕ਐΜ͔͕ͩΘ͔Βͳ͍ - υΩϡϝϯτ·ͱʹͳ༷͘ઃܭͷѲ͕ࠔ - τϥϒϧγϡʔτԿ͔ϦϑΝΫλ͢Δͷʹͱͯͭͳ͍͕ൃੜ x
1000ऑ x 100ऑ Ͳ͏ʹ͔Ͱ͖ͳ͍͔ɾɾɾʁ ͤΊͯτϥϒϧγϡʔςΟϯάΛԿͱ͔ɾɾɾʂ
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ OpenTelemetry ʹΑΔࢄτϨʔεΛΖ͏ʂ ※͕࣌ؒͳ͍ͷͰࢄτϨʔεͬͯԿͶΜͷল͖·͢
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ - ͪͳΈʹ͜ͷ࣌Ͱ"84ଆ93BZΛͬͯαΫοͱτϨʔεΛ࣮ - %BUBEPHͰެࣜΨΠυʹैͬͯઃఆ͢Εɺ؆୯ʹ93BZͷτϨʔε σʔλΛ%BUBEPH"1.ʹूՄೳ - ಛʹϋϚΔ෦ͳ͘ඇৗʹ؆୯ - SFGIUUQTEPDTEBUBEPHIRDPNKBJOUFHSBUJPOTBNB[PO@YSBZ
QVMM -BNCEB 'VODUJPO T 93BZ
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ - ͳͥOpenTelemetry - ($1ͷϑϧϚωʔδυͷࢄτϨʔεՄࢹԽαʔϏε CloudTrace ͕ OpenTelemetryΛαϙʔτ͍͔ͯͨ͠Β - 044ͳͷͰɺԿ͔͠ΒͷϩοΫΠϯൃੜ͠ͳ͍͠ɺ*OTUSVNFOUBUJPOͷ։
ൃ׆ൃʹਐΜͰ͍ΔͷͰকདྷతʹ҆ఆ͍͚ͯͬͯ͠ΔͩΖ͏ͱ͍͏அ
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ - ͳͥDatadog APMͷTraceػೳͰμϝͩͬͨͷʁ - ࠷ॳʹߟ͑ͨͷવDatadog APMͩͬͨ - "1.ར༻ͷͨΊʹ Datadog
Agent ͕ඞཁ - LT"84'BSHBUFͰެࣜαϙʔτ͞Ε͍ͯΔ͕ɺ #JULFZͷϝΠϯͰ͋Δ($1$MPVE'VODUJPOTͰαϙʔτ͞Ε͍ͯͳ͍ ͦΕͦͷͣͰAgentαΠυΧʔతʹಈ͘ ※k8sͷ߹ͪΐͬͱޠฐͷ͋Δݴ͍ํ͚ͩͲ
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ - -BNCEBͰ͋ΕExtensionDatadog ForwarderͳͲΛͬͯ؆୯ʹτϨʔε ϩάσʔλΛऩूͰ͖Δ - 93BZͰྑ͍ͳΒ͞Βʹ؆୯ʹ࿈ܞͰ͖Δ - EEUSBDFWT93BZҎԼΛࢀর -
IUUQTEPDTEBUBEPHIRDPNKBTFSWFSMFTTEJTUSJCVUFE@USBDJOH - 'BSHBUFͷ߹ɺͦͦ1PEతʹෳίϯςφΛ·ͱΊͯىಈͰ͖ΔͨΊ "HFOUΛαΠυΧʔͱͯ͠ىಈͰ͖Δ GCF CloudRun Ͱ͜Ε͕Ͱ͖ͳ͍
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ ͱ͍͏Θ͚ͰɺAPMར༻ͤͣɺOpenTelemetryʹཔͬͨ ՄࢹԽGCP CloudTraceͰग़དྷΔ͔ΒָͪΜʂ ͜ΕͰᘳʂʂ
Bitkeyʹ͓͚Δݱঢ়ͷࢄτϨʔεར༻ʹ͍ͭͯ ͦ͏͕Է͞ͳ͍
GCP CloudTraceͷͱ APMͷར༻ݕ౼
GCP CloudTraceͷͱAPMͷར༻ݕ౼ : CloudTraceͷػೳ͕ශऑ͗͢Δ
GCP CloudTraceͷͱAPMͷར༻ݕ౼ - ϑΟϧλϦϯά͕݁ߏ͖͍ͭ - తͷϦΫΤετΛ୳͢ͷ͕͠ΜͲ͗͢Δ - ຖඵඦʙઍ͍ͬͯ͏τϨʔε͕ه͞Ε͍ͯ͘ͷʹɺ ͔ͦ͜ΒखಈͰ୳͢ͷྲྀੴʹۤ௧͗͢Δ
Datadog AgentΛGCPͰ ίετͰ͏ͨΊʹؤுͬͨ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ͬͺΓDatadog APM͍͍ͨͳ͊ɻ AWSଆͦ͏ͩ͠RUMΛͬͨ ϑϩϯτ͔ΒͷτϨʔγϯά؆୯ʹͰ͖Δ͠ͳ͊ɻ ͔͋ͬͪ͠ͷํ͕UI/UX͕༏ΕͯΔΜͳ͊ɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ͱ͍͏Θ͚ͰGCPͷCloudFunctionsCloudRunʹͯAPM TraceΛར༻Ͱ͖ΔΑ͏ʹݕ౼ͯ͠ΈΔɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ՝ ɾͲ͏ͬͯDatadog AgentΛGCPͰ࣮͢Δ͔ʁ ɾԿʹϝϯςφϯείετΛԼ͛ͨߏʹͰ͖Δ͔ʁ ɾεέʔϥϏϦςΟΛ্͛ΒΕΔ͔ʁ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ͱʹָ͔͘ʹཧ͍ͨ͠ɻ ͋ʔͩͷ͜ʔͩͷΓͨ͘ͳ͍ɻ ͔ͩΒͱݴͬͯࢭ·ͬͯཉ͘͠ͳ͍ɻ҆ఆՔಇͯ͠΄͍͠ɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ - $PNQVUF&OHJOF "84Ͱ͍͏&$ Ͱ-JOVYΠϯελϯεͰཱͯ ͯɺͦ͜Ͱಈ͔ͤʁʁ ྩ4ͷࠓɺੵۃతʹͦͷํ๏Λ࠾༻ͨ͘͠ͳ͍ɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ - "84'BSHBUFͰαϙʔτ͞Ε͍ͯΔͳΒɺͦͬͪͰσϓϩΠͯ͠($1 ଆ͔Β͛ͯ͋͛Εྑ͍ͷͰʁ Ͱ͖ͳ͘ͳ͍ͩΖ͏͚Ͳɺ͏ʔΜɻɻɻ ͋·Γ៉ྷ͡Όͳ͍ΑͶɻ ͜Μͳ͜ͱͷͨΊʹάϩʔόϧԣஅͯ͠௨৴ͤͨ͘͞ͳ͍ɻ ؾʹ͢Δ΄Ͳͷ͜ͱͰͳ͍ͱ͍͑ϨΠςϯγͷ͋Δɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ - "1.LTͰਖ਼ࣜαϙʔτ͞Ε͍ͯΔΜ͔ͩΒɺ(,&༻ҙͯ͠ "HFOUΛஔ͍ͯ͋͛ͨΒʁ ྲྀੴʹ͜ͷͨΊ͚ͩʹk8s༻ҙ͢Δͷίεύѱ͍ؾ͕ɻ طʹGKEΛར༻͠·͍ͬͯͯ͘ɺଟ͘ͷΤϯδχΞ͕ѻ͑Δঢ়گͳΒྑ͍Μ͚ͩͲɺɺɺ લड़ͷ௨ΓେͷϓϩμΫτFaaSͰಈ͍͍ͯΔؔͰօk8sΛ͍׳Ε͍ͯͳ͍ɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ͦΜͳ࣌ࢥ͍͍ͭͨɻ ͔ͯɺDatadog AgentͬͯDockerαϙʔτ͞Ε͍ͯΔΑͶʁʁ ͦΓΌͦ͏ͩɻͦͦk8sͱ͔FargateͰαϙʔτ͞ΕͯΔΜͩ͠ɻ ͦΕͬͯCloudRunͰಈ͔ͤྑ͘Ͷʁʁ ˞#JULFZͰ$MPVE3VOׂͱར༻͞Ε͍ͯͯࣾͰͷϊϋ͕͋Δ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ IUUQTEPDTEBUBEPHIRDPNKBJOUFHSBUJPOTFDT@GBSHBUF UBCXFCV ͬͺΓͶ IUUQTEPDTEBUBEPHIRDPNKBDPOUBJOFSTEPDLFS
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ IUUQTIVCEPDLFSDPNSEBUBEPHBHFOU ͦΓΌ͋Ͷ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ՝ ɾͲ͏ͬͯDatadog AgentΛGCPͰ࣮͢Δ͔ʁ ɾԿʹϝϯςφϯείετΛԼ͛ͨߏʹͰ͖Δ͔ʁ ɾεέʔϥϏϦςΟΛ্͛ΒΕΔ͔ʁ શͯCloudRunͰղܾͰ͖Δʂʂʂ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ಥ͚ͩͲ Ͱ͖ͨ :tada:
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ FYQPSUFSͷ͛ઌΛม͑Δ͚ͩʂʂʂʂ gcloud beta run deploy dd-agent \
--image gcr.io/datadoghq/agent \ --port 8126 \ --memory 1024Mi \ --region asia-northeast1 \ --allow-unauthenticated \ --set-env-vars "DD_HOSTNAME=common-dd-agent" \ --set-env-vars "DD_APM_ENABLED=true" \ --set-env-vars "DD_APM_NON_LOCAL_TRAFFIC=true" \ --set-secrets "DD_API_KEY=DD_API_KEY:latest" \ --execution-environment gen2 ͓ΉΖʹgcloudίϚϯυΛࡌ͓ͤͯ͘ɻ͜ΕͰऴΘΓɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ Datadog Agent on CloudRunͷྑ͞ - ϑϧϚωʔδυͳͷͰΊͪΌͪ͘Όӡ༻ίετ͕͍ - ਵϦιʔε
71$-# ͷઃܭཧ͕ෆཁ - ެࣜʹఏڙ͞Ε͍ͯΔίϯςφΠϝʔδΛͬͯɺ͋ͱڥมͱͯ͠ ίϯϑΟάΛ༩͑ͯ͋͛ΕͦΕͰऴΘΓ $MPVE'VODUJPOT %BUBEPH"HFOUPO$MPVE3VO EEUSBDF1VTI $POUBJOFS 3FHJTUSZ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ Datadog Agent on CloudRunͷྑ͞ - Կߟ͑ͣͱউखʹΦʔτεέʔϧͯ͘͠ΕΔͷͰ ࠓޙͷεέʔϥϏϦςΟʹඇৗʹ༏ΕΔ
- #JULFZ࣮ͩͱɺΠϯελϯεd͙Β͍Ͱʑεέʔϧ͍ͯ͠Δ - Ͳ͏ͤ($1ͷ%$෦ͰΠϯλʔίωΫτͳ௨৴͕ߦΘΕΔͷͰ ($'͔ΒݟͯϨΠςϯγ͕ݱ࣮తʹʹͳΔ͜ͱͳ͍ͣ ໝ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ • ࢀߟఔʹ%BUBEPH"HFOUͰ͏ڥมͱ͔ ◦ IUUQTEPDTEBUBEPHIRDPNKBDPOUBJOFSTEPDLFS UBC&"&#"FOWJSPONFOUWBSJBCMFT ◦ IUUQTEPDTEBUBEPHIRDPNKBDPOUBJOFSTEPDLFSBQN UBCMJOVY
• ͜ͷลΛΑ͘͏ͣ Key Value ิ DD_APM_ENV your_environment datadog্Ͱೝࣝ͞ΕΔenvͷσϑΥϧτઃఆɻ ΫϥΠΞϯτίʔυଆͰ্ॻ͖Ͱ͖Δɻ DD_HOSTNAME your_ddagent_name ࢦఆͨ͠ϗετ໊Ͱdatadogʹه͞ΕΔͷͰͪΌΜ ͱߟ͑ͯʂ DD_APM_ENABLED true APMͷ༗ޮԽઃఆ DD_OTLP_CONFIG_RECEIVER_PROT OCOLS_HTTP_ENDPOINT 0.0.0.0:4318 ޙड़͢ΔOpenTelemetyͷαϙʔτͷͨΊʹඞਢ DD_APM_NON_LOCAL_TRAFFIC true ֎෦τϥϑΟοΫΛड͚͚Δઃఆɻ ࠓճͷΑ͏ͳέʔεͷ߹trueඞਢ DD_API_KEY Secret:DD_API_KEY:latest ݴΘ͕ͣͳɻฏจͰஔ͔ͳ͍Α͏ʹ͠·͠ΐ͏ɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ͞ΒʹݱࡏͷDatadog AgentOTLPίϨΫλʔΛαϙʔτ͍ͯ͠Δʂ DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT Λఆٛͯ͋͛͠ΕOK 0QFO5FMFNFUSZͷऔΓࠐΈ͕Ͱ͖ΔʂEEUSBDFʹґଘ͢Δඞཁ͕ͳ͍ʂʂ طଘ࣮ͷ0QFO5FMFNFUSZͷ෦Λม͑ͣɺ&YQPSUFSͷ࣮Λ%BUBEPH"HFOUʹ͚ͯ͋͛ΕऴΘΓ ޙड़
$MPVE'VODUJPOT %BUBEPH"HFOUPO$MPVE3VO 0QFO5FMFNFUSZ1VTI 05-1ίϨΫλʔ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ҙ - $MPVE3VO'BSHBUFͱҧͬͯతʹ%PLDFS)VC͔Β1VMMͯ͜͠Εͳ͍ - ͨͩ͠(PPHMF$POUBJOFS3FHJTUZʹίϯςφΠϝʔδ͕ طʹύϒϦογϡ͞Ε͍ͯΔͷͰɺͦΕΛͦͷ··͑0, -
gcr.io/datadoghq/agent
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ҙ - $MPVE3VOͷGen2 Λ͓͏ - (FO-JOVYͷΤϛϡϨʔγϣϯͰ͋Δ͜ͱ͋ͬͯΊͪΌͪ͘ΌΤϥʔग़Δ - Gen2LinuxͦͷͷͳͷͰશ͘ͳ͠
- ͨͩͦ͠ΕͰ%BUBEPH"HFOU͕ఏڙ͢Δ֤छػೳ͕ ͪΐͪ͜ΐ͜Τϥʔग़͢λΠϛϯά͕͋ΔͷͰແବͳػೳఀࢭͪ͠Όͬͨํ͕ྑ͍ - QSPDFTTͱ͔TZTQSPCFͱ͔
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ Infrastructure as Code ָউ • طʹCloudRunΛߏ͢ΔͨΊͷterraformίʔυࣾͰطʹཱ֬ ◦
͜ͷߏαΫοͱίʔυԽྃʂ • $MPVE3VOͳͷͰ༨ܭͳ͜ͱΛߟ͑Δ͜ͱগͳ͘ΊͪΌͪ͘ΌָͪΜӡ༻ʂ • উखʹεέʔϧͯ͘͠ΕΔͷͰ࠾༻ϓϩμΫτ͕૿͖͔͑ͯͨΒෛՙ͕ɾɾɾͱ͔ ߟ͑ͳͯ͘0,
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ΞϓϦέʔγϣϯίʔυଆͷ࣮ - ී௨ʹ%BUBEPH"HFOUPO$MPVE3VO͕ىಈͨ͠Β ͋ͱͦ͜ʹର͚ͯ͛ͭ͠ΔΑ͏ʹ࣮͢Ε0, $MPVE'VODUJPOT %BUBEPH"HFOUPO$MPVE3VO QVTI
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ FYQPSUFSͷ͛ઌΛม͑Δ͚ͩʂʂʂʂ import tracer from 'dd-trace'; export const
setupTracing = (args: {serviceName?: string; serviceVersion?: string}) => { return tracer.init({ service: args.serviceName ?? 'unknownFunction', version: args.serviceVersion ?? 'unknownVersion', url: 'https://your-dd-agent.run.app', env: 'develop', }); }; ͍ͬ͢͝୯७ɻurlͯ͋͛͠Δ͚ͩɻڥมͰՄɻ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ 0QFO5FMFNFUSZͰͷ࣮͕طʹ͋ΔͳΒɺFYQPSUFSͷ͛ઌΛม͑Δ͚ͩʂ const exporter = new OTLPTraceExporter({url: "https://your-dd-agent.run.app"});
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ - $MPVE3VO -PBE#BMBODFSΛ༧Ίߏங͓͚ͯ͠ ͖ͳ'2%/ͰΞΫηεͰ͖ΔͷͰ͞Βʹྑ͠ $MPVE'VODUJPOT %BUBEPH"HFOUPO$MPVE3VO
QVTI IUUQT ZPVSDVTUPNEPNBJO -PBE#BMBODFS IUUQT IPHFIPHFBSVOBQQ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ڥαʔϏε୯ҐͰ ͷߜΓࠐΈΊͬͪΌ؆ ୯ʂ ΫΤϦॻ͍ͯരݕࡧʂ APM ͷ UI
͍͍ʂ͍͍Αʂʂ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ඥͮ͘ϝλσʔλϩ άඥ͍͍ͮͯΔͷͰ ௐ͍ࠪ͢͠ʂ ֤τϨʔεΛ։͚ɺεύ ϯ͕ΊͬͪΌΘ͔Γ͘͢ දࣔ͞ΕΔʂ HTTPgRPCRDBͷ
SQLશؙͯݟ͑ʂʂ
ݒ೦ͱࠓޙͷ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ ݒ೦ ͜Εͩͱάϩʔόϧʹ࿐ग़͍ͯ͠ΔͷͰ ෆಛఆଟ͔ΒͷΞΫηε͕͋ΔͷͰʁ
Datadog AgentΛGCPͰίετͰ͏ͨΊʹؤுͬͨ - yes - ͋Δఔɺ$MPVE"SNPSͰෆਖ਼ͳ௨৴ޚՄೳ - ͕ɺͦͷΤϯυϙΠϯτʹରͯ͠%BUBEPH"HFOU͕ߏங͞Ε͍ͯΔ͜ͱΛ ΒΕͨ߹ʹͲ͏͠Α͏ͳ͍
- ݱ࣮తʹຊ൪ڥͰ࠾༻͢ΔͷͰ͋ΕɺαʔόʔϨείωΫλʔͰ ($'$MPVE3VOͨͪͱΠϯλʔφϧଓ͠ɺ෦తͳΞΫηε͚ͩʹ ݶఆ͓͍ͯͨ͠ํ͕ઈରྑ͍
ݒ೦ͱࠓޙͷ - ݱঢ়ͱࠓޙ - ͜ͷΈΛͬͯɺ0QFO5FMFNFUSZ $MPVE5SBDFͷڥ͔Β Ұ෦ΛҠߦͤͯ͞ςετத - %BUBEPH"1.ͷTraceػೳ͕ඇৗʹ༏लͰ
τϨʔεΛͬͨੳτϥϒϧγϡʔτ͕ඇৗʹΔʂΔʂ
ݒ೦ͱࠓޙͷ - ݱঢ়ͱࠓޙ - EEUSBDFݱ࣮తʹ͑ΔΑ͏ʹͳͬͨͷͰɺ 0QFO5FMFNFUSZWTEEUSBDFͳධՁ࣮ࢪத - "84ଆͷ-BNCEBͨͪ"1.ʹू͍ͤͯ͞ΔͷͰ Ϋϥυԣஅ͔ͭϑϩϯτʙόοΫΤϯυʙIoTͳҰؾ௨؏ͳτϨʔεΛࢦ͍ͨ͠
- ͨͩ͠લड़ͷݒ೦͕͋ΔͷͰɺ͜ͷ··͍ଓ͚Δ͔ෆಁ໌ - ҰํͰ͔ͳΓ"1.ʹྑ͞Λײ͍ͯ͡ΔͷͰνϡʔχϯάͭͭ͠ ໘ධՁ͠ଓ͚͍ͨ
ݒ೦ͱࠓޙͷ - ·ͱΊ - %BUBEPH"1.6*69͕༏Ε͍ͯͯϚδͰΔΑ - LT"84ʹґଘͨ͠αʔϏε͡Όͳ͍ΜͩΑͳ͊ɾɾɾ "1.͑ͳ͍Μ͔ͳ͍͊ͬͯ͏ਓɺఘΊͳ͍Ͱʂʂ -
ίϯςφΠϝʔδ͕͋ΔΜ͔ͩΒͲ͏ʹͰͳΔΑ - $MPVE3VO͑ϚδͰઈָͪΜʹ࣮ͱӡ༻͕Ͱ͖ΔΑ - ࠓͷ%BUBEPH"HFOU0QFO5FMFNFUSZʹରԠ͍ͯ͠ΔͷͰɺ طଘ࣮͔ΒͷϚΠάϨʔγϣϯίετʹ͍͚ΔΑ
ݒ೦ͱࠓޙͷ - Φν - LT͍׳ΕͯΔͳΒ (,&"VUPQJMPUͰ࣮ͨ͠ํ͕ ָͩ҆͠৺Ͱ͖ͦ͏ɻ
)FMNͰΠϯετʔϧͰ͖Δ͠Ͷɻ - ࢀߟIUUQTEPDTEBUBEPHIRDPNKBDPOUBJOFSTLVCFSOFUFTEJTUSJCVUJPOT UBCIFMNBVUPQJMPU apiVersion: apps/v1 kind: Deployment metadata: name: dd-agent spec: replicas: 3 selector: matchLabels: app: dd-agent template: metadata: labels: app: dd-agent spec: containers: - name: dd-agent image: datadog/agent:latest ports: - containerPort: 8126 env: - name: DD_API_KEY valueFrom: secretKeyRef: name: dd-api-key key: DD_API_KEY
͓ΘΓ