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
610
Practical Monitoring For Server Side Devs
「サーバーサイドエンジニアこそ喜んで監視をやろうよ、良い事あるよ」という話をしました
hideki kinjyo
PRO
March 20, 2019
Tweet
Share
More Decks by hideki kinjyo
See All by hideki kinjyo
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
17
4.1k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.5k
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
570
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
3
290
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
4
570
SPLから始める「データ構造」入門
o0h
PRO
7
1.9k
PHPUnit11の新しい仲間たち
o0h
PRO
3
430
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
62
21k
パンフ記事 「初めてのリファクタリング!」 の裏側 #phperkaigi
o0h
PRO
2
180
Other Decks in Technology
See All in Technology
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
340
OPENLOGI Company Profile for engineer
hr01
1
20k
AIエージェント元年@日本生成AIユーザ会
shukob
1
230
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5k
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.6k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
160
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
110
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
310
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.1k
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
630
Featured
See All Featured
Music & Morning Musume
bryan
46
6.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
520
The Language of Interfaces
destraynor
156
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The World Runs on Bad Software
bkeepers
PRO
67
11k
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ຊͱೖࢹ༁ऀΛܴ͑ͯͷձஊɻ ໘ന͘ͳ͍Θ͚͕ͳ͍ɾɾʂ͓͢͢Ίɻ ͪͳΈʹ
͓͖߹͍͍͖ͨͩ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ