Slide 1

Slide 1 text

Datadog ڞ༗ձ # גࣜձࣾΤΞʔΫϩʔθοτ @takasp 2020೥3݄12೔

Slide 2

Slide 2 text

Agenda • ͳͥ؂ࢹ͕ඞཁͳͷ͔ • ໨ࢦ͢ੈք؍ • Πϯϑϥ΍؂ࢹʹ·ͭΘΔपล༻ޠ • Datadogͱ͸ • Datadogͷػೳ঺հ • ·ͱΊ

Slide 3

Slide 3 text

ͳͥ؂ࢹ͕ඞཁͳͷ͔

Slide 4

Slide 4 text

ͳͥ؂ࢹ͕ඞཁͳͷ͔ • αʔϏεΛܧଓͤ͞ΔͨΊɻ • ؂ࢹΛ͢Δ͜ͱͰύϑΥʔϚϯεͷྼԽ΍
 ো֐΍ୈࡾऀʹΑΔ߈ܸʹؾͮ͘͜ͱ͕
 Ͱ͖Δɻ

Slide 5

Slide 5 text

໨ࢦ͢ੈք؍

Slide 6

Slide 6 text

؂ࢹΛຽओԽ͠ɺ؂ࢹΛҭͯΔ • ؂ࢹͷଐਓԽΛ๷͗ɺ։ൃऀࣗ਎͕
 ࣗओతʹߦ͏ɻ • ΞϓϦέʔγϣϯಉ༷ϝϯςφϯε͍ͯ͘͠ ΋ͷɻ • ։ൃऀ͕ෆ҆ͩͱࢥ͏ͱ͜ΖΛ؂ࢹ͢Δɻ

Slide 7

Slide 7 text

ϏδωεϝτϦΫεͷ؂ࢹ • ϏδωεKPIΛٕज़ࢦඪʹ݁ͼ͚ͭΔɻ • ձһొ࿥ͷ੒ޭɾࣦഊɺΞΠςϜߪೖ΍
 ϑΝʔετϏϡʔͷϨΠςϯγɻ

Slide 8

Slide 8 text

Πϯϑϥ΍؂ࢹʹ·ͭΘΔ
 पล༻ޠ

Slide 9

Slide 9 text

Ϋϥ΢υωΠςΟϒ • Ϋϥ΢υωΠςΟϒٕज़͸ɺύϒϦοΫΫϥ΢υɺϓϥΠϕʔτΫϥ ΢υɺϋΠϒϦουΫϥ΢υͳͲͷۙ୅తͰμΠφϛοΫͳ؀ڥʹ͓ ͍ͯɺεέʔϥϒϧͳΞϓϦέʔγϣϯΛߏங͓Αͼ࣮ߦ͢ΔͨΊͷ ೳྗΛ૊৫ʹ΋ͨΒ͠·͢ɻ ͜ͷΞϓϩʔνͷ୅දྫʹɺίϯς φɺαʔϏεϝογϡɺϚΠΫϩαʔϏεɺΠϛϡʔλϒϧΠϯϑϥ ετϥΫνϟɺ͓ΑͼએݴܕAPI͕͋Γ·͢ɻ • ͜ΕΒͷख๏ʹΑΓɺճ෮ੑɺ؅ཧྗɺ͓ΑͼՄ؍ଌੑͷ͋Δૄ݁ ߹γεςϜ͕࣮ݱ͠·͢ɻ ͜ΕΒΛݎ࿚ͳࣗಈԽͱ૊Έ߹ΘͤΔ͜ ͱͰɺΤϯδχΞ͸ΠϯύΫτͷ͋ΔมߋΛ࠷খݶͷ࿑ྗͰසൟ͔ͭ ༧ଌͲ͓Γʹߦ͏͜ͱ͕Ͱ͖·͢ɻ CNCF Cloud Native Definition v1.0 - https://github.com/cncf/toc/blob/master/DEFINITION.md

Slide 10

Slide 10 text

Մ؍ଌੑʢObservabilityʣ • γεςϜ͕ӡ༻͢Δ্Ͱඞཁͳ಺෦ঢ়ଶͷ৘ ใΛऔಘͰ͖Δঢ়ଶʹ͋Δ͜ͱɻ Keynote: ...What Does the Future Hold for Observability? - Tom Wilkie & Frederic Branczyk

Slide 11

Slide 11 text

෼ࢄτϨʔγϯά • ۙ೥ૄ݁߹ͳϚΠΫϩαʔϏε͕ྲྀߦ͓ͯ͠ Γɺ෼ࢄγεςϜ͕૿͑αʔϏεؒͷΤϥʔ ΍ύϑΥʔϚϯεͷݪҼಛఆ͕ࠔ೉ʹͳͬͯ ͍Δɻ • ͜͏ͨ͠໰୊Λղܾ͢ΔͨΊʹ֤αʔϏεؒ ͷϦΫΤετΛτϨʔεͰ͖Δ෼ࢄτϨʔγ ϯά͕ొ৔ͨ͠ɻ

Slide 12

Slide 12 text

• Trace: Spanશମͷू߹ମɻ • Span: ҰͭͷαʔϏε͝ͱͷॲཧɻ ෼ࢄτϨʔγϯά Trace Span Jeager ͷ OpenTracing ࣮૷ - https://jp.alibabacloud.com/help/doc-detail/68035.htm

Slide 13

Slide 13 text

APMʢApplication Performance Monitoringʣ • ΞϓϦέʔγϣϯͷύϑΥʔϚϯε؂ࢹ΍
 ෼ࢄτϨʔγϯάΛߦ͏ͨΊͷπʔϧɻ • Ϩεϙϯε஗ԆͳͲͷෆ۩߹Λ༧ݟͨ͠Γɺ ݪҼௐࠪͷॿ͚ʹͳΔɻ

Slide 14

Slide 14 text

SLIɾSLOɾSLA • Service Level Indicator (SLI)
 αʔϏεϨϕϧΛܭଌ͢ΔͨΊͷ஋ɾࢦඪ
 Ex. HTTPϦΫΤετ੒ޭ཰ • Service Level Objects(SLO)
 SLO = SLI + Objectiveʢ໨ඪʣ
 Ex. HTTPϦΫΤετ੒ޭ཰ >= 99% • Service Level Agreement(SLA)
 SLOʹܖ໿ΛՃ͑ͨ΋ͷͰɺേଇͱͯ͠Ϣʔβʔʹฦۚ΍ແྉʹ͢Δ ͱ͍͏ϖφϧςΟ͕ൃੜ͢Δ΋ͷɻ

Slide 15

Slide 15 text

ΤϥʔόδΣοτ • Τϥʔʹର͢Δ༧ࢉͷ͜ͱͰઃఆͨ͠SLOʹ ରࣦͯ͠ഊͯ͠΋ྑ͍৴པੑɻ • ΤϥʔόδΣοτ͕࢒ͬͯೖΕ͹
 ϦϦʔεʢσϓϩΠʣͰ͖Δɻ • ։ൃऀࣗ਎ͰϦεΫ؅ཧͰ͖ΔΑ͏ʹͳΔɻ

Slide 16

Slide 16 text

ϙετϞʔςϜ • ૝ఆ֎ͷΠϯγσϯτൃੜޙʹॻ͔ΕΔ಺෦޲͚ͷใࠂ ॻɻ • ૊৫ֶ͕श͢ΔͨΊʹߦ͍ɺΠϯγσϯτͷࡉ෦Λ໌Β ͔ʹ͢ΔͨΊʹඇ೉ͷͳ͍จԽΛॏࢹ͢Δɻ • ΠϯγσϯτͱͦͷΠϯύΫτɺͦͷ؇࿨΍ղফͷͨΊ ʹߦΘΕͨΞΫγϣϯɺࠜຊݪҼɺΠϯγσϯτͷ࠶ൃ Λආ͚ΔͨΊͷϑΥϩʔΞοϓͷΞΫγϣϯΛه࿥͢Δ ͨΊʹॻ͔ΕΔɻ

Slide 17

Slide 17 text

ΧΦεΤϯδχΞϦϯά • γεςϜʹର͠ɺҙਤతʹো֐Λ͓͜͢͜ͱͰɺ
 ো֐࣌ͷγεςϜͷৼΔ෣͍Λ೺Ѳ͢ΔΞϓϩʔνɻ • ҙਤతʹҾ͖ى͜͞Εͨো֐ʹΑΓ໰୊͕ੜͨ͡ࡍ͸ɺ
 ໰୊Λ࣏͢͜ͱͰγεςϜΛΑΓڧݻͳ΋ͷʹ͢Δ͜ͱ͕
 Ͱ͖Δɻ • γεςϜͷ͢΂ͯͷঢ়ଶΛ೺Ѳ͢Δͷ͸ෆՄೳͳͷͰɺ
 ։ൃऀɾӡ༻ऀ͕ҙਤ͠ͳ͍ো֐ΛҾ͖ىͯ͜͠ɺ
 Өڹൣғͷ೺Ѳͱमਖ਼ʹΑΓγεςϜΛ҆ఆͨ͠΋ͷʹ͢Δɻ Chaos Engineeringͱ͍͏ߟ͑ํ - https://speakerdeck.com/mahito/a-concept-of-chaos-engineering

Slide 18

Slide 18 text

Datadogͱ͸

Slide 19

Slide 19 text

Datadogͱ͸ • SaaSͷ؂ࢹαʔϏεɻ • αʔόʔ΍ΞϓϦέʔγϣϯͷ؂ࢹɺ
 ύϑΥʔϚϯεϞχλϦϯά΍ϩάͷू໿΋Ͱ͖ɺ
 350Ҏ্ͷ֎෦αʔϏεͱ࿈ܞͰ͖Δɻ • ڝ߹πʔϧͱͯ͠͸Zabbix΍Nagiosɺ
 ڝ߹αʔϏεͱͯ͠͸NewRelic΍Mackerel͕͋Δɻ

Slide 20

Slide 20 text

Datadogͷػೳ঺հ

Slide 21

Slide 21 text

Dashboards • ॏཁͳϝτϦΫεΛࢹ֮తʹ௥੻ɾ෼ੳɾ
 දࣔ͢ΔͨΊͷπʔϧɻ

Slide 22

Slide 22 text

Infrastructure • DatadogͰ؅ཧ͍ͯ͠Δαʔόʔ܈͕ҰཡͰ දࣔͰ͖Δɻ

Slide 23

Slide 23 text

Host Map • DatadogͰ؅ཧ͍ͯ͠Δαʔόʔ܈Λ
 ࢹ֮Խͯ͠දࣔͰ͖Δɻ

Slide 24

Slide 24 text

Events • DatadogͰऩू͍ͯ͠ΔΠϕϯτΛҰཡͰ
 දࣔ͢Δɻ

Slide 25

Slide 25 text

Monitors • DatadogͰऔಘͨ͠ϝτϦΫεΛݩʹ
 Ξϥʔτ௨஌͕ઃఆͰ͖Δɻ

Slide 26

Slide 26 text

APMʢApplication Performance Monitoringʣ • ϦΫΤετྔ΍ϨΠςϯγͳͲͷ
 ϝτϦΫεɺ෼ࢄτϨʔγϯά͕Ͱ͖Δɻ

Slide 27

Slide 27 text

Notebooks • Πϯγσϯτௐࠪɺࣄޙ෼ੳͳͲΛ
 υΩϡϝϯτʹͯ͠ڞ༗ͨ͠ΓͰ͖Δɻ

Slide 28

Slide 28 text

Logs • ΞϓϦέʔγϣϯ΍࿈ܞαʔϏεͷϩάΛ
 ऩूͰ͖Δɻ

Slide 29

Slide 29 text

Synthetics • API Testsʢ֎ܗ؂ࢹʣͱBrowser Tests ʢE2Eʣ͕Ͱ͖Δɻ

Slide 30

Slide 30 text

Real User Monitoring • ֤ϢʔβʔͷΞΫςΟϏςΟ΍
 ύϑΥʔϚϯεΛऩूͰ͖Δɻ

Slide 31

Slide 31 text

·ͱΊ

Slide 32

Slide 32 text

ਪଌ͢ΔͳܭଌͤΑ • ϧʔϧ1: ϓϩάϥϜ͕Ͳ͜Ͱ࣌ؒΛফඅ͢Δ͜ͱʹͳ Δ͔஌Δ͜ͱ͸Ͱ͖ͳ͍ɻϘτϧωοΫ͸ڻ͘΂͖Օॴ Ͱى͜Δ΋ͷͰ͋Δɻ͕ͨͬͯ͠ɺͲ͕͜ϘτϧωοΫ ͳͷ͔Λ͸͖ͬΓͤ͞Δ·Ͱ͸ɺਪଌΛߦͬͨΓɺε ϐʔυϋοΫΛͯ͠͸ͳΒͳ͍ɻ • ϧʔϧ2: ܭଌ͢΂͠ɻܭଌ͢Δ·Ͱ͸଎౓ͷͨΊͷௐ ੔Λͯ͠͸ͳΒͳ͍ɻίʔυͷҰ෦͕࢒ΓΛѹ౗͠ͳ͍ ͷͰ͋Ε͹ɺͳ͓͞ΒͰ͋Δɻ Rob Pike - Notes on Programming in C
 https://ja.wikipedia.org/wiki/UNIX఩ֶ

Slide 33

Slide 33 text

·ͱΊ https://twitter.com/yuuk1t/status/851996711983738880

Slide 34

Slide 34 text

·ͱΊ ඼࣭ΛՄࢹԽ͚ͨͩ͠Ͱ͸վળ͸͞Εͳ͍
 ˣ
 खΛಈ͔ͯ͠վળ͍ͯ͜͠͏ʂ

Slide 35

Slide 35 text

Thank you for listening!

Slide 36

Slide 36 text

Appendix

Slide 37

Slide 37 text

ࢀߟจݙ • ೖ໳ ؂ࢹ - Mike Julian • AWSΛ࢖ֶͬͯͿ ؂ࢹઃܭ - ࠤ౻ ॠ • https://github.com/cncf/toc/blob/master/DEFINITION.md • https://ymotongpoo.hatenablog.com/entry/2019/03/25/084500 • https://www.slideshare.net/td-nttcom/open-tracingjaeger • https://jp.alibabacloud.com/help/doc-detail/68035.htm • https://note.com/campfire_dev/n/n2a46e3832207 • https://note.com/campfire_dev/n/nd1b73ecbc17c • https://speakerdeck.com/soudai/java-monitoring • https://docs.datadoghq.com/