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
Practical Monitoring For Server Side Devs
Search
hideki kinjyo
PRO
March 20, 2019
Technology
0
640
Practical Monitoring For Server Side Devs
「サーバーサイドエンジニアこそ喜んで監視をやろうよ、良い事あるよ」という話をしました
hideki kinjyo
PRO
March 20, 2019
Tweet
Share
More Decks by hideki kinjyo
See All by hideki kinjyo
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
230
Composerの依存解決 #phpstudy
o0h
PRO
0
99
「影響が少ない」を自分の目でみてみる
o0h
PRO
3
1.6k
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
1.5k
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
23
5.1k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
10
3.6k
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
650
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
3
330
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
4
650
Other Decks in Technology
See All in Technology
HiMoR: Monocular Deformable Gaussian Reconstruction with Hierarchical Motion Representation
spatial_ai_network
0
110
Model Mondays S2E02: Model Context Protocol
nitya
0
220
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
260
5min GuardDuty Extended Threat Detection EKS
takakuni
0
140
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
480
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
960
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
210
本が全く読めなかった過去の自分へ
genshun9
0
290
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
0
150
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
180
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
730
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
260
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Navigating Team Friction
lara
187
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
GitHub's CSS Performance
jonrohan
1031
460k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
4 Signs Your Business is Dying
shpigford
184
22k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Transcript
ࢹͱฏ Connehito Marché vol.5 ʙPHPࢢʙ Hideki Kinjyo twitter: @o0h_ /
github: o0h
ࣗݾհ • ίωώτגࣜձࣾ • αʔόʔαΠυΤϯδχΞ • ओʹCakePHPͳͲ
ಥવͰ͕͢ʂ
͜͜ʹ1ͭͷάϥϑ͕͋Γ·͢ʂ ԿͰ͠ΐ͏ʁ
ࢲͷମॏͰͨ͠☺ ϛϧϛϧݮ͍ͬͯͬͨΜͰ͢Ͷ͐ʙ
(ΊͬͪΌ૫ͤͨΜ͢Α)
᩵Λམͱ͢ͷͬͯ େมͰ͢ΑͶʂ
ෆ҆ͱͷઓ͍͔ͩΒɻ ͳΜͰେมͳͷʁ
ڪාɺෆ҆ఆ ෆ҆ͱ
͔ΔྖҬΛ֦େ͢Δ = ʮෆ҆ʯʮ҆৺ʯ ཪΛฦͤ
ۚݴ: ʮਪଌ͢ΔͳɺܭଌͤΑɻʯ
ۚݴ: ʮਪଌ͢ΔͳɺܭଌͤΑɻʯ ݮྔಉ͡ʂ
ʮମॏΛߜΔʯͱɾɾ • ߴ͍ཧ • “અ੍”͕ળɺΈ͍ͨͳࢥ • ෆ͕҆͋ΓετϨε͕͋Δઓ͍ɾɾɾ
ʮମॏΛߜΔʯͱɾɾ • ߴ͍ཧ • “અ੍”͕ળɺΈ͍ͨͳࢥ • ෆ͕҆͋ΓετϨε͕͋Δઓ͍ɾɾɾ ਏ͘ͳ͍Ͱ͔͢ɾɾʁ
ࢲ͕ͬͨ͜ͱ ʮઁऔcalʯ ʔʮফඅcalʯ ܭଌ
ͳΜͰɺࢲ͕ݮྔΛ!? • ཧɾΰʔϧ Λ ໌֬ʹ͢Δɻ • ʮઁऔΧϩϦʔ - ӡಈྔʯΛ-1,500kcalʹอͭ •
ޮՌతͳܭଌ͕ʮͻͨ͢Βਏ͍ʯʹର͢ΔثʹͳΔ • ޮՌతͳKPI: KGI݁ͷϝτϦΫεͷઃఆ • ࡉ͔͍ϑΟʔυόοΫ: ΧϩϦʔऩࢧຖΘ͔Δɻ
ͳΜͰɺࢲ͕ݮྔΛ!? • ཧɾΰʔϧ Λ ໌֬ʹ͢Δɻ • ʮઁऔΧϩϦʔ - ӡಈྔʯΛ-1,500kcalʹอͭ •
ޮՌతͳܭଌ͕ʮͻͨ͢Βਏ͍ʯʹର͢ΔثʹͳΔ • ޮՌతͳKPI: KGI݁ͷϝτϦΫεͷઃఆ • ࡉ͔͍ϑΟʔυόοΫ: ΧϩϦʔऩࢧຖΘ͔Δɻ ʮܭଌՄೳʯͳঢ়ଶ͕ɺେ͖ͳ҆৺ײΛͨΒ͢
• ϓϩάϥϛϯάͱಉ͡Ͱ͢Ͷʁ • αʔϏεࢹͱಉ͡Ͱ͢Ͷʁ ͋ΕɺίϨͬͯɾɾʂ
ʮΘ͔Δʯ=ʮ҆৺ײʯ • ʮઁऔΧϩϦʔʯͱʮফඅΧϩϦʔʯΛΕ ɺϥʔϝϯා͘ͳ͍ • ʮαʔϏε͕ಈ͍͍ͯΔʯͱ͍͏֬৴͕ͯ ΕɺσϓϩΠා͘ͳ͍
ϥʔϝϯ৯ͨ͘ͳ͍Ͱ͔͢ʁ
͡Ό͋ʮࢹʯΛ ͍͖ͬͯ·͠ΐ͏Ͷɾɾʂ
(͜͜·Ͱલஔ͖)
ຊ͓͢Δ͜ͱ • ΈΜͳͰࢹΛΖ͏ • αʔόʔαΠυDevͱࢹ
PART1: ʮೖ ࢹʯΛಡΈ·ͨ͠ɻ
ʮೖ ࢹʯ • 1݄ʹग़ͨຊ • Ξϯνύλʔϯ = “͋Δ ͋Δ”ͱɺཱ͔͍ͪํ •
ྔతʹίϯύΫτͰɺ จষಡΈ͍͢˕
ձࣾͷϒϩάͰॻ͖·ͨ͠ʂ http://tech.connehito.com/entry/practical- monitoring
ͱʹ͔͘ɺίί͚͍ͩ͑ͨʂ ᶃ ࢹׂͰͳ͘εΩϧ ᶄ αʔϏε͕ಈ͍͍ͯΔ͔Λࢹ͢Δ ᶅ ࢹҭͯΔͷ
ᶃ ࢹׂͰͳ͘εΩϧ
ࢹ୭ͷͷ͔ʁ • ʮࢹ͢Δਓʯɺ ʮࢹʯͰʮΠϯϑϥΤϯδχΞʯͰͳ͍ • ʮαʔϏεͷશମɾࡉΛΔʯແཧʂ • օ͕ͦΕͧΕʮ͍ͬͯΔ͜ͱʯΛ ίϥϘϨʔγϣϯͰ͖ͨΒྑ͍ΑͶ •
։ൃɾӡ༻ʹܞΘΔશһ͕ࣗ͝ͱԽ͢Δɻ ʮ͕ࣗ࡞ͬͨͷʹର͢Δʯ
ݴ͍͍ͨ͜ͱΘ͔Δ͚Ͳ͞ʙ ʮࣗ͝ͱԽʯͬͯͶʙɻ ͦΕͬͯɺֆۭࣄ͡Όͳ͍ͷʙʁ ͏े͍͠ΜͰ͕͢ʔʂ
ר͖ࠐ͏ɻ
ʮશһࢹʯͷເ • ៉ྷࣄͱͯ͠ʮࣗͷ࡞͍ͬͯΔͷͳͷ ͔ͩΒɺ͔ͬ͠Γݟಧ͚Α͏ʂʯ • ͱ͍͑ɺʮࣄ͕͘͠ͳ͍ਓʯͳΜ͍ͯ ͳ͍͠ɺʮΒͳͯ͘ྑ͍ࣄԡ͚ͨ͠ ͍ʯɻ • Ͳ͏આಘͯ͠ר͖ࠐΉ͔ʁ
ʮΔ͖ཧ༝ʯΛ࡞Δͷͱɺ ʮΕΔΑ͏ʹ͢Δʯͷ͕ॏཁɻ
ࢹʹऔΓΉࢫຯ • ։ൃऀ͕1൪ͳͷɾɾɾ • োൃੜɺࠩ͠ࠐΈɺόάใࠂɺσόοά • ࢹʮϑΟʔυόοΫʯͱͯ͠ଊ͑Δ • ͲΜͳ࣌ʹαʔϏε͕ʮϠόΈʯΛᷰΒ͏ʁͷഽײ Λཆ͑Δ
• େ͖ͳোΛੜΉલʹ௵ͤΔͷଟ͍ɻ
ࢹʹऔΓΉࢫຯ • ։ൃऀ͕1൪ͳͷɾɾɾ • োൃੜɺࠩ͠ࠐΈɺόάใࠂɺσόοά • ࢹʮϑΟʔυόοΫʯͱͯ͠ଊ͑Δ • ͲΜͳ࣌ʹαʔϏε͕ʮϠόΈʯΛᷰΒ͏ʁͷഽײ Λཆ͑Δ
• େ͖ͳোΛੜΉલʹ௵ͤΔͷଟ͍ɻ (Ͳ͏ͤো͕ى͖ͨΒ͓લݺͼى͜͞ΕΔΜͩͧɾɾʂ)
ࢹʮεΩϧʯ • εΩϧ = τϨʔχϯάʹΑͬͯಘΒΕΔٕ๏
εΩϧͱʁεΩϧΞοϓͷํ๏ͱ׆༻๏ɺεΩϧΞο ϓͷඞཁੑͱ | LIMO | ͘Β͠ͱ͓ۚͷܦࡁϝσΟΞ https://limo.media/articles/-/6252
ࢹʮεΩϧʯ • ࠽ೳηϯεܦݧ͋Ε͍͍͕ɺ ͦΕ͕ͳͯ͘ѻ͑ΔΑ͏ʹɻଐਓԽɻ • ۩ମతʹɺʮͷΓ͚ํʯʮͦΕʹ ඞཁͳΞʔΩςΫνϟ૾ͷཧղʯʮπʔϧͷ ͍ํΞΫηεݖݶʯΛ༻ҙ͢Δ
ࢹʮεΩϧʯ • εΩϧ = τϨʔχϯάʹΑͬͯಘΒΕΔٕ๏ • ࠽ೳηϯεܦݧ͋Ε͍͍͕ɺ ͦΕ͕ͳͯ͘ѻ͑ΔΑ͏ʹɻଐਓԽɻ • ͷΓ͚ํɺͦΕʹඞཁͳΞʔΩςΫ
νϟ૾ͷཧղɺπʔϧͷ͍ํΞΫηεݖ ݶ ʮͰ͖ΔʯΑ͏ʹڭҭɾࢧԉΛ͑Δ
ᶄ αʔϏε͕ಈ͍͍ͯΔ͔Λ ࢹ͢Δ
ࢹͱ ʮಈ͍͍ͯΔ͔ʁʯͱ͍͏ • ࢹͱʹ͔͘ʮ؆୯ʯͰʮҙຯͷ͋Δʯ ͷ͕ྑ͍ • ڀۃతͳత ʮαʔϏε͕ಈ͍͍ͯΔ͜ͱʯΛ࢘Δ͜ͱ
ࢹσβΠϯͱΞϯνύλʔϯ • Good: Ϣʔβʔ؍ Ͱͷࢹ • ϦΫΤετΛૹ͔ͬͯΒε τϨεͳ͘ฦͬͯ͘Δ͔ʁ • σʔλͷߋ৽ࣦഊ͕ҟৗʹ
ੜ͍ͯ͡ͳ͍͔ʁ
ࢹσβΠϯͱΞϯνύλʔϯ • Bad: OSϨΠϠͷܗ ࣜతͳࢹ • DBͷCPU༻͕ߴ͍ <= ͰϦΫΤετॲཧ ͍ͬͯͳ͍
ࢹσβΠϯͱΞϯνύλʔϯ • Good: Ϣʔβʔ؍ Ͱͷࢹ • ϦΫΤετΛૹ͔ͬͯΒε τϨεͳ͘ฦͬͯ͘Δ͔ʁ • σʔλͷߋ৽ࣦഊ͕ҟৗʹ
ੜ͍ͯ͡ͳ͍͔ʁ • Bad: OSϨΠϠͷܗ ࣜతͳࢹ • DBͷCPU༻͕ߴ͍ <= ͰϦΫΤετॲཧ ͍ͬͯͳ͍ ϢʔβʔӨڹෳ߹ཁҼͰى͖Δɻ తΛ֬ೝ͠ɺΦΦΧϛগʹҙ͢Δ
ᶅ ࢹҭͯΔͷ
ࢹͷܧଓతվળ • ΞϥʔτʮਓΛୟ͖ى͜͢ʯͷɻ • ఆظతͳ୨Է͠Λߦ͓͏ɻ ʮ໐͚ͬͨͲଈ࣌ରॲ͠ͳ͔ͬͨʯͷɺ ϦετϥީิʹͳΔ
ࢹͷܧଓతվળ • αʔϏεৗʹҭͪɺγεςϜෳࡶʹͳͬ ͍ͯ͘ɻ Ͱ͋Εɺͣͬͱಉ͡ΓํͰ௨༻͢Δͱ͍ ͏ͷݬͰ͋Δ • πʔϧͷೖΕସؚ͑ΊͯɺʮޮՌతͳͷʯ Λࡧ͠ଓ͚ΔྗΛଵΒͳ͍
ࢹͷܧଓతվળ • ΞϥʔτʮਓΛୟ͖ى͜͢ʯͷɻ • ఆظతͳ୨Է͠Λߦ͓͏ɻ ʮ໐͚ͬͨͲଈ࣌ରॲ͠ͳ͔ͬͨʯͷɺϦετϥީิʹͳ Δ • αʔϏεৗʹҭͪɺγεςϜෳࡶʹͳ͍ͬͯ͘ɻ Ͱ͋Εɺͣͬͱಉ͡ΓํͰ௨༻͢Δͱ͍͏ͷݬͰ͋Δ
• πʔϧͷೖΕସؚ͑ΊͯɺʮޮՌతͳͷʯΛࡧ͠ଓ͚Δ ྗΛଵΒͳ͍ ࡞ͬͯऴΘΓʹ͠ͳ͍ʂ ࣮ࡍͷ݁ՌɺϝϯόʔͷϑΟʔυόοΫͰຏ͍͍ͯ͘
PART1: ʮೖ ࢹʯΛಡΈ·ͨ͠ɻ ʙऴʙ
PART2: ࢹʹ͓͚Δ αʔόʔαΠυͷظ
ࢹʮશһʯͰΔͷ
ઐੑΛ࣋ͪدͬͯɺ 1ͭͷෳࡶੑΛཧղ͢Δͷ͕ࢹ • ΠϯϑϥɺαʔόʔɺΫϥΠΞϯτɺɺɺͰ ʮҙ͍ࣝͯ͠Δ෦ʯ͕ҧ͏ • ͓ޓ͍͕ʮ͍ͬͯΔ͜ͱʯʹ͍ͭͯ ࣮ʹใڞ༗Ͱ͖Δͷ͕ཧ
WebαʔϏεͬͯෳࡶɾɾ
ʮ͓ʙ͍ʂϖʔδද͕ࣔॏ͍Αʙʂʯ
ʮ͓ʙ͍ʂϖʔδද͕ࣔॏ͍Αʙʂʯ ʮϢʔβʔࢹʯͰࢹΛ࢝Ίɺ ʮෳ߹ཁҼʯΛղ͖΄͙͢ඞཁ͕͋Δ
ʮ͍ͬͯΔ͜ͱʯ͕ҟͳΔ • ΠϯϑϥʮDB͕ෆௐʁʯʮappΠϯελϯε མͪͯΔʁʯ • αʔόʔʮ͖ͬ͞ग़ͨ͠API͕ѱ͍ৼΔ͍͠ ͯΔʁʯ • ϑϩϯτʮϦΫΤετͷϒϩοΫ͕ൃੜͯ͠ Δʁʯ
োͷରԠʹɺ ਝͳՕॴͷಛఆ͕ඞਢɻ େࣄͳ͜ͱ
αʔόʔαΠυɺ खલͱཪଆͷʮதؒʯͱͯ͠ͷ͕ࣝ͋Δ
զʑ͔ͩΒ͔Δ͜ͱ • ΫϥΠΞϯτͷड৴༰͕มʁ • ͖ͬ͞ग़ͨ͠ϩδοΫɺ͜ΜͳʹΩϟογϡ ͷϛεώοτ͠ͳ͍ͣͩͧʁ • ϝϞϦΛͨΒ৯ͬͯΔʁࠓ·Ͱʹͳ͔ͬͨ ߘ͕࡞͞Ε͔ͨʁ
զʑ͔ͩΒ͔Δ͜ͱ • ΫϥΠΞϯτͷड৴༰͕มʁ • ͖ͬ͞ग़ͨ͠ϩδοΫɺ͜ΜͳʹΩϟογϡ ͷϛεώοτ͠ͳ͍ͣͩͧʁ • ϝϞϦΛͨΒ৯ͬͯΔʁࠓ·Ͱʹͳ͔ͬͨ ߘ͕࡞͞Ε͔ͨʁ ʮϏδωεϩδοΫ×λονϙΠϯτʯͱ͍͏ࢹ
αʔόʔαΠυ͕ ʮࢹʯͷ࠷લઢʹཱͭͱɺ ΊͪΌͪ͘Όݱঢ়ཧ͕ૣ͘ͳΔɾɾʂ (ܦݧऀஊ) ͭ·Γʂ
PART2: αʔόʔαΠυͷظ ʙऴʙ
·ͱΊʂ
ຊ͓ͨ͜͠ͱ ᶃ ʮೖ ࢹʯྑॻɺະಡͷํͥͻʂ ᶄ ࢹා͘ͳ͍ɺ Ή͠Ζʮ҆৺Ͱ͖Δʯհॿ ᶅ ͱΓΘ͚ɺαʔόʔαΠυͷਓ ࢹʹऔΓΉͱ໘ന͍ͱࢥ͍·͢Αɾɾɾʂ
#ajitofm ep.42 https://ajito.fm/42/ TDDຊͱೖࢹ༁ऀΛܴ͑ͯͷձஊɻ ໘ന͘ͳ͍Θ͚͕ͳ͍ɾɾʂ͓͢͢Ίɻ ͪͳΈʹ
͓͖߹͍͍͖ͨͩ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ