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
660
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
430
Composerの依存解決 #phpstudy
o0h
PRO
0
120
「影響が少ない」を自分の目でみてみる
o0h
PRO
3
1.7k
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
1.6k
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
22
5.2k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
3.9k
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
690
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
3
360
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
4
700
Other Decks in Technology
See All in Technology
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
280
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
160
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
550
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
930
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
830
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
370
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.2k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
540
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.9k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Rails Girls Zürich Keynote
gr2m
95
14k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Six Lessons from altMBA
skipperchong
28
4k
Visualization
eitanlees
148
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Navigating Team Friction
lara
189
15k
Git: the NoSQL Database
bkeepers
PRO
431
66k
How GitHub (no longer) Works
holman
315
140k
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ຊͱೖࢹ༁ऀΛܴ͑ͯͷձஊɻ ໘ന͘ͳ͍Θ͚͕ͳ͍ɾɾʂ͓͢͢Ίɻ ͪͳΈʹ
͓͖߹͍͍͖ͨͩ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ