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
980
ペパボOpenTelemetry革命
OpenTelemetry Meetup #2でお話しました。
Kazuhiko Yamashita
February 15, 2024
Tweet
Share
More Decks by Kazuhiko Yamashita
See All by Kazuhiko Yamashita
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
6.6k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.5k
Tuning GraphQL on Rails
pyama86
2
1.7k
ttlcacheのここがスゴい
pyama86
1
120
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
560
実践ARMアーキテクチャ移行
pyama86
2
2.4k
リモートワーク時代の守護神 PHP開発者のためのセキュリティ強化術
pyama86
3
1.1k
実践DevSecOps~クラウドネイティブとオンプレミスの間から~
pyama86
1
100
ペパボOpenTelemetry革命
pyama86
2
2.1k
Other Decks in Programming
See All in Programming
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
Open source software: how to live long and go far
gaelvaroquaux
0
650
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
180
GAEログのコスト削減
mot_techtalk
0
120
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
890
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
CI改善もDatadogとともに
taumu
0
180
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
760
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
220
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
460
CloudNativePGを布教したい
nnaka2992
0
100
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Documentation Writing (for coders)
carmenintech
67
4.6k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Code Review Best Practice
trishagee
67
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
KATA
mclloyd
29
14k
Designing for Performance
lara
604
68k
Fireside Chat
paigeccino
34
3.2k
Writing Fast Ruby
sferik
628
61k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
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