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
740
ペパボOpenTelemetry革命
OpenTelemetry Meetup #2でお話しました。
Kazuhiko Yamashita
February 15, 2024
Tweet
Share
More Decks by Kazuhiko Yamashita
See All by Kazuhiko Yamashita
ペパボOpenTelemetry革命
pyama86
2
1.4k
Site Reliability Engineering for GMO
pyama86
9
1.1k
PHPアプリケーションのスケーラビリティと 信頼性を革新する nginx+ngx_mrubyとGoの融合
pyama86
2
310
ChatGPTの活用を体現し、 組織に浸透する技術
pyama86
1
940
リリースフラグと プログレッシブデリバリーを活用した 安全なWEBアプリケーションデプロイ
pyama86
2
190
PHPerのためのOpenTelemetry入門
pyama86
1
230
生成AIで仕事を もっとおもしろくする事例と詳解
pyama86
0
150
Goで実装された高速な 仮想待合室サーバの実装と詳解
pyama86
15
7.1k
CNDF2023前夜祭 - 玄界灘のクラウドネイティブなデータ基盤運用の実践
pyama86
1
450
Other Decks in Programming
See All in Programming
来週から実践できる! LayerXのバクラク事業部で行われている Go 関連の読書会のご紹介 / Bakuraku Go Reading Group
upamune
5
250
Compose UI for... a light switch? (KotlinConf 2024)
jakewharton
PRO
3
320
App Router に移行して良かったところを語る
andpad
2
230
【2024年度 サイバーエージェント 新卒研修】システム運用の基本と戦略
shuntakahashi
49
22k
Good first issues of TypeProf
mame
4
2.9k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
76k
JS RPCを理解する
yusukebe
5
390
From LALR to IELR: A Lrama's Next Step
junk0612
2
1.1k
RuboCop: LSP and Prism
koic
3
1.6k
AIで生成したものをAIでチェックしてる話
ippey
0
140
Containerization Tips and Tricks for PHP apps
dunglas
2
3.4k
RAGのretrievalの評価を “ranx”で行う / Evaluate retrival of RAG using "ranx"
kun432
1
190
Featured
See All Featured
Embracing the Ebb and Flow
colly
80
4.2k
Making Projects Easy
brettharned
109
5.6k
Raft: Consensus for Rubyists
vanstee
133
6.3k
Unsuck your backbone
ammeep
664
57k
A Tale of Four Properties
chriscoyier
153
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Into the Great Unknown - MozCon
thekraken
15
1.2k
A designer walks into a library…
pauljervisheath
201
23k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
The Brand Is Dead. Long Live the Brand.
mthomps
49
32k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Learning to Love Humans: Emotional Interface Design
aarron
268
39k
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