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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
TVer Inc.
PRO
March 11, 2022
Technology
1.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
月間動画再生数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
140
Pub/Sub で実装するワーカープールパターン - BigQuery リバースETLジョブの並行数制御-
techtver
PRO
0
130
株式会社TVer 会社紹介資料
techtver
PRO
9
120k
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
2.8k
Feature Flagを定義から削除まで 安全に行うために考えたこと
techtver
PRO
0
3.6k
4100万ユーザーを支えるTVer iOSアプリ開発 〜0人から始まったチームのAI活用による挑戦〜
techtver
PRO
1
2.7k
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
1.3k
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
160
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
820
Other Decks in Technology
See All in Technology
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
220
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
1.7k
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
19
6.5k
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
130
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.1k
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
190
Claude Codeをどのように キャッチアップしているか
oikon48
1
980
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
230
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
120
地球に⽣きるAI —GeoAIと「中間領域」— / AI Living on Earth — GeoAI and the “Intermediate Layer” —
ykiyota
0
280
攻撃者視点で考えるDetection Engineering
cryptopeg
1
1.1k
200個のGitHubリポジトリを横断調査したかった
icck
0
110
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Facilitating Awesome Meetings
lara
57
7k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Amusing Abliteration
ianozsvald
1
200
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
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