Norikra in Gunosy Network Ads@Norikra meetup #2

Norikra in Gunosy Network Ads@Norikra meetup #2

6e8d1cd646b7cc589fdd5bdea0fd9bf1?s=128

shunsukeaihara

June 03, 2015
Tweet

Transcript

  1. Norikra in Gunosy Network Ads Shunsuke Aihara@Gunosy

  2. ͜Μ͹Μ͸ɺGunosyͰ͢

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

  4. ࣗݾ঺հ • Shunsuke Aihara • Gunosyͷ޿ࠂ഑৴ؔ࿈։ൃϚωʔ δϟʔ • ը૾ॲཧɾԻ੠ॲཧɾݴޠॲཧͷ ϥΠϒϥϦ͍Ζ͍Ζॻ͍ͯΔ

    • https://bitbucket.org/aihara • ݏ͍ͳ΋ͷ • ਺୆ͷHadoopΫϥελ
  5. Agenda • Ϣʔεέʔε • ಋೖ؀ڥ • Πϯϑϥߏ੒ • ӡ༻ɾ؂ࢹͱ͔

  6. ΞυωοτϫʔΫͰͷϢʔεέʔε • CTR΍ফԽֹɺCPAͷ൒ϦΞϧλΠϜϑΟʔυόοΫ • ΫϦΤΠςΟϒ࠷దԽͷͨΊͷόϯσΟοτ • ഑৴୯Ձࣗಈௐ੔ • ൒ϦΞϧλΠϜͷՄࢹԽɾ෼ੳͷχʔζ(kibanaͱ͔) •

    ഑৴ঢ়گ೺ѲɾϩδοΫҟৗͷ֬ೝ • ແବʹπʔϧ࡞Γ͜Έͨ͘ͳ͍͠໰͍߹ΘͤݮΒ͍ͨ͠
  7. ಋೖ؀ڥ • AWS؀ڥ • ΞυωοτϫʔΫ༻ΞυαʔόΛGolangͰϦϓϨΠε • APIαʔόͰ͸ग़དྷΔݶΓബ͘࡞Δ͜ͱͰߴ଎Խ • ͦͬͪͷৄࡉ͸·ͨผͷػձͰ

  8. Ξυαʔό • EC2 c4.large 1୆౰ͨΓ • 1000req/sec • 2000ʙ2500logs/sec •

    Norikraʹ౤͍͛ͯΔͷ͸ 1000~1500logs/sec
  9. લఏ • ͍ΖΜͳ࠷దԽɾλʔήςΟϯά͸ग़དྷΔݶΓཪଆͰ • ूܭɾ൓ө଎౓΋Ͱ͖Δ͚ͩૣ͘ • ΋ͱ΋ͱ͸Redshift + ಠࣗͷूܭɾՄࢹԽܥ •

    Redshiftӡ༻ׂͱμϧ͍ • ϩάྔଟͯ͘kibana4ʹੜϩάಥͬࠐΉͱࢮ͵ • Spark Streaming΍Storm࢖͏ఔͰ΋ͳ͍
  10. NorikraͰαϚͬͯΈΑ͏

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

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

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

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

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

  16. ؂ࢹ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
  17. ؂ࢹ2 • papertrailͰfluentdͱnorikraͷϩάΛ؂ࢹ • Full GC͕૸Δͱ௨஌ • fluentd͕٧·ΔͱΞϥʔτ • ࣗલͷshellεΫϦϓτͰfluentdͷࢮ׆؂ࢹɾࣗಈ࠶ىಈ

    • Norikraͷग़ྗͷҰ෦΋DatadogʹૹͬͯΞϥʔτઃఆ ͜Μͳײ͡Ͱ਺ϲ݄҆ఆͯ͠ಈ͍ͯΔ
  18. datadog͸ dashboardʹiframe ຒΊࠐΊͯศར

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

    ҰਓͰ΋Ξυαʔόͷ։ൃӡ༻͸ग़དྷΔ • DatadogͰ؂ࢹɾνϡʔχϯά͕ḿΔ