!1Mackerel 2019/ Mackerel Meetup #132018/03/01mackerel.io
View Slide
!2ࣗݾհ• দ խ (id:Songmu @songmu)• גࣜձࣾͯͳ αʔϏεγεςϜ։ൃຊ෦• νʔϑΤϯδχΞ• MackerelϓϩμΫτϚωʔδϟʔ• ʮΈΜͳͷGoݴޠʯڞஶऀ• ʮMackerelαʔόࢹ࣮ફೖʯදஶऀ• ʮೖ ࢹʯC ࣥච• https://www.github.com/Songmu• https://www.songmu.jp/riji
!3ۭલͷࢹϒʔϜ
!4ೖࢹ• C Λॻ͔ͤͯΒ͍·ͨ͠• ͔ͳΓചΕͯΔΈ͍ͨͰ͢• ʮ։ൃऀ͕ͦ͜ࢹΛ͠Α͏ʯ• ʮΨιϦϯྔΛܭଌͰ͖ͳ͍೩ྉλϯΫΛ࡞Βͳ͍ʯ• ͓͢͢ΊͰ͢
!5γεςϜࢹͷॏཁੑ• ίετηϯλʔͰͳ͍• ςετۦಈ։ൃͱಉ͡• SRE(Site Reliability Engineering)ʹ͓͚ΔΩʔཁૉ• ࢹ͕͋Δ͔ΒγεςϜΛܧଓతʹվળ͠ଓ͚ΒΕΔ
!6.BDLFSFMhttps://mackerel.io
!7ΞϯόαμʔϓϩάϥϜ͡Ί·ͨ͠https://mackerel.io/ja/blog/entry/ambassador/about
!8ΞϯόαμʔϓϩάϥϜ• تΜͰ͍͚͍ͨͩͯΔΑ͏Ͱخ͍͠Ͱ͢• ·ͩ·ͩब͍͖͍ͨͩͨਓ͕ͨ͘͞Μ͍·͢
!9ৗʹਐԽ͠ଓ͚ΔαʔϏεຖ݄৽ػೳͷϦϦʔεΛܧଓதԽͤͣৗʹਐԽ͍ͯ͠·͢54ϲ݄࿈ଓܧଓத
!10࠷ۙͷͪΐͬͱ͍͍Ξοϓσʔτ• mkr wrapʹΑΔcron/όονࢹ• APIʹΑΔΫϩʔζࡁΈAlertऔಘ• Microsoft Teams௨• AWSΠϯςάϨʔγϣϯڧԽ• ܾࡁߦγεςϜΛStripeʹ
!11NLSXSBQʹΑΔDSPOόονࢹ• όονδϣϒ͕ެࣜͰࢹՄೳʹ• https://mackerel.io/ja/docs/entry/howto/mkr/wrap
!12"1*ʹΑΔΫϩʔζࡁΈ"MFSUऔಘ• ϨϙʔςΟϯάৼΓฦΓͳͲʹ• ྫ͑ۙ1िؒʹൃੜͨ͠AlertҰཡͷऔಘ͕Մೳʹ• mkrίϚϯυରԠ͍ͯ͠·͢
!13.JDSPTPGU5FBNT௨• ଟ͘ͷཁΛड͚
!14"84ΠϯςάϨʔγϣϯڧԽ• ࣮࠷ۙ݁ߏ૿͍ͯ͠·͢
!15ܾࡁߦγεςϜΛ4USJQFʹ• ػೳϦϦʔεͰ͋Γ·ͤΜ͕• ւ֎ల։ຊ֨Խࢹ
!16ϩʔυϚοϓঢ়گ
!17ࡢͷϩʔυϚοϓ• Ξϥʔτάϧʔϓ• ΧελϜμογϡϘʔυϦχϡʔΞϧ• ίϯςφαϙʔτ• ҟৗݕ
!18
!19ΧελϜμογϡϘʔυϦχϡʔΞϧ
!20ίϯςφαϙʔτ• 2/18 mackerel-container-agentެ։
!21ҟৗݕ• ຊϦϦʔε͠·ͨ͠ʂhttps://hatenacorp.jp/press/release/entry/2019/03/01/113000
!22.BDLFSFM
!23ࠓͷ.BDLFSFM• ϩʔϧҟৗݕ• ίϯςφγϑτٴͼϚΠΫϩϗετ• GCPΠϯςάϨʔγϣϯ• SAMLରԠ• ࣜࢹਖ਼ࣜԽ
!24ϩʔϧҟৗݕ
!25ਖ਼໊ࣜশʮϩʔϧҟৗݕʯ• ϩʔϧͷதͰʮͳʹ͔͓͔ͦ͠͏ʯͳϗετΛݕग़• mackerel-agent͕ૹ͍ͬͯΔඪ४ͷγεςϜϝτϦοΫΛݩʹࠞ߹ΨεϞσϧʹΑΔڭࢣͳֶ͠शΛߦ͍ҟৗఆ• ࢹઃఆ͔ΒରϩʔϧͱsensitivityΛઃఆ͢Δ͚ͩhttps://www.slideshare.net/syou6162/mackerel-108429592
!26ҟৗͷࠜڌఏࣔҟৗΛݕ͢Δͱʮීஈͱ࠷ಈ͖ͷҟͳΔϝτϦοΫͷάϥϑʯͱͱʹΞϥʔτΛൃੜͤ͞·͢
!27ແྉΩϟϯϖʔϯ࣮ࢪ͠·͢• ݱঢ়ϕʔλ൛• 5݄ͷਖ਼ࣜϦϦʔεΛ༧ఆ• ਖ਼ࣜϦϦʔεޙ༗ྉΦϓγϣϯͱͯ͠ఏڙ• ϕʔλظؒதແྉͰ͝ར༻͍͚ͨͩ·͢ʂ• ϑΟʔυόοΫ͓͍ͪͯ͠·͢
!28ίϯςφγϑτ
!29NBDLFSFMDPOUBJOFSBHFOU• https://github.com/mackerelio/mackerel-container-agent• ύϒϦοΫϕʔλ൛• ECS(EC2 or Fargate)/Kubernetesαϙʔτ• Pod/TaskΛϗετͱͯ͠Mackerelʹొ• ৄ͘͜͠ͷ࣍ͷηογϣϯͰ
!30ίϯςφӡ༻• ΑΓ؆୯ʹΞϓϦέʔγϣϯΛ։ൃ͠ɺͦΕΛ؆୯ʹຊ൪ө͍ͯ͘͠தͰίϯςφΑΓศརʹ׆༻͞Ε͍ͯ͘• ։ൃɾӡ༻ͷϕετϓϥΫςΟεΛ͍ࣔͨ͠
!31ίϯςφΤʔδΣϯτͷಛ• PodTaskʹԣ͚͢Δsidecarίϯςφ• ίϯςφωΠςΟϒͳ։ൃɾӡ༻Λݟਾ͑• ϩʔϧొ͢Δ͜ͱͰɺͦͷϚΠΫϩαʔϏεͷܥͷશମ͕Ұྎવ
!32ϩʔϧάϥϑͷ༷ࢠ• Container CPU usage• ୀPodͷϝτϦοΫଘ
!33ίϯςφΤʔδΣϯτͷࠓޙ• ϓϥάΠϯಉࠝΠϝʔδͳͲ• ΑΓObservabilityΛ্͍͚͛ͯΔΑ͏ʹ• αʔϏεϝογϡɾPrometheus࿈ܞݕ౼• αʔϏεϝογϡMackerelͱ૬ੑ͕ྑ͍ͣ• ཁΞΠσΞ͓͍ͪͯ͠·͢ʂ
!34࣌ܥྻσʔλϕʔεͷ࠶ڧԽߏݱঢ়ͰίϯςφΤʔδΣϯτͷγεςϜϝτϦοΫୀޙͷϝτϦοΫϩʔϧάϥϑʹଘ͠·͢• ΧελϚΠζάϥϑٴͼࣜࢹਖ਼ࣜԽ• ϐʔΫۉ͠• ظͰεύΠΫ͕ՄࢹԽͰ͖ΔΑ͏ʹ• ୀΧελϜϝτϦοΫظอଘ
!35$PNJOHTPPO
!36ϚΠΫϩϗετ
!37ϚΠΫϩϗετ• ίϯςφΤʔδΣϯτٴͼΠϯςάϨʔγϣϯܥϗετΛʮϚΠΫϩϗετʯͱͯ͠ѻ͏• େ͖͘ྉۚମܥͷΞοϓσʔτ• ॳՆϦϦʔε༧ఆ
!38ͦͷଞ
!39ࡉ͔͍ػೳվળ• ௨֦େ• ϓϥάΠϯͷॆ࣮• ΠϯςάϨʔγϣϯͷڧԽ• طଘػೳͷϒϥογϡΞοϓཁϕʔεͰਵ࣌Ճ։ൃ͍͖ͯ͠·͢
!400OFNPSFMJUUMFUIJOH
!41υΩϡϝϯτͷ.BSLEPXOެ։͠·ͨ͠• https://github.com/mackerelio/documents• pull requestड͚͚͍ͯ·͢• ຊޠͷΈͷมߋՄɾຊޠՄ
!42.BDLFSFM.77
!43ΫϥυࢹαʔϏεΛఏڙ͠ɺੈͷΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢Δϛογϣϯ
!44• DevOpsத֩αʔϏεͷσϑΝΫτͱͯ͠ਐԽ͚ͭͮ͠Δ• αʔϏεࢹɾӡ༻ͷՁΛߴΊɺ໘ന͘͢Δ• ސ٬ͷαʔϏεΛՃͤ͞ΔϏδϣϯ
!45• Infrastructure as CodeΛମݱ͢Δ• devopsจԽΛ͔ࠜͤΔ• υοάϑʔσΟϯά• ΤϯδχΞΛϫΫϫΫͤ͞Δ• OSSΤίγεςϜͱڞੜ͢ΔόϦϡʔζ
!46Ϣʔβʔͷօ༷ͱڞʹਐԽΛଓ͚͍͖ͯ·͢
!47ؒઈࢍืूத• ΞϓϦέʔγϣϯΤϯδχΞ• SRE• CRE(Customer Reliability Engineer)• Mackerelηʔϧεhttps://hatenacorp.jp/recruit/career/
!48