Mackerel Meetup #8

Mackerel Meetup #8

新機能「メタデータ」がもたらす 次世代のインフラマネジメントについて

Fc8163b687f0db1b9d41a57e5b607025?s=128

Hiromichi Sugiyama

October 17, 2016
Tweet

Transcript

  1. Mackerel Meetup #8 17 Oct 2016 ৽ػೳʮϝλσʔλʯ͕΋ͨΒ͢ ࣍ੈ୅ͷΠϯϑϥϚωδϝϯτʹ͍ͭͯ Hatena Co.,

    Ltd. Hiromichi Sugiyama
  2. Hiromichi Sugiyama / ਿࢁ ޿௨ גࣜձࣾ͸ͯͳ αʔϏεɾγεςϜ։ൃຊ෦ .BDLFSFMνʔϜ ϓϩσϡʔαʔ ܦྺ

     େख੡଄ۀͷ*5ࣄۀձࣾ  େن໛؀ڥͰͷΠϯϑϥΤϯδχΞ  ΦʔϓϯιʔεͷϞχλϦϯάπʔϧ  4BB4γεςϜ  *5*-ϕʔεͷαʔϏεϚωδϝϯτ  ͸ͯͳͰ.BDLFSFMࣄۀ΁ܞΘΔ sugiyama88@hatena.ne.jp
  3. 1 ֓ཁͱ࠷ۙͷτϐοΫ

  4. Mackerelͱ͸ʁ • "SaaSܕ"αʔόʔ؂ࢹαʔϏε • ΤϯδχΞ͕ཉ͔ͬͨ͠zϫΫϫΫz͢ΔΑ ͏ͳػೳΛఏڙ͠ɺѹ౗తͳzޮ཰ԽzΛ࣮ݱ • ͸ͯͳͷओྗαʔϏεΛ͑͞͞ଓ͚͖ͯͨ ʢ࠷ߴͷυοάϑʔσΟϯάʣ

  5. ΞʔΩςΫνϟʔ • ΤʔδΣϯτ͔Β ϝτϦοΫΛ౤ߘ )5514 3&45"1*

  6. ௚ײతͳϢʔβʔମݧ

  7. ؆୯ʹ௚͙͸͡ΊΒΕΔ • ΨΠυʹै͏͚ͩ • ͨͬͨ਺෼ mackerel-agent written in Golang

  8. ࠷খͷϧʔϧ͕࠷ߴͷརศੑΛ • ΤʔδΣϯτΛ্ཱͪ͛Δ͚ͩͰ • ࣗಈతʹ؂ࢹ͕࢝·Γ • ಉ͡ϩʔϧͷϗετ͸ಉ͡άϥϑ΁

  9. ৗʹਐԽ͠ଓ͚ΔαʔϏε 毎週新機能のリリースを継続中 陳腐化せず常に進化 ि࿈ଓ

  10. બ͹ΕΔཧ༝ • ಋೖʗUI͕؆୯Ͱ෼͔Γ΍͍͢ • ։ൃεϐʔυʢຖिϦϦʔεʣ • ϚϧνΫϥ΢υͰ࢖͑Δ • ೔ຊޠαϙʔτ͕ॆ࣮ •

    ૊Έ߹ΘͤͯDevOpsͷத֩ͱͯ͠׆༻Ͱ͖Δ
  11. αʔϏεϓϥϯ

  12. ਖ਼ࣜϦϦʔε͔Β̎प೥ʂ 2014.9.17ʙ

  13. ʮLINE NotifyʯॳظରԠαʔϏεʹ • LINE Developer Day 2016 Ͱ঺հ͞Ε·ͨ͠ https://business.line.me/en/news/20050439 http://linedevday.linecorp.com/jp/2016/

  14. Hands-On SeminarΛఆظ։࠵ • ΑΓͨ͘͞Μͷํʑ΁Mackerelͷྑ͞Λମݧ ͯ͠௖͘৔ॴΛఏڙ • ݄̎ճͷ։࠵Λ༧ఆ

  15. 2 Φεεϝػೳʢ6બʣ

  16. 1.ଟ࠼ͳΞϥʔτ௨஌ • νϟοτ΁ͷάϥϑ෇͖௨஌ Slack, HipChat, TypeTalk, Yammer, New! LINE Slack

    Yammer LINE API Call SMS • NEWʂSMS΍ి࿩ՍిͰ௨஌ʢTwilioʣ ۙ೔ϦϦʔε
  17. 2.URL֎ܗ؂ࢹ • ར༻ऀࢹ఺ͷ)551)5514؂ࢹ • ϨεϙϯελΠϜɾεςʔλείʔυɾΩʔϫʔυɾ44-ূ໌ॻ • /FX ΧελϜϔομ Web Service

    URL ۙ೔ϦϦʔε
  18. 3.؂ࢹϧʔϧͷίʔυԽ • zInfrastructure as Codez • mkr monitor diff/pull/push •

    JSONܗࣜͰϧʔϧΛѻ͏ • ؂ࢹϧʔϧΛGitͰ؅ཧ͢Δ͜ͱ΋
  19. 4. AWS Integration • AWS CloudWatch API͔Β༷ʑͳϝτϦοΫ΍Πϕ ϯτΛऔಘ͠ՄࢹԽ • 1୆ͷϗετͱͯ͠؅ཧ

    • EC2,ELB,RDS,ElastiCache͔Βॱ֦࣍େத API Amazon CloudWatch Amazon RDS Amazon ELB
  20. • ̎ஈ֊ೝূͷαϙʔτ • ϦʔυΦϯϦʔϢʔβʔ • AWS Integration AssumeRoleରԠ • New!

    IPΞυϨε੍ݶ ۙ೔ϦϦʔε 5.ηΩϡϦςΟػೳڧԽ
  21. 6. άϥϑͷνϟϯωϧ౤ߘ • ؾʹͳΔάϥϑͷঢ়ଶΛνϟοτͰ؆୯ʹ ٞ࿦Ͱ͖·͢

  22. 3 ৽ػೳʮϝλσʔλʯ͕΋ͨΒ͢ ࣍ੈ୅ͷΠϯϑϥϚωδϝϯτʹ͍ͭͯ

  23. ಈతͰศརʹͳΔΠϯϑϥετϥΫνϟ • ෛՙঢ়گʹԠͯ͡ಈతʹίϯςφ΍ϗετ ͕௥Ճ͞ΕͨΓ͢Δ͜ͷ࣌୅ • ඞཁͳ৘ใʢਓͦΕͧΕʣΛΑΓޮ཰తʹ ू໿͠ɺ࠶ར༻͠΍͍͢ߏ଄͕ٻΊΒΕͯ ͍Δ

  24. Mackerel͕ఏڙ͢Δ΋ͷ • ಈతͰॊೈɺ࠶ར༻͠΍͍͢σʔλετΞ • σʔλߏ଄͸೚ҙʹఆٛ • API,CLI,GUI,PluginͳͲΛར༻

  25. ϝλσʔλػೳ • ೚ҙͷKey-Value஋ΛJSONσʔλͱͯ͠ Mackerel΁ొ࿥ • ༷ʑͳ༻్Ͱ࠶ར༻Մೳ API,CLI,Plugin... CREATE READ UPDATE

    DELETE { "type": 12345, "region": "jp", "env": "staging", "instance_type": "c4.xlarge" } { "type": 12345, "region": "jp", "env": "staging", "instance_type": "c4.xlarge" } Host / Administrator
  26. ϝλσʔλػೳ • ઌߦͯ͠ɺϗετ΁ͷϝλσʔλొ࿥ΛAPIͰαϙʔτ • ϗετ͝ͱʹ೚ҙͷ໊લۭؒΛఆٛ͠ɺJSONσʔλͱ ͯ͠ొ࿥ʢ໊લۭؒ਺΍σʔλαΠζʹ੍໿͋Γʣ

  27. ϝλσʔλػೳ • mackerelͱ͍͏໊લۭؒ͸γεςϜͰར༻ • ؂ࢹϧʔϧͳͲ΁Ԡ༻͍ͯ͘͠ • CPU Core਺ͳͲ͍Ζ͍Ζ • ࠓޙ͸ɺCLIʢmkrʣ΍ϝλσʔλϓϥάΠϯɺॊೈͳ

    ݕࡧػೳͳͲΛϦϦʔε༧ఆ
  28. Ϣʔεέʔε • ಈతͳߋ৽Ͱৗʹ࠷৽ͷঢ়ଶΛ೺Ѳͯ͠࠶ར༻ • ϗετ؀ڥͷछผʢDevelopment,Testing,Staging,ProductionʣΛఆٛͯ͠ɺ Production؀ڥͷΈΛநग़ͯ͠ΦϖϨʔγϣϯ • Πϯετʔϧύοέʔδʢύοέʔδ໊ɿόʔδϣϯ൪߸ʣͰɺ੬ऑੑ͕ൃ֮ ͨ͠΋ͷ͕ಋೖ͞Ε͍ͯΔϗετͷΈΛநग़ͯ͠ߏ੒؅ཧπʔϧͰҰׅߋ৽ •

    ӬଓతͳTCPίωΫγϣϯͷϦετΛάϥϑσʔλͱͯ͠࠶ར༻ → ίʔυ؅ཧ͕Infrastructure as Codeͷଅਐʹߩݙ
  29. 4 Ϗδϣϯ

  30. ࣌୅͸Ϋϥ΢υԽͷྲྀΕ • ։ൃπʔϧ͸Ϋϥ΢υ΁ • svn/git → GitHub (GitHub Enterprise) •

    Jenkins → TravisCI, CircleCI • ࣮ߦ؀ڥ΋Ϋϥ΢υ΁ • ΦϯϓϨ → AWS, GCP, Azure,SoftLayer
  31. Mackerel΁ͷྲྀΕ • ӡ༻πʔϧ΋Ϋϥ΢υ΁ • Zabbix, Nagios → Cloudwatch, NewRelic and

    Mackerel !! • ࢖͍΍͍͢UIʹΑΔɺΑΓ҆ఆͨ͠ӡ༻Λ
  32. Infrastructure as Code • ϗετઃఆ͕ίʔυԽ͞ΕͨʢChef/puppetʣ • Mackerelͷઃఆ΋ίʔυͰ؅ཧ • ؂ࢹϧʔϧ/μογϡϘʔυͷίʔυԽ •

    ॱ࣍ɺAPIԽΛਪਐ
  33. Mackerelͷະདྷ • All-in-OneαʔϏεͰ͸ͳ͍ • ༷ʑͳπʔϧ/αʔϏεͱͷ࿈ܞ • Slack/GitHub/Reactio • γεςϜ؅ཧͷίΞπʔϧͱͯ͠ͷMackerel

  34. DevOpsͷத֩ͱͯ͠ • ϥΠϑαΠΫϧશମͷޮ཰ԽΛଅਐ %FW 0QT

  35. MackerelͷϏδϣϯ ΤϯδχΞΛϫΫϫΫͤ͞Δ ʮ௚ײతαʔόʔ؂ࢹαʔϏεʯ

  36. ͍͞͝ʹҰͭ

  37. ͞ΒͳΔਐԽ

  38. αʔϏε੒௕

  39. ࣍ੈ୅MackerelϓϩδΣΫτਐߦத • ੒௕Λࢧ͑Δ৽ͨͳΞʔΩςΫνϟ΁ͷมֵʂ • ॊೈͳσʔλ؅ཧ • ΞϧΰϦζϜࢧԉʢػցֶशɺ౷ܭཧ࿦ͷԠ༻ʣ • ͳͲଟ਺ͷػೳ֦ॆΛ༧ఆ •

    ͝ظ଴Լ͍͞ʂ
  40. ͍͞͝ʹ΋͏Ұͭ

  41. We are Hiring • ηʔϧεΤϯδχΞʢٸืʣ • 8FCΞϓϦέʔγϣϯΤϯδχΞ • 8FCΦϖϨʔγϣϯΤϯδχΞʢٸืʣ

  42. mackerel.io