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
ペパボOpenTelemetry革命
Search
Kazuhiko Yamashita
February 15, 2024
Programming
0
1k
ペパボOpenTelemetry革命
OpenTelemetry Meetup #2でお話しました。
Kazuhiko Yamashita
February 15, 2024
Tweet
Share
More Decks by Kazuhiko Yamashita
See All by Kazuhiko Yamashita
新しい職場の CI が 20 分かかっていたらあなたならどうする?
pyama86
1
1.3k
事業を差別化する技術を生み出す技術
pyama86
4
1.7k
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
8.3k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.7k
Tuning GraphQL on Rails
pyama86
2
2k
ttlcacheのここがスゴい
pyama86
1
160
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
620
実践ARMアーキテクチャ移行
pyama86
2
2.5k
リモートワーク時代の守護神 PHP開発者のためのセキュリティ強化術
pyama86
3
1.3k
Other Decks in Programming
See All in Programming
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
550
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
400
AIともっと楽するE2Eテスト
myohei
7
2.7k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
270
Porting a visionOS App to Android XR
akkeylab
0
480
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
830
型で語るカタ
irof
0
130
ニーリーにおけるプロダクトエンジニア
nealle
0
860
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
850
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
930
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
810
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
210
Featured
See All Featured
Making Projects Easy
brettharned
116
6.3k
Writing Fast Ruby
sferik
628
62k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
690
The Art of Programming - Codeland 2020
erikaheidi
54
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Balancing Empowerment & Direction
lara
1
430
How GitHub (no longer) Works
holman
314
140k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Transcript
ϖύϘOpenTelemetryֵ໋ ʙډञ͚ͩͷҙؾࠐΈ͔͋͠Γ·ͤΜฤʙ
ࢁԼ!QZBNB (.0ϖύϘٕज़ج൫νʔϜ γχΞɾϓϦϯγύϧ ɹΩϟϯϓɺཱྀߦɺώϧτϯ८ΓɺιϫχΤ८Γ 1SPYZαʔό։ൃɺ0QFO5FMFNFUSZ
45/4 -JOVY/444FSWFS TUOTKQ
None
None
ࠓ͢͜ͱ • Πϯϑϥߏ֓ཁ • OpenTelemetryಋೖঢ়گ • ϩάΛͲ͏͢Δ͔ΛܾΊ͔Ͷ͍ͯΔ
Πϯϑϥߏ֓ཁ
Πϯϑϥߏ֓ཁ 0QFO4UBDL #BSFNFUBM "84 IFSPLV (PPHMF$MPVE શαʔϏε߹ܭͰ7.ن ϗεςΟϯάܥͷαʔϏεɺ֤छج൫Ͱར༻ &,4
3%4 &MBTUJDYYYܥͷϚωʔδυαʔϏεΛத৺ʹར༻ (,& #JH2VFSZΛத৺ʹ"84ͷ%3ɺσʔλΤϯδχΞϦϯάͷج൫ͱͯ͠ར༻
0QFO4UBDL 0QFO4UBDLͰཧ͢Δ7.ͷ্ʹ ࣗࣾ։ൃͷΤϯδϯΛར༻ͯ͠ ,VCFSOFUFTΛσϓϩΠ ,VCFSOFUFT 0QFO4UBDL #BSFNFUBM #BSFNFUBM #BSFNFUBM 7.
7. 7. ,VCFSOFUFT $POUBJOFS $POUBJOFS $POUBJOFS
OpenTelemetryಋೖঢ়گ
ίϯϙʔωϯτ VM k8s Metrics ̋ ̋ Trace ̋ ̋ Log
˚ ˚ OpenTelemetryಋೖঢ়گ ̋ϓϩμΫγϣϯͰಋೖࡁΈ ˚པΉɺ୭͔ԶΛॿ͚ͯ͘Ε
Metrics
Metrics • hostmetricsͷΈಋೖ • VMͦΕͧΕotel collectorΛ Πϯετʔϧ • k8sDaemonSetͰ/Λmount receivers:
hostmetrics: collection_interval: 1m scrapers: cpu: metrics: system.cpu.utilization: enabled: true load: metrics: system.cpu.load_average.1m: enabled: true system.cpu.load_average.5m: enabled: true system.cpu.load_average.15m: ...
Metrics %BTICPBSE(JU)VCͰϝτϦΫε໊Ͱൃ۷ͨ͠ https://ten-snapon.com/archives/2983
Mackerel͔ΒͷҠߦ • چདྷVMMackerelɺk8sPrometheusͰࢹ͍͕ͯͨ͠ɺotelಋೖΛܖػʹ Prometheusू͢Δ(͍ͯ͘͠ɺ͍͖͍ͯͨ͠ɺཔΉʂʂ୭͔ʂʂ) • Mackerelͷcheck pluginࢹɺmetrics pluginࢹ ࡞ͷmackerel-checks-exporterͰPrometheusͷϝτϦΫεͱม
mackerel-checks-exporter Mackerelͷagent con fi gΛݩʹɺ νΣοΫࢹɺϝτϦΫεΛऩूͯ͠ɺ :9111/metricsͰެ։ receivers: prometheus: con
fi g: scrape_con fi gs: - job_name: 'mackerel-checks-exporter' metrics_path: /metrics scrape_interval: 1m static_con fi gs: - targets: - "127.0.0.1:9111"
Trace
Trace k8sͷμογϡϘʔυͱͯ͠GrafanaΛಋೖࡁΈ k8sͷظؒͷϩάݕࡧʹGrafana LokiΛಋೖࡁΈ (SBGBOB5FNQPΛ࠾༻
Trace otelcol k8s DataCenter Tempo pod VM otelcol app ࣗࣾͰ։ൃ͍ͯ͠Δk8s
engine͕ ࢹελοΫΛࣗಈΠϯετʔϧ PrometheusAlertManager Grafana Grafana Tempo Grafana Loki
Trace 5SBDFΛಋೖͨ͠ߏ go proxy server go api server rails api
MySQL Radis the other rails api
Trace (Pͷࣗಈܭ propagationΛ໌ࣔతʹఆٛ͢Δඞཁ͕͋Δ http/sql/redisͳͲࣗಈܭ͕උ͞Ε͍ͯΔͷͰɺwrap͢Δ͚ͩͰOK
Trace 3VCZPO3BJMTͷࣗಈܭ جຊgemΛΠϯετʔϧͯ͠ॳظԽ͢Δ͚ͩ
None
ೋਲ͍Ζ͘ͳ͜ͱ͕ͳ͍ ېञͩʂېञʂʂʂ
Log
طଘͷϩάύΠϓϥΠϯ ϩάͷϥΠϑλΠϜʹ߹ΘͤͨετΞʹ֨ೲ
Apache Kafka LBGLBDMVTUFS /var/log/audit.log LBGLBCSPLFS BVEJUMPH UPQJD LBGLBCSPLFS TZTMPH UPQJD
ϩά͝ͱʹτϐοΫΛ͚͍ͯΔ /var/log/syslog
Kafka Exporter 5PQJD͕ݱঢ়ܾΊଧͪͬΆ͍ https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/kafkaexporter
Kafka Exporter ͜͏͍͏ײ͡Ͱॻ͚͍ͨ
Log & Trace 5SBDF*%Ͱ-PHͱ5SBDFΛ࿈ܞ
Log & Trace 5SBDF*%Ͱ-PHͱ5SBDFΛ࿈ܞ
Log & Trace 5SBDF*%Ͱ-PHͱ5SBDFΛ࿈ܞ
ͬͯΈͯΘ͔ͬͨ͜ͱ • otel collectorʹू͢Δ͚ͩͰɺotelϓϩτίϧͰநԽ͞ΕΔͷͰ ࢥͬͨΑΓγϯϓϧʹ༷ʑ͕ίϯτϩʔϧͰ͖Δ • ֤ݴޠͷ։ൃऀɺcontribͷ։ൃऀͷํʑͷߩݙͷ͓ӄͰɺઃఆॻ͚ͩ͘ Ͱେମ͕ಈ͘
ࠓޙ͍͖͍ͬͯͨ͜ͱ • otel collectorΛ࣠ʹɺςϨϝτϦσʔλͷऩूɺٕज़ΛҰݩԽͯ͠ɺ ࣾͰϊϋΛڞ༗ͭͭ͠ɺϨόϨοδΛޮ͔͍ͤͨ • MetricsͷετΞPrometheusʹ·ͱΊ͍ͨ • LogͷपΓexporterΛ࡞Δ͔ɺίϛϡχςΟ͔ΒԠ͕͋Εͯ͠PR ͍͖͍͛ͯͨ(ͳΜ͔collectorଆͰେ͖͍มߋ͕ඞཁͳؾ͢Δ)
܅PUFMʹͳΒͳ͍͔ʁ ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU