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
4.7k
Building Products in the LLM Era
ymatsuwitter
11
13k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3.4k
経営・意思・エンジニアリング
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
Contextとはなにか
chiroruxx
1
390
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
620
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
230
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
210
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
190
act1-costs.pdf
sumedhbala
0
140
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
スマートグラスで並列バイブコーディング
hyshu
0
270
Lessons from Spec-Driven Development
simas
PRO
0
240
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
1
410
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.6k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
400
KATA
mclloyd
PRO
35
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Statistics for Hackers
jakevdp
799
230k
The Curious Case for Waylosing
cassininazir
1
420
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
280
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
880
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Designing for Performance
lara
611
70k
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. ⼀一緒に新規事業⽴立立ち上げやサービス改善に 挑んでくれる仲間を募集しています。