Slide 1

Slide 1 text

Norikra in Gunosy Network Ads Shunsuke Aihara@Gunosy

Slide 2

Slide 2 text

͜Μ͹Μ͸ɺGunosyͰ͢

Slide 3

Slide 3 text

χϡʔε͚ͩ͡Όͳͯ͘Ξυࣄۀ΍ͬͯ·͢

Slide 4

Slide 4 text

ࣗݾ঺հ • Shunsuke Aihara • Gunosyͷ޿ࠂ഑৴ؔ࿈։ൃϚωʔ δϟʔ • ը૾ॲཧɾԻ੠ॲཧɾݴޠॲཧͷ ϥΠϒϥϦ͍Ζ͍Ζॻ͍ͯΔ • https://bitbucket.org/aihara • ݏ͍ͳ΋ͷ • ਺୆ͷHadoopΫϥελ

Slide 5

Slide 5 text

Agenda • Ϣʔεέʔε • ಋೖ؀ڥ • Πϯϑϥߏ੒ • ӡ༻ɾ؂ࢹͱ͔

Slide 6

Slide 6 text

ΞυωοτϫʔΫͰͷϢʔεέʔε • CTR΍ফԽֹɺCPAͷ൒ϦΞϧλΠϜϑΟʔυόοΫ • ΫϦΤΠςΟϒ࠷దԽͷͨΊͷόϯσΟοτ • ഑৴୯Ձࣗಈௐ੔ • ൒ϦΞϧλΠϜͷՄࢹԽɾ෼ੳͷχʔζ(kibanaͱ͔) • ഑৴ঢ়گ೺ѲɾϩδοΫҟৗͷ֬ೝ • ແବʹπʔϧ࡞Γ͜Έͨ͘ͳ͍͠໰͍߹ΘͤݮΒ͍ͨ͠

Slide 7

Slide 7 text

ಋೖ؀ڥ • AWS؀ڥ • ΞυωοτϫʔΫ༻ΞυαʔόΛGolangͰϦϓϨΠε • APIαʔόͰ͸ग़དྷΔݶΓബ͘࡞Δ͜ͱͰߴ଎Խ • ͦͬͪͷৄࡉ͸·ͨผͷػձͰ

Slide 8

Slide 8 text

Ξυαʔό • EC2 c4.large 1୆౰ͨΓ • 1000req/sec • 2000ʙ2500logs/sec • Norikraʹ౤͍͛ͯΔͷ͸ 1000~1500logs/sec

Slide 9

Slide 9 text

લఏ • ͍ΖΜͳ࠷దԽɾλʔήςΟϯά͸ग़དྷΔݶΓཪଆͰ • ूܭɾ൓ө଎౓΋Ͱ͖Δ͚ͩૣ͘ • ΋ͱ΋ͱ͸Redshift + ಠࣗͷूܭɾՄࢹԽܥ • Redshiftӡ༻ׂͱμϧ͍ • ϩάྔଟͯ͘kibana4ʹੜϩάಥͬࠐΉͱࢮ͵ • Spark Streaming΍Storm࢖͏ఔͰ΋ͳ͍

Slide 10

Slide 10 text

NorikraͰαϚͬͯΈΑ͏

Slide 11

Slide 11 text

ଟஈNorikra • 2ʙ3୆ͷAPIαʔόʹରͯ͠1୆ͷfluentd+Norikraαʔό

Slide 12

Slide 12 text

APIαʔό΁ͷ൓ө • λʔήςΟϯάɾόϯσΟοτ౳࠷ దԽ༻σʔλ͸PythonΫϥελͰॲ ཧͯ͠LevelDBܗࣜͰS3ʹ഑ஔ • NorikraҎ֎ͷσʔλιʔε͔Βͷσ ʔλ΋ෳ਺ͷϥΠϑαΠΫϧͰ LevelDBʹݻΊͨΓRedisʹ౤ೖͨ͠ Γ

Slide 13

Slide 13 text

kibana4 • ࠷ऴஈͷnorikraͰαϚͬͨ஋Λ1෼ຖ ʹkibana4ʹ౤ೖ • ඇΤϯδχΞͰ΋࠷௿ݶඞཁͳ৘ใ ͕υϦϧμ΢ϯ

Slide 14

Slide 14 text

OpsWorksͰϙνϙναʔόߏங1 • Custom CookbookΛ࡞Γ͜ΜͰϥʔϝϯτοϐϯάؾ෼Ͱ αʔόΛཱͯΔ

Slide 15

Slide 15 text

OpsWorksͰϙνϙναʔόߏங2 • ઃఆ͸શͯcustom jsonʹ͘͘Γͩ͠

Slide 16

Slide 16 text

؂ࢹ1 • DatadogͰαʔόͷ؂ࢹɾΞϥʔτ • fluentdͷΩϡʔαΠζͱ͔ • JVMͷঢ়گ΋ϞχλϦϯάͯ͠νϡʔχϯάͨ͠Γ • ҎԼͷΦϓγϣϯ౉ͤΔΑ͏ʹͪΐͬ͜ͱNorikra͍͡Δ -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=PORTNUM -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

Slide 17

Slide 17 text

؂ࢹ2 • papertrailͰfluentdͱnorikraͷϩάΛ؂ࢹ • Full GC͕૸Δͱ௨஌ • fluentd͕٧·ΔͱΞϥʔτ • ࣗલͷshellεΫϦϓτͰfluentdͷࢮ׆؂ࢹɾࣗಈ࠶ىಈ • Norikraͷग़ྗͷҰ෦΋DatadogʹૹͬͯΞϥʔτઃఆ ͜Μͳײ͡Ͱ਺ϲ݄҆ఆͯ͠ಈ͍ͯΔ

Slide 18

Slide 18 text

datadog͸ dashboardʹiframe ຒΊࠐΊͯศར

Slide 19

Slide 19 text

·ͱΊ • ଎ใ஋Ͱྑ͍౷ܭ஋͸NorikraͰ൒ϦΞϧλΠϜʹαϚͬͯΞ υαʔόʹϑΟʔυόοΫ • ඇΤϯδχΞͷӡ༻νʔϜ͕kibana4ͰϙνϙνμογϡϘʔ υ࡞ͬͯӡ༻ग़དྷΔΑ͏ʹͳͬͨ • Opsworks؀ڥͰNorikraͷ؀ڥΛϙνϙνߏங • ҰਓͰ΋Ξυαʔόͷ։ൃӡ༻͸ग़དྷΔ • DatadogͰ؂ࢹɾνϡʔχϯά͕ḿΔ