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
簡略化したネットワーク依存関係グラフの可視化基盤 / Simplified network d...
Search
Yuuki Tsubouchi (yuuk1)
November 17, 2018
Research
2
22k
簡略化したネットワーク依存関係グラフの可視化基盤 / Simplified network dependency graph visualization
第3回Web System Architecture研究会@東京
Yuuki Tsubouchi (yuuk1)
November 17, 2018
Tweet
Share
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
AIスーパーコンピュータにおけるLLM学習処理性能の計測と可観測性 / AI Supercomputer LLM Benchmarking and Observability
yuukit
1
450
SREはサイバネティクスの夢をみるか? / Do SREs Dream of Cybernetics?
yuukit
3
300
SREのためのテレメトリー技術の探究 / Telemetry for SRE
yuukit
13
2.7k
AIスパコン「さくらONE」の オブザーバビリティ / Observability for AI Supercomputer SAKURAONE
yuukit
2
1.1k
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
2
930
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
5.2k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1.6k
クラウドのテレメトリーシステム研究動向2025年
yuukit
4
1.1k
博士論文公聴会: Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining / PhD Defence
yuukit
1
450
Other Decks in Research
See All in Research
SkySense V2: A Unified Foundation Model for Multi-modal Remote Sensing
satai
3
300
言語モデルの地図:確率分布と情報幾何による類似性の可視化
shimosan
8
2.4k
生成AIとうまく付き合うためのプロンプトエンジニアリング
yuri_ohashi
0
110
長期・短期メモリを活用したエージェントの個別最適化
isidaitc
0
380
Remote sensing × Multi-modal meta survey
satai
4
670
令和最新技術で伝統掲示板を再構築: HonoX で作る型安全なスレッドフロート型掲示板 / かろっく@calloc134 - Hono Conference 2025
calloc134
0
470
「リアル×スキマ時間」を活用したUXリサーチ 〜新規事業を前に進めるためのUXリサーチプロセスの設計〜
techtekt
PRO
0
230
ACL読み会2025: Can Language Models Reason about Individualistic Human Values and Preferences?
yukizenimoto
0
110
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
470
Aurora Serverless からAurora Serverless v2への課題と知見を論文から読み解く/Understanding the challenges and insights of moving from Aurora Serverless to Aurora Serverless v2 from a paper
bootjp
6
1.3k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
270
EarthDial: Turning Multi-sensory Earth Observations to Interactive Dialogues
satai
3
540
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
[SF Ruby Conf 2025] Rails X
palkan
0
660
HDC tutorial
michielstock
1
290
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
80
Are puppies a ranking factor?
jonoalderson
0
2.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
KATA
mclloyd
PRO
33
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
76
Transcript
؆ུԽͨ͠ ωοτϫʔΫґଘؔάϥϑ ͷՄࢹԽج൫ id:y_uuki, id:masayoshi, ͯͳ 2018/11/17 ୈ3ճ Web System
Architectureݚڀձ@౦ژ
࣍ 1. എܠͱత 2. ఏҊख๏ 3. ·ͱΊ
1. എܠͱత
എܠ • ωοτϫʔΫґଘؔͷෳࡶԽ • 10୯ҐͷαʔϏεͷظӡ༻ͷؒʹॏͳΔ૿ங • ϚΠΫϩαʔϏεͳͲͷۙͷτϨϯυมԽ • γεςϜཧऀ͕هԱͰ͖ͳ͍ݸʑͷ௨৴ͷґଘؔ •
Өڹൣғ͕Θ͔Βͳ͍ͨΊɺมߋͷͨͼʹґଘؔΛ ௐࠪ͢Δඞཁ͕ൃੜ
ઌߦख๏ • ϑΝΠΞΥʔϧͷϩΪϯάػߏύέοτΩϟϓνϟ • TCP/UDP௨৴ϩάΛूܭαʔόʹసૹ͠ґଘՄࢹԽ • ωοτϫʔΫεΠον͔Βͷ౷ܭใऔಘ (sFlow/NetFlowͳͲ) • αΠυΧʔϓϩΩγΞϓϦέʔγϣϯϩά
(ࢄτϨʔγϯά)
֤ઌߦख๏ͷ՝ • ϑΝΠΞΥʔϧϩΪϯά(iptables) • a) ύέοτϨΠςϯγ͕૿Ճ • ύέοτΩϟϓνϟ(tcpdump) • b)
ύέοτશମΛऩू͢ΔͨΊɺऩू·ͨղੳͷͨΊͷෛՙͷ૿Ճ • sFlow/NetFlow • c) αϯϓϦϯά͞ΕΔͨΊґଘཏ͕Լ • ΞϓϦέʔγϣϯ(L7)ͰͷϦΫΤετ୯ҐͷϩΪϯά • d) ΞϓϦέʔγϣϯͷมߋ͕ඞཁ
ઌߦख๏શମͷ՝ • e) ऩूσʔλ͕ґଘؔΛΔ͚ͩʹ͕ͯ͠ଟ͘ • ύέοτɺTCPଓɺϦΫΤετ୯Ґͷใ • ྫ͑ΤϑΣϝϥϧϙʔτͷଓใͳͲ • f)
ґଘؔάϥϑߏͷෳࡶԽ • ෛՙࢄͳͲʹΑΓϗετ͕૿Ճͨ͠߹ʹϊʔυͱΤο δͷݸ͕૿͑Δ
2. ఏҊख๏
ཁ݅ • 1)ΞϓϦέʔγϣϯੑೳʹӨڹΛ༩͑ͳ͍ଓใͷऩूՄೳ (՝ a),b),c)) • ݱ࣮తͳਫ਼Ͱଓใͷऩूཱ྆ • 2)ΞϓϦέʔγϣϯͷมߋෆཁͰऩूՄೳ (՝d)
• 3)ूԽ͞Εͨϊʔυ୯ҐͰՄࢹԽՄೳ (՝e) • 4)ϗετ୯ҐͰͳ͘ϗετͷෳάϧʔϓ୯ҐͰՄࢹԽՄೳ ՝ f) • 5)ҙͷ࣌ؒൣғͰͷґଘؔΛग़ྗՄೳ
ఏҊख๏ • ΞϓϦέʔγϣϯͷมߋෆཁͳωοτϫʔΫ௨৴ใͷऩू (ཁ݅2) • OSʹ͍߹ΘͤऔಘՄೳͳTCPଓใΛར༻ • ΞϓϦέʔγϣϯੑೳʹӨڹΛ༩͑ͳ͍TCPଓใͷऩू (ཁ݅1) •
OS͕ͭෛՙͰऔಘՄೳͳTCPଓͷ౷ܭใΛར༻ • ूԽ͞ΕͨΤοδͱϊʔυ୯ҐͰՄࢹԽՄೳ • Τοδ: ಉҰϗετ͔ͭಉҰϦοεϯϙʔτͷTCPଓू (ཁ݅3) • ϊʔυ: αʔόཧπʔϧͷAPIͱ࿈ܞՄೳ (ཁ݅4) • ίωΫγϣϯཧDBʹूԽ͞ΕͨTCPଓΛ͖࣌ؒͰཧՄೳ (ཁ݅5)
ϗετϑϩʔू • Τοδ: ಉҰϗετ͔ͭಉҰϦοεϯϙʔτͷTCPଓू • Τοδͷҹͷ͖: TCPͷΞΫςΟϒΦʔϓϯͱύογϒΦʔϓϯͰఆ port 80 port
3306 port 10000 port 10001 port 10002 port 15000 port 15001 port 15002 ϗετϑϩʔ ϗετϑϩʔ Host Host
ϗετϑϩʔूͷ࣮ • 1. Netlink APIʹΑΓTCPଓใΛऔಘ͢Δ • 2. LISTENεςʔτͷଓͷϩʔΧϧϙʔτͷΈநग़ • 3.
1.ͱ2.Λಥ͖߹Θͤɼଓઌϙʔτ͕ϦοεϯϙʔτͰ͋Ε ΞΫςΟϒΦʔϓϯɼͦΕҎ֎ͷଓύογϒΦʔϓϯͱ ఆ͢Δɽ
send agent agent CMDB Host Host agent Host analyzer sysadmin
get get ఏҊख๏ͷશମϑϩʔ֓ཁ
send agent agent Postgres Host Host agent Host CLI sysadmin
get get ఏҊख๏ͷશମϑϩʔ֓ཁ Mackerel get
CMDBͷεΩʔϚ • nodesςʔϒϧ: ϊʔυใ • IDͱIPΞυϨεͱϙʔτ൪߸ • flowsςʔϒϧ: ϗετϑϩʔใ •
IDͱ͖ͱૹ৴ݩͱૹ৴ઌͷͦΕͧΕͷϊʔυID
Mackerel APIʹΑΔෳϊʔυͷάϧʔϓԽ • ͋Β͔͡Ί֤ϗετΛMackerelʹొ͠ɺෳ͞Εͨϗετ܈Λ1 ͭͷϩʔϧʹ·ͱΊ͓ͯ͘ • MackerelΛར༻ͨ͠ෳϊʔυͷάϧʔϓԽखॱ • analyzer͕CMDB͔ΒϊʔυΛऔಘ •
Mackerel APIʹΑΓϗετใҰཡΛऔಘ֘͠ϊʔυͷIPΞυ ϨεͰϑΟϧλ • ಉҰϩʔϧͷϊʔυΛάϧʔϓԽ
github.com/yuuki/mftracer $ mftctl --level 2 --dest-service blog --dest-roles redis --dest-roles
memcached blog:redis ᵋ<-- 10.0.0.22:many (connections:30) ᵋ<-- 10.0.0.23:many (connections:30) ᵋ<-- 10.0.0.24:many (connections:30) ᵋ<-- 10.0.0.30:many (connections:1) ᵋ<-- 10.0.0.31:many (connections:1) ᵋ<-- 10.0.0.25:many (connections:30) blog:memcached ᵋ<-- 10.0.0.23:many (connections:30) ᵋ<-- 10.0.0.25:many (connections:30)
্࣮ͷ՝ • ωοτϫʔΫτϙϩδͷ॥ʹର͢Δߟྀ • Ϋϥυࣄۀऀ͕ఏڙ͢ΔϚωʔδυαʔϏεΛར༻͍ͯ͠Δ ߹ɼIPΞυϨε͔Β࣮ମΛͨͲΔ͜ͱͷࠔ • ͋ΔಛఆͷϊʔυΛࢦఆ͠ɼࢦఆͨ͠ϊʔυ”͔Β”ଓ͢Δ ϊʔυҰཡΛऔಘ͢Δ࣮ (ٯՄೳ)
• ࣌ؒൣғΛࢦఆͨ͠ґଘؔͷऔಘ • ݱࡏ͔Βաڈͯ͢ͷґଘؔΛऔಘ͢ΔΑ͏ʹͳ͍ͬͯΔ
3. ·ͱΊ
·ͱΊ • γεςϜཧऀ͕ݸʑͷωοτϫʔΫґଘؔΛهԱͰ͖ͳ͍ • ΞϓϦέʔγϣϯΛมߋͤͣʹɼΞϓϦέʔγϣϯʹӨڹΛ༩ ͑Δ͜ͱͳ͘ɼదͳநͰใΛऔಘՄೳͳґଘؔղੳ γεςϜ
ࠓޙͷ՝ • αʔϕΠ • ֤ωοτϫʔΫͰઌߦݚڀ͕͋ΔͨΊɺຊݚڀͷཱͪҐஔΛ໌֬Խ • ධՁ • ϑΝΠΞΥʔϧϩΪϯάͱύέοτΩϟϓνϟͷϨΠςϯγ૿େͷධՁ •
ͯ͢ͷଓใΛऔಘͰ͖ΔΘ͚Ͱͳ͍ͨΊɼଓใͷऔಘΛ֬ ೝ͠ɼ࣮ӡ༻ʹ͓͍ͯɼेͳਫ਼Ͱ͋Δ͜ͱΛ֬ೝ • ల • ಉ͡Α͏ͳ௨৴Λ͍ͯ͠ΔϗετΛΫϥελϦϯάਪఆ • ίϯςφܕԾԽڥͰͷґଘؔͷղੳͷൃల