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
月間動画再生数2億回を支える TVerのオブザーバビリティ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
TVer Inc.
PRO
March 11, 2022
Technology
1.3k
3
Share
月間動画再生数2億回を支える TVerのオブザーバビリティ
2022/03/11
Observability Conference 2022
イベントURL :
https://event.cloudnativedays.jp/o11y2022
TVer Inc.
PRO
March 11, 2022
More Decks by TVer Inc.
See All by TVer Inc.
TVer Web-based TVのリアーキテクチャ
techtver
PRO
0
100
Pub/Sub で実装するワーカープールパターン - BigQuery リバースETLジョブの並行数制御-
techtver
PRO
0
120
株式会社TVer 会社紹介資料
techtver
PRO
9
120k
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
2.7k
Feature Flagを定義から削除まで 安全に行うために考えたこと
techtver
PRO
0
3.3k
4100万ユーザーを支えるTVer iOSアプリ開発 〜0人から始まったチームのAI活用による挑戦〜
techtver
PRO
1
2.6k
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
1.3k
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
150
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
810
Other Decks in Technology
See All in Technology
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
180
イベントで大活躍する電子ペーパー名札 〜その3〜 / ビジュアルプログラミングIoTLT vol.23
you
PRO
0
140
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
140
責任あるソフトウェアエンジニアリングの紹介4章・5章 / RSE_Ch4-5
ido_kara_deru
0
340
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
120
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
870
データ分析基盤の信頼を支える視点と設計
yuki_saito
1
680
oracle-to-databricks-migration-with-llm-and-dbt
casek
0
160
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
320
権限管理設計を完全に理解した
rsugi
2
210
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
150
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
190
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
210
Why Our Code Smells
bkeepers
PRO
340
58k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
How to Ace a Technical Interview
jacobian
281
24k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
For a Future-Friendly Web
brad_frost
183
10k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Transcript
݄ؒಈը࠶ੜ2ԯճΛࢧ͑Δ TVerͷΦϒβʔόϏϦςΟ גࣜձࣾ TVer / Ճզ وࢤ 2022/03/11 Observability Conference
2022
͜ͷηογϣϯʹ͍ͭͯ ຊ͓͢Δ͜ͱ • TVerʹ͓͚ΔΦϒβʔόϏϦςΟ࣮ݱϓϩηε • New Relic Oneͷ׆༻ࣄྫ
͜ͷηογϣϯʹ͍ͭͯ ओͳλʔήοτ • ͜Ε͔ΒΦϒβʔόϏϦςΟΛ࣮ݱ͍ͨ͠ • πʔϧಋೖ͚ͨ͠Ͳ׆༻ͰΜͰ͍Δ • New Relic Oneͷ͍ํʹڵຯ͕͋Δ
डߨऀϨϕϧ • ΦϒβʔόϏϦςΟॳڃऀ🔰
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
TVerͷհ
TVerͷհ
TVerͷհ [TVer] ྦྷܭΞϓϦμϯϩʔυ͕4,000ສಥഁʂ ϨΪϡϥʔͷ৴൪400൪ʹ https://tver.co.jp/news/20210825-1.html
TVerͷհ [TVer] 202110݄ͷ݄ؒಈը࠶ੜ͕ॳͷ2ԯճΛಥഁʂʙࡢಉ݄ൺ̎ഒʹɺίωΫςουTVࢹௌ৳͕ཁҼʙ https://tver.co.jp/news/20211112-1.html
TVerͷओཁͳٕज़ελοΫ
TVerͷΠϯϑϥετϥΫνϟ
TVer (WebαʔϏε) ͷΠϯϑϥετϥΫνϟ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝ TVerͷར༻ऀ͕૿Ճ (Ϣʔβʔ / ࠂओ) ↓ ࣾձతͳӨڹ͕ߴ͍ϓϥοτϑΥʔϜ ↓ ϞχλϦϯάपΓͷվળ͕՝
αʔϏεͷͱݟ͖͑ͯͨ՝ ϞχλϦϯάपΓͷ՝ • ϢʔβʔମݧͷѲ • Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ • ൃੜ࣌ͷਝͳղܾ • ϓϩΞΫςΟϒͳϞχλϦϯά
• SLI / SLOʹΑΔ৴པੑͷՄࢹԽ
αʔϏεͷͱݟ͖͑ͯͨ՝ γεςϜͷ؍ଌൣғΛ ͛Δඞཁ͕͋Δ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
New Relic OneಋೖʹΑΔվળͷτϥΠ [࠶ܝ] ϞχλϦϯάपΓͷ՝ • ϢʔβʔମݧͷѲ • Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ •
ൃੜ࣌ͷਝͳղܾ • ϓϩΞΫςΟϒͳϞχλϦϯά • SLI / SLOʹΑΔ৴པੑͷՄࢹԽ γεςϜͷ؍ଌൣғΛ͛Δඞཁ͕͋Δ
New Relic OneಋೖʹΑΔվળͷτϥΠ
New Relic OneಋೖʹΑΔվળͷτϥΠ Why New Relic One • ڧྗͳϑϩϯτΤϯυϞχλϦϯά •
ΦϒβʔόϏϦςΟϓϥοτϑΥʔϜ • શํҐͰͷϞχλϦϯά͕Մೳ
New Relic OneಋೖʹΑΔվળͷτϥΠ ಋೖͷྲྀΕ • αʔόαΠυΤϯδχΞ͕ಋೖΛݗҾ • New RelicࣾੵۃతʹಋೖΛαϙʔτ
New Relic OneಋೖʹΑΔվળͷτϥΠ NRU101 New Relic One ೖ https://newrelic.com/jp/resources/presentations/nru101_20211027
New Relic OneಋೖʹΑΔվળͷτϥΠ NRU101 New Relic One ೖ https://newrelic.com/jp/resources/presentations/nru101_20211027
New Relic OneಋೖʹΑΔվળͷτϥΠ ɹ“ಈը৴ࢢͷ֦େʹͬͯߴ·Γଓ͚ΔϢʔβʔɺ ɹࠂओํ͔ΒͷधཁʹԠ͑ΔͨΊʹɺαʔϏεͷ ɹՔಇঢ়گෛՙঢ়گɺϢʔβʔͷࢹௌମݧΛৗʹѲ͠ɺ ɹҟৗͷൃݟͱݪҼͷಛఆɾղܾΛਝ͔ͭޮతʹ ɹߦ͑ΔڥΛඋ͢Δඞཁ͕͋Γ·ͨ͠ɻ” TVerɺΦϒβʔόϏϦςΟʢՄ؍ଌੑʣϓϥοτϑΥʔϜʮNew Relic
OneʯΛಋೖ https://newrelic.com/jp/press-release/20210302
New Relic OneಋೖʹΑΔվળͷτϥΠ New Relic Oneͷಋೖঢ়گ (202112݄) • ΠϯςάϨʔγϣϯ •
ΠϯϑϥετϥΫνϟʔϞχλϦϯά • ϒϥβϞχλϦϯά • ϞόΠϧϞχλϦϯά • ֎ܗࢹ
New Relic OneಋೖʹΑΔվળͷτϥΠ ΦϒβʔόϏϦςΟΛ ࣮ݱ͢ΔͨΊʹ ԿΛ͢Ε͍͍ͩΖ͏ ͔
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
1. New Relicͷࢥ͔Β ΦϒβʔόϏϦςΟΛ ֶͿ
ΦϒβʔόϏϦςΟ࠶ઃܭ New Relicͷߟ͑ΔΦϒβʔόϏϦςΟ(1) “ࢹࣄલʹఆٛ͞Εͨҟৗ͕ى͖ͨͱ͖ʹ୯ʹ௨͢Δ͚ͩ Ͱ͕͢ɺΦϒβʔόϏϦςΟͰͳͥى͖͔ͨѲ͢Δॿ͚ʹ ͳΓ·͢ɻͦΕʹΑΓνʔϜɺۓٸࣄଶͰਝ͔ͭ༗ޮʹରԠ Ͱ͖ɺظతͳΞϓϦέʔγϣϯύϑΥʔϚϯεͷվળʹऔΓΉ
͜ͱ͕Ͱ͖·͢ɻ” ϞμϯͳՄ؍ଌੑʢΦϒβʔόϏϦςΟʣͱͳʹ͔ https://newrelic.com/jp/blog/best-practices/what-is-modern-observability
ΦϒβʔόϏϦςΟ࠶ઃܭ New Relicͷߟ͑ΔΦϒβʔόϏϦςΟ(2) “New Relic ϝτϦΫεɺΠϕϯτɺϩάɺ͓ΑͼτϨʔε ʢMELT : Metrics,
Events, Logs, TracesʣΛՄ؍ଌੑ࣮ݱͷ جຊతͳσʔλλΠϓͩͱߟ͍͑ͯ·͢ɻ ͯ͢Λܭଌ͠ɺMELTΛ༻ͯ͠γεςϜͷؔͱґଘؔɺ ͦͯͦ͠ͷৄࡉͳύϑΥʔϚϯεͱਖ਼ৗੑΛҡ࣋͢Δ͜ͱ͕ Մ؍ଌੑΛ࣮ݱ͢ΔͨΊʹॏཁͰ͢ɻ” Metrics, Events, Logs, Traces ͬͯͳΜͩʁ https://newrelic.com/jp/blog/how-to-relic/metrics-events-logs-and-traces
2. Google͔Β ΦϒβʔόϏϦςΟΛ ֶͿ
ΦϒβʔόϏϦςΟ࠶ઃܭ Googleͷߟ͑ΔΦϒβʔόϏϦςΟ(1) “ϞχλϦϯάɺνʔϜ͕γεςϜͷঢ়ଶΛࢹͯ͠ѲͰ͖ΔΑ͏ʹ͢Δ πʔϧٕज़తͳιϦϡʔγϣϯͰ͢ɻϞχλϦϯάͰɺࣄલʹఆٛͨ͠ࢦ ඪϩάͷऩूΛߦ͍·͢ɻ ΦϒβʔόϏϦςΟɺνʔϜ͕γεςϜͷσόοάΛੵۃతʹߦ͑ΔΑ͏ʹ ͢Δπʔϧٕज़తͳιϦϡʔγϣϯͰ͢ɻΦϒβʔόϏϦςΟͰɺࣄલʹ ఆٛ͞Ε͍ͯͳ͍ϓϩύςΟͱύλʔϯͷௐࠪΛߦ͍·͢ɻ” DevOps ଌఆ:
ϞχλϦϯάͱΦϒβʔόϏϦςΟ https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability
ΦϒβʔόϏϦςΟ࠶ઃܭ Googleͷߟ͑ΔΦϒβʔόϏϦςΟ(2) “ϗϫΠτϘοΫε ϞχλϦϯά ϞχλϦϯάͱΦϒβʔόϏϦςΟɺϫʔΫϩʔυ͔ΒϞχλϦϯά γεςϜ ʹૹ৴͞ΕΔγάφϧʹґଘ͠·͢ɻ࠷Ұൠతͳཁૉͱͯ͠ɺࢦඪɺϩάɺ τϨʔεͷ 3 ͕ͭ͋Γ·͢ɻҰ෦ͷϞχλϦϯά
γεςϜͰΠϕϯτΛ͠ ͯใࠂ͠·͢ɻΠϕϯτɺγεςϜͰͷϢʔβʔͷૢ࡞γεςϜࣗମͷঢ়ଶ ͷมԽΛද͠·͢ɻ” DevOps ଌఆ: ϞχλϦϯάͱΦϒβʔόϏϦςΟ https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability
ΦϒβʔόϏϦςΟ શʹཧղͨ͠
ΦϒβʔόϏϦςΟ࠶ઃܭ [ํ] શͯͷγεςϜͰMELTΛܭଌ͢Δ • ☑ ΠϯςάϨʔγϣϯ (֦ॆ) • ☑ ΠϯϑϥετϥΫνϟʔϞχλϦϯά
• ☑ ϒϥβϞχλϦϯά • ☑ ϞόΠϧϞχλϦϯά • ☑ ֎ܗࢹ • ☐ APM (Ճ) • ☐ Log Management (Ճ)
ΦϒβʔόϏϦςΟ࠶ઃܭ [มߋ] AWS Integrationͷվળ ɹɾར༻͍ͯ͠ΔશͯͷAWS ɹɹαʔϏεͷϝτϦΫεऔಘ New Relic Go AgentͷՃ
ɹɾAPMՃ ɹɾLogs in contextՃ
ΦϒβʔόϏϦςΟ࠶ઃܭ ͔͠͠ɾɾɾ • Logs in context -> อཹ →ΞϓϦέʔγϣϯͷϩΪϯάपΓͷઃܭ͕ ɹݻ·ͬͨஈ֊ͰվΊͯਖ਼ࣜಋೖ
ɹ(Fargate -> CloudWatch LogsͰ༻)
ΦϒβʔόϏϦςΟ࠶ઃܭ before ɹɹMetrics ɹɹEvents ɹɹLogs ɹɹTraces ɹafter ɹɹɹMetrics ɹɹɹEvents ɹɹɹLogs
ɹɹɹTraces
ΦϒβʔόϏϦςΟ࠶ઃܭ [before] ෦తʹMELT͕ ຬͨ͞Ε͍ͯΔঢ়ଶ ɾAWS Integration ɹMetrics & Events
ɾBrowser(Mobile)Agent ɹMetrics & Events ɾInfrastructure Agent ɹMetrics & Events
ΦϒβʔόϏϦςΟ࠶ઃܭ [after] MELT͕શͯ ຬͨ͞Ε͍ͯΔঢ়ଶ ɾAWS Integration ɹMetrics & Events
ɾCloudWatch Logs ɹto New Relic One ɹLogs ɾBrowser(Mobile)Agent ɹMetrics & Events ɾGo Agent ɹMetrics & Traces ɾInfrastructure Agent ɹMetrics & Events
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
New Relic Oneͷ׆༻ࣄྫ New Relic One Platform https://newrelic.com/jp/platform
ΞϓϦέʔγϣϯ ϞχλϦϯά (APM)
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ΞϓϦέʔγϣϯϞχλϦϯά (APM) ͱ • ϦΫΤετʙϨεϙϯεͷҰ࿈ͷॲཧΛՄࢹԽ • ΞϓϦέʔγϣϯͷύϑΥʔϚϯεΛՄࢹԽ ओͳ༻్
• ΞϓϦέʔγϣϯΤϥʔͷݪҼௐࠪ • APIΤϯυϙΠϯτͷύϑΥʔϚϯεܭଌ
ΞϓϦέʔγϣϯϞχλϦϯά (APM) import ( "github.com/newrelic/go-agent/v3/newrelic" "github.com/newrelic/go-agent/v3/integrations/nrecho-v3" ) func main() {
app, err := newrelic.NewApplication( newrelic.ConfigAppName("my test app"), newrelic.ConfigLicense("__YOUR_NEW_RELIC_LICENSE_KEY__"), ) } GoΞϓϦέʔγϣϯͷಋೖ
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ༨ஊ : Instant Observability (༷ʑͳIntegration)
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ಋೖ࣌ͷۤ࿑ • New Relic Go Agentͷಋೖ͕͠ΜͲ͍ ◦ ਖ਼֬ͳτϨʔεใΛٻΊΔ߹ɺ
ෳͷfunctionʹίʔυΛૠೖ͢Δඞཁ͕͋Δ ◦ ΫϦʔϯͳಋೖํ๏͕ग़ͨ߹ɺ ૠೖͨ͠ίʔυΛফ͢ඞཁ͕͋ΔͷͰʁ ◦ pprofΛ׆༻Ͱ͖ͳ͍͔ʁ nrseg (budougumi0617) https://github.com/budougumi0617/nrseg
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ղܾ • New Relic Go Agentͷಋೖ͕͠ΜͲ͍ ◦ ࣮func
main()ʹಋೖ͢Δ͚ͩͰ ͋Δఔͷσʔλ͕ಘΒΕΔࣄ͕໌ ◦ DBपΓͷτϨʔεޙରԠʹͨ͠ (ContextपΓͰՃͷ࣮͕ඞཁͳͨΊ)
APMͰݟΒΕΔใ (αϚϦʔ)
APMͰݟΒΕΔใ (Transaction)
APMͰݟΒΕΔใ (Go runtime)
APMͰݟΒΕΔใ (Errors)
APMͰݟΒΕΔใ (Errors)
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ಋೖͰಘΒΕͨޮՌ • APIͷύϑΥʔϚϯεվળʹܨ͕ͬͨ ◦ ͍APIͷϨΠςϯγ͕ՄࢹԽ͞Εͨ ◦ Ωϟογϡར༻Ͱվળ •
༏ઌతʹվળ͖͢ର͕໌֬ʹͳͬͨ ◦ APIผͷݺͼग़͠ճͱ࣮ߦ͕࣌ؒՄࢹԽ͞Εͨ • ΞϓϦέʔγϣϯΤϥʔͷௐ͕ࠪਝʹͳͬͨ ◦ ࠷ݶͷτϦΞʔδ͕Ͱ͖ΔΑ͏ʹͳͬͨ
ϒϥβ ϞχλϦϯά
ϒϥβϞχλϦϯά ϒϥβϞχλϦϯάͱ • ϒϥβܦ༝ͰͷΤϯυϢʔβʔϞχλϦϯά • RUM (Real User Monitoring) ओͳ༻్
• ΤϥʔͷݪҼௐࠪ • ϢʔβʔମݧͷѲ
ϒϥβϞχλϦϯά ಋೖ࣌ͷۤ࿑ • ίωΫςουTVͷಋೖ͕ͭΒ͔ͬͨ ◦ PageViewͰΧελϜΞτϦϏϡʔτ͕औಘͰ͖ͳ͍ ◦ ϖʔδϩʔυͷλΠϛϯά͕͍͠ ◦ ϑϩϯτΤϯυԿΘ͔Βͳ͍
ϖʔδϩʔυλΠϛϯάͷϓϩηε https://docs.newrelic.com/jp/docs/browser/new-relic-browser/page-load-timing-resources/page-load-timing-process/
ϒϥβϞχλϦϯά ղܾ • ίωΫςουTVͷಋೖ͕ͭΒ͔ͬͨ ◦ νʔϜϝϯόʔʹTVerͷSDKपΓͷରԠΛґཔ ◦ ࢲͷํͰNew Relicͷ༷֬ೝͱಈ࡞νΣοΫ ◦
PageViewͰͳ͘PageViewTimingΛݟΔํ
ϒϥβϞχλϦϯάͰݟΒΕΔใ (αϚϦʔ)
ϒϥβϞχλϦϯάͰݟΒΕΔใ (Session traces)
ϒϥβϞχλϦϯά ಋೖͰಘΒΕͨޮՌ • ϢʔβʔମݧͷѲʹܨ͛ΒΕͨ ◦ ࣮ࡍͷϢʔβʔʹ͍ۙϝτϦΫεΛݟΒΕΔ ◦ ϨΠςϯγͷมԽCore web vitalsͷνΣοΫ
• ΞϓϦέʔγϣϯΤϥʔͷௐ͕ࠪਝʹͳͬͨ ◦ ࠷ݶͷτϦΞʔδ͕Ͱ͖ΔΑ͏ʹͳͬͨ
ϞόΠϧ ϞχλϦϯά
ϞόΠϧϞχλϦϯά ϞόΠϧϞχλϦϯάͱ • ΞϓϦܦ༝ͰͷΤϯυϢʔβʔϞχλϦϯά • RUM (Real User Monitoring) ओͳ༻్
• ύϑΥʔϚϯεੳ • ΫϥογϡͷτϥϒϧγϡʔςΟϯά • ϢʔβʔମݧͷѲ
ϞόΠϧϞχλϦϯά ಋೖ࣌ͷۤ࿑ • ಈըϓϨΠϠʔͷϞχλϦϯάಋೖʹߤ ◦ New Relic Video Agentͷಋೖ ◦
࠷৽όΠφϦͰσʔλΛ֬ೝ͍ͯͨ͠
ϞόΠϧϞχλϦϯά ղܾ • ಈըϓϨΠϠʔͷϞχλϦϯάಋೖʹߤ ◦ σʔλνΣοΫ༻ͷμογϡϘʔυΛ࡞ɾڞ༗͠ɺ ਝʹνΣοΫͰ͖ΔΑ͏උ
ϞόΠϧϞχλϦϯάͰݟΒΕΔใ (αϚϦʔ)
ϞόΠϧϞχλϦϯάͰݟΒΕΔใ (Video Agent)
ϞόΠϧϞχλϦϯά ಋೖͰಘΒΕͨޮՌ • ಈըࢹௌपΓͷϢʔβʔମݧ͕ՄࢹԽ͞Εͨ ◦ ͕ࣗͨͪλονͰ͖ͳ͍৴SaaSपΓ ◦ ίϯςϯπଆͷͰ࠶ੜͰ͖ͳ͍ಈը • ΞϓϦέʔγϣϯͷΤϥʔௐ͕ࠪՄೳʹͳͬͨ
◦ ϝλใͱΫϥογϡঢ়گͷ࿈ܞ ◦ ࣗͨͪͰ؆୯ʹঢ়گΛੳ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
TVerʹ͓͚Δ ΦϒβʔόϏϦςΟ
·ͱΊ TVerʹ͓͚ΔΦϒβʔόϏϦςΟ࣮ݱ·ͰͷಓͷΓ • ࣮ݱͷ伴ςϨϝτϦʔσʔλͰ͋Δͱཧղ • ςϨϝτϦʔσʔλͷऔಘํ๏Λཧ • New Relic OneͰςϨϝτϦʔσʔλΛऩू
• ऩूͨ͠ςϨϝτϦʔσʔλΛཧɾੳ ·ͣσʔλΛऩू͠؍ଌͰ͖ΔΑ͏ʹ͢Δ
before ☐ ϢʔβʔମݧͷѲ ☐ Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ ☐ ൃੜ࣌ͷਝͳղܾ ☐ ϓϩΞΫςΟϒͳϞχλϦϯά ☐
SLI / SLOʹΑΔ৴པੑͷՄࢹԽ ·ͱΊ (ϞχλϦϯάपΓͷ՝) after ☑ ϢʔβʔମݧͷѲ ☑ Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ ☑ ൃੜ࣌ͷਝͳղܾ ☐ ϓϩΞΫςΟϒͳϞχλϦϯά ☐ SLI / SLOʹΑΔ৴པੑͷՄࢹԽ
·ͱΊ to be continued…
ࣗݾհ ɾՃզ وࢤ (@TAKA_0411) ɾגࣜձࣾTVer ɹࣄۀຊ෦ ٕज़։ൃ෦ (2022/1ʙ) ɾझຯαφͱΧϝϥͱήʔϜ ɾ͖ͳςϨϝτϦʔσʔλTrace
None