Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Log collector with Puree and AWS Kinesis
Search
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
14
5.5k
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.4k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
3.3k
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
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
300
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
140
Are APIs Still Relevant in the AI Era?
soyuka
0
410
SREの越境 / SRE Collaboration
y0hgi
2
300
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Webの地図
yosuke_furukawa
PRO
6
5k
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
570
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
610
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.7k
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
340
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
ラッコキーワード サービス紹介資料
rakko
1
5.2M
From π to Pie charts
rasagy
1
390
The untapped power of vector embeddings
frankvandijk
2
1.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
550
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
The agentic SEO stack - context over prompts
schlessera
0
950
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Why Our Code Smells
bkeepers
PRO
340
58k
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. ⼀一緒に新規事業⽴立立ち上げやサービス改善に 挑んでくれる仲間を募集しています。