【freee × プレイド】Tech Meetup 〜インフラ監視編〜
KARTEΛࢧ͑ΔϚϧνϓϥοτϑΥʔϜΠϯϑϥࢹ@ikemonn
View Slide
@ikemonnΠϯϑϥΤϯδχΞ201511݄ʹjoin
࣍1. αʔϏεͷհ2. ࢹͷత3. Πϯϑϥߏ4. ࢹͷํ๏5. Ξϥʔτ6. ϋϚͬͨ͜ͱ7. ·ͱΊ
Σϒ٬ϓϥοτϑΥʔϜKARTEΛ։ൃ͍ͯ͠·͢
ΠϯϑϥΤϯδχΞ2ਓ
ʮશһͰյ͠ͳ͕ΒਐΉʯͱ͍͏จԽΛࢧ͑Δ
Startup։ൃεϐʔυ͕ॏཁ
৽͍͠αʔϏεɺݴޠΛੵۃతʹಋೖͰ͖ΔΑ͏ʹ
ރΕٕͨज़Ͱͳ͍ͷͰɺใ͕͋·Γݟ͔ͭΒͳ͍
ଟগͷࣦഊڐ༰&ࣦഊͨ࣌͠ʹ͙͢ؾ͚Δ
ʮશһͰյ͠ͳ͕ΒਐΉʯจԽΛࢧ͑ΔͨΊʹࢹͷڧԽ !
ϚϧνϓϥοτϑΥʔϜ৽͍͠αʔϏεͷੵۃར༻
ࢹํ๏
ผϓϥοτϑΥʔϜͷΠϯελϯεಉ࢜ͷϝτϦοΫൺֱ͍֤ͨ͠ϓϥοτϑΥʔϜʹґଘͨ͠ϝτϦοΫૹ৴ͷίʔυΛॻ͖ͨ͘ͳ͍■Πϯϑϥଆͷ՝■ΞϓϦଆͷ՝
CloudWatch৭ʑͳཧը໘Λݟͨ͘ͳ͍http://www.irasutoya.com/2016/06/blog-post_147.htmlhttps://support.draw.io/pages/viewpage.action?pageId=1671326https://en.wikipedia.org/wiki/File:Google_Stackdriver_logo.svghttps://www.runscope.com/
جຊతʹDatadogͰҰݩཧ
ԿΛࢹ͢Δͷ͔ʁ
σʔλͷૹ৴ݩ σʔλͷૹ৴ઌ ௨ઌCloudWatchDatadog Agentlibraryagenthttps://www.datadoghq.com/https://nz.pinterest.com/pin/296393219208794919/https://bugsnag.com/https://logdna.com/https://www.pagerduty.com/resources/logo/
Πϯϑϥͷࢹ
σʔλͷૹ৴ݩ σʔλͷૹ৴ઌ ௨ઌCloudWatchDatadog Agentlibraryagent
• CPU• Memory• Load Average• Disk Usage• Disk I/O• Network I/OCloudWatchDatadog Agent
CloudWatch
ΞϓϦέʔγϣϯͷࢹ
• ղੳͨ͠Πϕϯτ(ࠓɺࡢɺҰिؒલɺҰϲ݄લ)• Ͳͷ͓٬༷͔ΒͷΠϕϯτ͕ଟ͍͔• ղੳ༻ʹཷ·͍ͬͯΔΩϡʔͷ• λΠϜΞτͷׂ߹• ֤ॲཧʹ͔͔͍ͬͯΔ࣌ؒ• ϨεϙϯελΠϜ• ΞϓϦέʔγϣϯͷόά• Τϥʔϩά
var dogstatsd = require('libs-dogstatsd')const stats = dogstatsd.start();// some methodstats.tick(‘test’, 1, 1, [pid:1234]);libs-dogstatsd(A wrapper library of node-dogstatsd)࣮ߦ࣌ؒॲཧճΛDatadogʹૹ৴Ͱ͖Δϥούʔhttps://github.com/makinoy/libs-dogstatsd/
Ͳ͏ͬͯࢹ͍ͯ͠Δͷ͔ʁ
LayerΛ͚ͯDashboardΛ࡞
• Layer1: KARTE͕ੜ͖͍ͯΔ͔• Layer2: ॏཁͳϝτϦοΫ• Layer3: ֤roleͷৄࡉϝτϦοΫ• (Layer4: ΠϯελϯεຖͷϝτϦοΫ)
Ұݩཧ͢Δ͜ͱυϦϧμϯͯ͠Λ͍͚ͬͯΔ͜ͱ
جຊతʹΞϥʔτDatadogͰҰݩཧ͢Δ
ϝτϦοΫ τϦΨʔ ௨ઌMCMᮢҟৗ■Πϯϑϥ
ϝτϦοΫ τϦΨʔ ௨ઌᮢҟৗ■ΞϓϦέʔγϣϯᮢ
ҟৗݕग़͕ศར
1.ϞχλϦϯάπʔϧͷྉ͔͔ۚΓ͗͢
ɾΠϯελϯεͷىಈGCPʹൺ͍ͯɾASΛ͏ͱҰʹىಈ/ऴྃ͢ΔΛઃఆͰ͖ΔɾΠϯελϯεͷىಈAWSʹൺͯૣ͍ɾASͰىಈ/ऴྃ͢Δͪ͜ΒͰઃఆͰ͖ͳ͍ɾͨ͠ϗετ͋ͨΓ$18/ɾΛ͑Δͱ1͋ͨΓ$0.03/hr
AutoScaler͕ҰؾʹΠϯελϯεΛ૿ͯ͠ɺҰؾʹΠϯελϯεΛݮΒ͢ͱ͍͏ڍಈΛྑ͘͢ΔDatadog Agent͕ىಈͨ͠Πϯελϯε͕ܹ૿GCPΛ͍࢝Ί͔ͯΒલ݄ͷྉۚͷ2ഒΛ͑Δྉ͕ۚٻ͞ΕΔ"#αϙʔτʹ૬ஊͯ͠࠷దͳ՝ۚମܥΛఏҊͯ͠Β͍ɺ$1000Ҏ্҆͘ͳͬͨ$
ΠϯελϯεͷಛੑͱࢹαʔϏεͷ՝ۚମܥΛ͔ͬ͠ΓѲ͓ͯ͘͠ʂ
2. ϝτϦοΫૹ৴λΠϛϯά͕ఆͱҧ͏
Քಇ͍ͯ͠ΔΠϯελϯεͷ͕ຖૹΒΕ͍ͯΔΑ͏ʹݟ͑Δ%
೦5ຖͰͨ͠ʂ&ΞϥʔτΛֻ͚ͯؾͮ͘ͷ͕5ޙ'
ϝτϦοΫͷૹ৴සΛѲ͓ͯ͘͠ʂ
1. σʔλΞϥʔτҰݩཧ͢Δ2. υϦϧμϯͯ͠Λ͍͚ͬͯΔΑ͏ʹ͢Δ3. ֤ϓϥοτϑΥʔϜͷಛੑͱɺࢹπʔϧͷ՝ۚମܥΛѲ͢Δ4. ΠϯςάϨʔγϣϯϝτϦοΫͷૹ৴සΛѲ͢Δ
ࠓޙ
1. DatadogʹΞϥʔτΛ·ͱΊΔ2. Datadog͕SPOFʹͳ͍ͬͯΔ݅Λ࠶ݕ౼͢Δ3. ࢹઃఆͷexportΛ͍ͨ͠
ΤϯδχΞืूதͰ͢ʂ