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
TVer Inc.
PRO
March 11, 2022
Technology
2
870
月間動画再生数2億回を支える TVerのオブザーバビリティ
2022/03/11
Observability Conference 2022
イベントURL :
https://event.cloudnativedays.jp/o11y2022
TVer Inc.
PRO
March 11, 2022
Tweet
Share
More Decks by TVer Inc.
See All by TVer Inc.
採用人事の立場で行う採用広報・技術広報の裏側 〜TVerがエンジニア採用を本格化するために継続し続けたこと〜
techtver
PRO
0
50
株式会社TVer 会社紹介資料
techtver
PRO
8
32k
採用人事の立場から、採用広報の立ち上げや技術広報の促進をしている話
techtver
PRO
0
530
バックエンドで頑張るSEO/OGP対策
techtver
PRO
0
760
iOSエンジニア不在でもサービスを改善したい!配信サービスのiOSアプリにおける オブザーバビリティの導入と改善
techtver
PRO
0
1.5k
配信サービスを作るなら視聴者の体験も可視化してみませんか?
techtver
PRO
2
2.1k
TVer の月間ユニークブラウザ数 2700 万のサービスを支える統合ログ基盤の開発
techtver
PRO
0
1.7k
TVerにおけるインターネット配信の視聴体験とパフォーマンス安定化への取り組み
techtver
PRO
0
1.4k
Amazon OpenSearch Serviceで 構築するTVerの次世代検索基盤
techtver
PRO
0
990
Other Decks in Technology
See All in Technology
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
240
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
170
ServiceNow Knowledge Learning Rise up
manarobot
0
210
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
320
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
390
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
250
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
110
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
380
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
689
190k
Six Lessons from altMBA
skipperchong
21
3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
How STYLIGHT went responsive
nonsquared
92
4.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Thoughts on Productivity
jonyablonski
58
3.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Bash Introduction
62gerente
604
210k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
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