Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クックパッドのログをいい感じにしているアーキテクチャ / Logging architectu...
Search
Hokuto Hoshi
July 26, 2017
Technology
23
15k
クックパッドのログをいい感じにしているアーキテクチャ / Logging architecture at Cookpad
Cookpad Tech Kitchen #9
https://cookpad.connpass.com/event/60831/
Hokuto Hoshi
July 26, 2017
Tweet
Share
More Decks by Hokuto Hoshi
See All by Hokuto Hoshi
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
4
1.9k
Connecting organisation with Technology
kanny
0
260
Why Slack - 5 years of Cookpad with Slack
kanny
0
110
Security by builders - セキュリティ監視をクラウドで「つくる」 / Security by builders
kanny
7
2.7k
セキュリティ担当者から見た re:Invent と AWS Security Hub / Impression of re:Invent and AWS Security Hub
kanny
2
4.2k
自由でセキュアな環境のつくりかた / Building free and secure cloud environment
kanny
1
5k
事例でわかる、AWS 運用を支える サポート活用方法と エンタープライズサポートという選択 / AWS Enterprise Support and Cookpad
kanny
2
2.5k
AWS で加速する機械学習 / Accelerate Machine Learning with AWS
kanny
1
1k
クックパッドの機械学習を支える基盤のつくりかた / Machine Learning ops at Cookpad
kanny
4
8.8k
Other Decks in Technology
See All in Technology
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
1
500
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
280
ここはMCPの夜明けまえ
nwiizo
32
12k
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
920
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
6
6.5k
OpenLane-V2ベンチマークと代表的な手法
kzykmyzw
0
140
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
4
2.9k
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
210
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5k
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
320
持続可能なドキュメント運用のリアル: 1年間の成果とこれから
akitok_
1
260
更新系と状態
uhyo
8
2.2k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Statistics for Hackers
jakevdp
798
220k
Writing Fast Ruby
sferik
628
61k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Documentation Writing (for coders)
carmenintech
69
4.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
136
33k
Adopting Sorbet at Scale
ufuk
76
9.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
Transcript
ΫοΫύουͷϩάΛ ͍͍ײ͡ʹ͍ͯ͠Δ ΞʔΩςΫνϟ 2017/07/26 Cookpad Tech Kitchen #9 Hokuto Hoshi
hokuto@cookpad.com
ే (΄͠ ΄͘ͱ) / @kani_b • ΫοΫύουגࣜձࣾ ΠϯϑϥετϥΫνϟʔ෦ •
SRE • AWS ͱηΩϡϦςΟ͕ϝΠϯྖҬ • ࣾ֎ͷใηΩϡϦςΟશൠ୲
ࠓͷςʔϚ: ϩά
https://speakerdeck.com/kanny/miao-jian-shu-mo-falseroguwoiigan-zinisuruakitekutiya
ͳͥɺਓϩάΛूΊΔͷ͔
“ى͖ͨ͜ͱ” ϩά͚͕ͩࣔ͢ • αʔϏεվળͷͨΊʹඞཁෆՄܽ • Ծઆͷݕূ • ύϑΥʔϚϯεվળ • γεςϜτϥϒϧͷղফ
• etc…
ऩू͍ͯ͠Δϩά • PV ϩά • ϖʔδӾཡ͝ͱʹه͞ΕΔ • ӾཡɺݕࡧಈͷੳͳͲ • ࠂܥϩά
• ΠϯϓϨογϣϯɺΫϦοΫɺ ίϯόʔδϣϯ • ৴੍ޚޮՌଌఆʹ • ΞΫςΟϏςΟϩά • Ϣʔβߦಈ (ը໘ભҠͳͲ) • ੳɺࢪࡦݕূɺ ϞόΠϧΞϓϦͷಈ࡞ϩά • ࠪϩά • Ϣʔβσʔλͷ࡞ɾߋ৽ɾ আɺϩάΠϯϩάͳͲ • αϙʔτɺηΩϡϦςΟࠪ
ऩू͍ͯ͠Δϩά • KPI ༻ϩά • “ग़དྷࣄ” Λه͢Δϩά • UU, DU
ͳͲࣗಈܭࢉɺ KPI ཧ༻ • γεςϜϩά • OSɺϛυϧΣΞͷϩά • γεςϜཧ༻ • etc…
ݱࡏͷن • Fluentd ʹྲྀΕ͍ͯΔϩά (֓ࢉ) • σʔλ૯ྔ: 400~600GB /
• Ϩίʔυ: 8ԯϨίʔυҎ্ / • ඵؒ8,000 ~ 25,000 Ϩίʔυ͘Β͍ ※ࡢͷൃද͔࣌ΒϨίʔυͷݮΛ͍ͯ͠·͢
ཁ͍Ζ͍Ζͳϩά͕ ͍ͬͺ͍͋Δ
ϩάʹٻΊΔཁ݅ • ࣮֬ʹૹ͞ΕΔ͜ͱ • Ͱ͖Δ͚ͩԆ͕গͳ͍͜ͱ • ྔΛݮΒ͢ (αϯϓϦϯά) ඞཁ͕ͳ͍͜ͱ •
ੳ͍͢͠ܗͰอ࣋Ͱ͖Δ͜ͱ
ϩάͷҰੜ • ͋ͭΊͯ • ॲཧͯ͠ • ͔ͭ͏ ͜ͷΜͷΛ͠·͢
ΫοΫύουͷ ϩάऩू (αʔϏεͰར༻͍ͯ͠Δͷ)
,JOFTJT 4USFBNT 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI 4FSWFS 3FETIJGU $MVTUFS
"UIFOB &MBTUJDTFBSDI ߏ "QQ4FSWFST "QQ4FSWFST "QQ4FSWFST -PH "HHSFHBUPS
-PH "HHSFHBUPS ,JOFTJT 4USFBNT "QQ4FSWFST 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI
4FSWFS 3FETIJGU $MVTUFS "QQ4FSWFST "QQ4FSWFST "UIFOB &MBTUJDTFBSDI ߏ
ΞϓϦέʔγϣϯαʔό͔Β • ΈΜͳେ͖ fluentd • ਖ਼֬ʹ td-agent • Ͱ͖ΔݶΓసૹઌগͳ͘ •
ूϊʔυ or Kinesis Streams
td-agent ूϊʔυ • ॾࣄʹΑΓ·ͩ 0.12 • શϩά͕ूத͢ΔͨΊߴෛՙ • multiprocess plugin
Ͱ͏·͍͜ͱ͍ͬͯΔ
,JOFTJT 4USFBNT 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI 4FSWFS 3FETIJGU $MVTUFS
"UIFOB &MBTUJDTFBSDI ߏ "QQ4FSWFST "QQ4FSWFST "QQ4FSWFST -PH "HHSFHBUPS
Redshift • ࣾͷσʔλੳͷத৺ (DWH) • ϩά͚ͩͰͳࣾ͘ͷશ DB ͷσʔλΛ औΓࠐΜͰ͓Γ౷߹ੳ͕Մೳ •
શࣾһ͕ར༻͢Δ (Tableau Redash) • S3 ͷϩάσʔλΛόονδϣϒͰऔΓࠐΈ • ϩʔυִؒΊ
,JOFTJT 4USFBNT 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI 4FSWFS 3FETIJGU $MVTUFS
"UIFOB &MBTUJDTFBSDI ߏ "QQ4FSWFST "QQ4FSWFST "QQ4FSWFST -PH "HHSFHBUPS
Lambda + DynamoDB • ετϦʔϜूܭʹར༻ (ओʹࠂ) • Redshift ͷΠϯϙʔτִؒΛ͑Δ༻్ •
Kinesis Streams Ͱड͚ Lambda Ͱूɺ DynamoDB ʹॻ͘ • ྲྀྔ͕େ͖͍ͨΊूϊʔυΛΘͳ͍ • ϩάͦͷͷ S3 ʹॏෳૹ৴ • ظతͳੳ Redshift Ͱߦ͏
,JOFTJT 4USFBNT 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI 4FSWFS 3FETIJGU $MVTUFS
"UIFOB &MBTUJDTFBSDI ߏ "QQ4FSWFST "QQ4FSWFST "QQ4FSWFST -PH "HHSFHBUPS
Elasticsearch • ूܭμογϡϘʔυʹར༻ • αʔϏεʹར༻͞Εͳ͍ • ߴ͍ྲྀྔͷϩάʹΘͳ͍ or αϯϓϦϯά •
Amazon Elasticsearch Service Λར༻
ͦͷଞ • getsentry/sentry • Τϥʔϩάऩूπʔϧ • Rails ΞϓϦέʔγϣϯͷΤϥʔΛૹ৴ • Slack
• Ϣʔβ͔Βͷ͝ҙݟͳͲΛૹ৴
,JOFTJT 4USFBNT 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI 4FSWFS 3FETIJGU $MVTUFS
"UIFOB &MBTUJDTFBSDI ߏ "QQ4FSWFST "QQ4FSWFST "QQ4FSWFST -PH "HHSFHBUPS
Athena • ݕূத • Redshift ͷϩʔυִؒΛͯͳ͍͕ SQL Ͱੳ͍ͨ͠έʔε ʹ͏ఆ •
Redshift Spectrum ͱ߹Θͤͯߟ͑த
-PH "HHSFHBUPS ,JOFTJT 4USFBNT "QQ4FSWFST 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI
4FSWFS 3FETIJGU $MVTUFS "QQ4FSWFST "QQ4FSWFST "UIFOB &MBTUJDTFBSDI ߏ
શମ૾ • σʔλετΞπʔϧʹΑΓಘҙෆಘҙ͕͋Δ • ΞϓϦ͔Β৮Δͱྑ͍ͷɺ ਓ͕ؒੳ͍͢͠ͷ (SQL Ͱ৮ΕΔͳͲ) • සൟͳॻ͖ࠐΈ͕ଟ͍ͷɺͦ͏Ͱͳ͍ͷ
• αʔϏεϨϕϧڐ༰Ͱ͖ΔԆɺ༻్ͰબͿ
,JOFTJT 4USFBNT 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI 4FSWFS 3FETIJGU $MVTUFS
"UIFOB &MBTUJDTFBSDI ߏ "QQ4FSWFST "QQ4FSWFST "QQ4FSWFST -PH "HHSFHBUPS
,JOFTJT 4USFBNT 4 -BNCEB GVODUJPO %ZOBNP%# #BUDI 4FSWFS 3FETIJGU $MVTUFS
"UIFOB &MBTUJDTFBSDI ߏ "QQ4FSWFST "QQ4FSWFST "QQ4FSWFST -PH "HHSFHBUPS Ͱ͖Δ͚͍ͩԆͰ ΞϓϦ͔Βͷར༻ϝΠϯ ͋ΔఔͷԆڐ༰Ͱ͖Δ ΞϓϦ͔Βਓؒར༻ αʔϏεӡ༻্ ΫϦςΟΧϧͰͳ͍ϩάʹར༻
ΫοΫύουͷ ϩάऩू (ͦͷଞ)
ΞϓϦέʔγϣϯͷಈ࡞ϩά • td-agent Ͱऩू • CloudWatch Logs ʹૹ৴ • fluent-plugin-cloudwatch-logs
• Docker Խ͞Ε͍ͯΔΞϓϦඪ४උ • Τϥʔϩά Sentry ʹૹ৴
γεςϜϩά • ݱࡏ2ͭΛฒߦՔಈ • rsyslog • ;ͭ͏ͷϩάαʔό • td-agent Ͱऩूͯ͠
Kinesis Streams -> Lambda Ͱ Graylog • 2.3 ͔Β Elasticsearch Service ͕͑ΔΑ͏ʹ
·ͱΊ • ΫοΫύουͷϩάऩूج൫ʹ͍ͭͯ ͓͠·ͨ͠ • த৺ʹͳ͍ͬͯΔͷ S3 ͱ Redshift •
αʔϏεϨϕϧɺԆɺ༻్ʹΑͬͯ దͳͷΛબ͍ͯ͘͠