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
Log collector with Puree and AWS Kinesis
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
y_matsuwitter
July 21, 2016
Programming
1.9k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Log collector with Puree and AWS Kinesis
Potatotips#31にて
y_matsuwitter
July 21, 2016
More Decks by y_matsuwitter
See All by y_matsuwitter
LLMと共に進化するプロセスを目指して
ymatsuwitter
13
5.1k
Building Products in the LLM Era
ymatsuwitter
11
13k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3.5k
経営・意思・エンジニアリング
ymatsuwitter
23
22k
LLM in 2023 and 2024
ymatsuwitter
8
6.3k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
3.2k
LLM in toB Service and Its UX
ymatsuwitter
7
12k
Agent and small LLM validation
ymatsuwitter
7
3.1k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
11k
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
210
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
500
Google Apps Script で Ruby を動かす
kawahara
0
140
React本体のコードリーディング
high_g_engineer
1
140
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
310
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
200
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
110
Cloudflare is Agents
chimame
0
150
プロポーザルを書いてもらう
pvcresin
0
300
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
110
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.1k
仕様駆動開発の消費期限
watany
18
7.6k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
360
Git: the NoSQL Database
bkeepers
PRO
432
67k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
New Earth Scene 8
popppiees
3
2.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How STYLIGHT went responsive
nonsquared
100
6.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
470
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
360
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
A Modern Web Designer's Workflow
chriscoyier
698
190k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
Puree + Kinesisでのログ収集パターン Gunosy Inc. 2016.07 @y_̲matsuwitter
2 ©Gunosy Inc. ⾃自⼰己紹介 n Gunosy Inc. – 開発本部執⾏行行役員 n
業務 – 新規事業開発、及びチームビルディング – Go⾔言語布教係 – パフォーマンスチューニング – ISUCONとか好きです n 担当 – iOS、Android – Web – Infrastructure(AWSのみ) n 趣味 – VR 松本 勇気 @y_̲matsuwitter
3 ©Gunosy Inc. 今⽇日の話 n ⾃自⼰己紹介 n モバイルでのログ収集について、またその課題 n PureeとKinesisでさくさくログ収集
– Pureeとは – Kinesisとは – Androidとログ収集 PureeとKinesisを使ったお⼿手軽なログ収集の実装パターンの紹介
4 ©Gunosy Inc. モバイルでのログ収集について、またその課題
5 ©Gunosy Inc. モバイルでのログ収集について、またその課題 解析ツールやサーバのアクセスログが提供できる機能には不不⾜足が発⽣生しがち n そもそもなぜ収集するのか? – 緻密な定量量分析はサービス成⻑⾧長の要 n
⼀一般的な実装パターン – サードパーティ製アクセス解析ツール – APIサーバのアクセスログ n 課題 – イベントと属性の柔軟な紐紐付け – サービス上でのユーザー属性単位のクロ ス分析等複雑な解析 – 計測イベント数の上限問題 多くのケースでは、サードパーティーが提供する計測ツールを利利⽤用している。 mixpanel Fabric Flurry GA APIサーバ アクセスログ 通常の APIアクセス
6 ©Gunosy Inc. PureeとKinesisでさくさくログ収集
7 ©Gunosy Inc. Pureeとは ログ送信だけでなく、再送設定やバッファリングなど多くの必須機能を持つ n iOS/Android双⽅方向けにライブラリあり n クライアントサイド向けログコレクタ –
fluentdと似た機構をもち、イベントを 適宜バッファリングしつつ⾮非同期送信 n ⾃自⾝身でOutputPluginを書く – Google Analyticsなどツールへの送信 – 指定のログごとに違うストラテジでログ を送ることが可能 Cookpad社製のクライアント向けログコレクタ event event event Puree API Filter Buffering fail Retry
8 ©Gunosy Inc. AWS Kinesisとは サーバ管理理不不要な⼤大規模データストリームの集計・変換サービス n ⼤大量量のログを受け取り処理理するための受け⽫皿 – 同時処理理性能を簡単に増減させられる
– 24時間分のログを溜溜める n 主にStream処理理、ログの1次加⼯工に利利⽤用 – Kinesisのログを逐次その他システムで 処理理する – 例例1:ログを加⼯工してS3に永続化 – 例例2:逐次的にログ集計、短時間でサー ビスに反映する n 何が嬉しいか – ログデータの安定した配送を簡単に実現 できる – Kinesisの関連プロダクトとの連携が将 来⾒見見込める(Kinesis Analyticsなど) – モバイル向けSDKから直接送信可能 ・行動ログ ・属性ログ …etc S3に対して ログを保存 EMRからログの分析 LOG LOG LOG LOG LOG LOG
9 ©Gunosy Inc. Puree + Kinesisで実装してみる PureeのBuffering機構とKinesisのBulk送信機構で任意のログを効率率率よく収集。 PureeBufferedOutput を利利⽤用する
10 ©Gunosy Inc. Puree + Kinesisで実装してみる PureeのBuffering機構とKinesisのBulk送信機構で任意のログを効率率率よく収集。 KinesisのBulk送信を呼び 出し、ログを詰める
11 ©Gunosy Inc. Puree + Kinesisで実装してみる PureeのBuffering機構とKinesisのBulk送信機構で任意のログを効率率率よく収集。 AWS SDKは⾮非同期処理理がな いので⾃自前で⾮非同期送信
12 ©Gunosy Inc. 実装上の注意点 Authorizationが必要 Partition Keyの設定 初期化前のログ送信に気をつける ユーザーごとなどで別なキーを指定 n
AWSのサービスへのアクセスには独 ⾃自の認証機構(Cognito)を通る必要 n 初回はCognito SDKを介して認証・認 可のプロセスをHTTPを介して実⾏行行す る – ログ送信と初期化の順序に注意 n Kinesis側で処理理を分散させるために 必要なキー – 裏裏側ではshardという単位でログ を分散してQueueingしている n => 同じキーを指定すると分散処理理で きない AWS⾃自体やKinesisのコンセプトを理理解して利利⽤用しましょう。 AWS SDKの癖に注意しましょう。
13 ©Gunosy Inc. まとめ n サービス改善の要となるログは柔軟に使えるフォーマットで収集 – ユーザー単位や属性単位の複雑な分析へ n PureeとKinesisを使う
– ログをバッファリングして、まとめて送信する機構が⽤用意に実 現できる n SDKの癖に注意する – AWSならではの認証・認可、Kinesisの設定など Puree + Kinesisで簡単・スケーラブルなログ収集を実現しよう!
14 ©Gunosy Inc. ⼀一緒に新規事業⽴立立ち上げやサービス改善に 挑んでくれる仲間を募集しています。