SlideShare a Scribd company logo
1 of 15
Download to read offline
第二回IoT関連技術勉強会
ログ収集編
田実 誠
• ログ収集に関する知識
• なぜログデータを収集するのか?
• リアルタイム vs バッチ
• ログ収集に関する課題
• Fluentd
• Embulk
• まとめ
アジェンダ
なぜログデータを収集するのか?
• Webサービスにおける各イベント(アクセスした、ログインした、APIを叩いた、ページを離脱し
た、、、等)の情報が集められている
• アクセスログ(Google Analytics、Apache/Nginx)
• 購買履歴
• アクティビティログ(ユーザの行動履歴)
• クリックレート、コンバージョンレート
• 各イベント情報が入っているログを分析して新しい知見を得たい
• サービス内容の改善(UI/UX、コンテンツのニーズ、仮説検証)
• パフォーマンスの改善(レスポンス時間)
• アクセスのリアルタイムなモニタリング
• システム障害の改善(障害検知、死活監視)
• 不正なアクセスのブロック(Firewall的な役割)
リアルタイム vs バッチ
リアルタイム(ストリーム)
• 少量データを逐次転送
※ストリーミング処理とか聞いたときは、リアルタイムにデータを処理している、と理解
すればOK
バッチ
• 任意の時間に起動
• 大量データを一括転送
ログ収集に関する一般的な課題
• データの入力/出力方式がシステムによって様々
• データフォーマット
• 通信プロトコル
• ネットワーク/サーバ等の障害発生時のリカバリーの検討(リトライ処理等)
• データ量が増えた場合のスケーラビリティの検討(システムの柔軟性)
• リアルタイムで分析したい
Fluentd
• ストリーム(リアルタイム)なログコレクタ(転送・集約)※ログ用のETL
• C+RubyなOSS
• Pluggable
• シンプルな設定ファイル(Apacheに似ている)
• Bufferingによる信頼性、Retry処理
• 柔軟なシステム構成
• TreasureDataが担っているOSS
出典: http://www.fluentd.org/architecture
Pluggable
• プラグインをインストールするだけで、任意のプロトコル/ソフトウェアに対して入出力可能になる。
• プラグイン自体もOSSなので、自由に利用・公開できる。
→最近良く聞くエコシステムってやつ ※ちなみにSalesforceのpluginもあるよ
出典: http://www.fluentd.org/architecture
柔軟なシステム構成
Aggregatorを介した多段構成(出力先を柔軟に変更可能)
キューを介したスケールするシステム構成
出典: http://repeatedly.github.io/ja/2014/07/fluentd-and-log-forwarding-patterns/
簡単な例
ログデータをS3に格納(出力設定) Twitterのツイートデータを収集(入力設定)
<source>
@type twitter
consumer_key {CONSUMER_KEY}
consumer_secret {CONSUMER_SECRET}
oauth_token {OAUTH_TOKEN}
oauth_token_secret {OAUTH_TOKEN_SECRET}
tag input.twitter.sampling
timeline tracking
keyword あああ,いいい
output_format flat
</source>
<match input.twitter.sampling>
@type s3
aws_key_id {AWS_ACCESS_KEY_ID}
aws_sec_key {AWS_SECRET_KEY}
s3_bucket {S3_BUCKET}
s3_region ap-northeast-1
path sakamichi/
buffer_path /var/log/td-agent/s3
time_slice_format %Y%m%d
s3_object_key_format %{path}%{time_slice}_%{index}.%{fil
e_extension}
time_slice_wait 10m
utc
format json
include_time_key true
include_tag_key true
buffer_chunk_limit 8m
</match>
• プラガブルなので、さまざまなソースからのイベントをさまざまな媒体に出力できる
• ログの内容がJSON(MessagePack)形式で扱いやすい
fluentd vs syslogd
syslog(rsyslog)
• サービスがログを記録するための規格、プログラム
• ログの入出力を制御可能(Facility/Severity)
• ネットワーク転送して別のサーバにログを集約可能
• Exactly Onceなデータ転送
• 欠損も重複も一切ダメ
→ストリーム処理でExactly Onceを保証するのは難しい(らしい)
ただし、大抵はExactly Onceでなくても上手くいく(らしい)↓
http://docs.fluentd.org/articles/high-availability
• 負荷のかかるフィルタリング(fluentd自体がマルチプロセス対応しそうなので、それを待てば良
い?)
• モニタリング(死活監視)
→プラグインにZabbix, Nagios, Norikra等あるので、そちらに流し込んでモニタリングする。
fluentdはデータのハブとして利用する。
Fluentdが適していないもの
• Fluentdのバッチ版
• 並列処理をすることで高速なアップロードを実現
• Fluentd同様プラガブルなアーキテクチャ
→Salesforceのプラグインもあるよ
• リトライ/エラーハンドリング
→利用するプラグインに依存するけど…
• 設定ファイルをある程度自動的に作成してくれる仕組み(guess)
• TreasureDataが担っているOSS
Embulk
バッチ実行は $ embulk run config.yml を叩くだけ!
Embulkの設定例
in:
type: s3
bucket: {backet_name}
path_prefix: sakamichi/2016/05/01
endpoint: s3-ap-northeast-1.amazonaws.com
access_key_id:{AWS_ACCESS_KEY_ID}
secret_access_key: {AWS_SECRET_ACCESS_KEY}
decoders:
- {type: gzip}
parser:
type: jsonl
charset: UTF-8
newline: CRLF
columns:
- {name: id_str, type: string}
- {name: text, type: string
- {name: favorited, type: boolean}
filters:
- type: typecast
columns:
- {name: timestamp_ms, type: long}
out:
type: td
apikey: {TREASURE_DATA_API_KEY}
endpoint: api.treasuredata.com
database: test_sakamichi
table: test
time_column: timestamp_ms
unix_timestamp_unit: milli
• Fluentd/Embulkはログデータのデータ転送/集約系のOSSである
• Fluentdはリアルタイム、Embulkはバッチ
• どちらもプラガブルなアーキテクチャでエコシステムを形成
→開発者はプラグインを作る or エンハンスしていきましょう!
まとめ
• Fluentの概要
http://www.slideshare.net/treasure-data/the-basics-of-fluentd-35681111
• Fluentdのデザインパターン
http://www.slideshare.net/y-ken/fluentd-system-design-pattern
http://repeatedly.github.io/ja/2014/07/fluentd-and-log-forwarding-patterns/
• AWS Summit 2016で登壇されていたcookpadさんの資料
https://speakerdeck.com/kanny/miao-jian-shu-mo-falseroguwoiigan-
zinisuruakitekutiya
• Embulkの概要
http://www.slideshare.net/frsyuki/embuk-making-data-integration-works-
relaxed
参考URL

More Related Content

Viewers also liked

初めてのGemの読み方
初めてのGemの読み方初めてのGemの読み方
初めてのGemの読み方
Takao Baba
 
PaaSに適したアプリケーション設計 がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリットPaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計 がもたらすメリット
Ayumu Aizawa
 
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Hisao Soyama
 

Viewers also liked (20)

第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編
 
第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編
 
Githubでアカウントを晒した事故に対する対処
Githubでアカウントを晒した事故に対する対処Githubでアカウントを晒した事故に対する対処
Githubでアカウントを晒した事故に対する対処
 
初めてのGemの読み方
初めてのGemの読み方初めてのGemの読み方
初めてのGemの読み方
 
第4回web技術勉強会 暗号技術編その2
第4回web技術勉強会 暗号技術編その2第4回web技術勉強会 暗号技術編その2
第4回web技術勉強会 暗号技術編その2
 
Analytics CloudとEmbulkを使った社会的データの分析
Analytics CloudとEmbulkを使った社会的データの分析Analytics CloudとEmbulkを使った社会的データの分析
Analytics CloudとEmbulkを使った社会的データの分析
 
ApexからAWS IoT叩いてみた話
ApexからAWS IoT叩いてみた話ApexからAWS IoT叩いてみた話
ApexからAWS IoT叩いてみた話
 
第一回IoT関連技術勉強会 分散処理編
第一回IoT関連技術勉強会 分散処理編第一回IoT関連技術勉強会 分散処理編
第一回IoT関連技術勉強会 分散処理編
 
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
 
プロセスをしょうもないErrorで落とさないように頑張る
プロセスをしょうもないErrorで落とさないように頑張るプロセスをしょうもないErrorで落とさないように頑張る
プロセスをしょうもないErrorで落とさないように頑張る
 
PaaSに適したアプリケーション設計 がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリットPaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計 がもたらすメリット
 
ElectronでExactTargetのGUIツールを作ってみた話
ElectronでExactTargetのGUIツールを作ってみた話ElectronでExactTargetのGUIツールを作ってみた話
ElectronでExactTargetのGUIツールを作ってみた話
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
 
Heroku HTTP API Design Guide
Heroku HTTP API Design GuideHeroku HTTP API Design Guide
Heroku HTTP API Design Guide
 
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
 
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
 
Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説
 
Rest ful api設計入門
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門
 

Similar to 第二回IoT関連技術勉強会 ログ収集編

VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料
Shinichiro Isago
 

Similar to 第二回IoT関連技術勉強会 ログ収集編 (20)

MySQL 監査システムを作った話 #mysqlcasual
MySQL 監査システムを作った話 #mysqlcasualMySQL 監査システムを作った話 #mysqlcasual
MySQL 監査システムを作った話 #mysqlcasual
 
Azure Data Explorer
Azure Data ExplorerAzure Data Explorer
Azure Data Explorer
 
20141220 clrh etw
20141220 clrh etw20141220 clrh etw
20141220 clrh etw
 
選択クエリを利用して訪問回数を調べる -マイクロソフトアクセスでクエリを使い集計する-【データ分析塾ab005】
選択クエリを利用して訪問回数を調べる -マイクロソフトアクセスでクエリを使い集計する-【データ分析塾ab005】選択クエリを利用して訪問回数を調べる -マイクロソフトアクセスでクエリを使い集計する-【データ分析塾ab005】
選択クエリを利用して訪問回数を調べる -マイクロソフトアクセスでクエリを使い集計する-【データ分析塾ab005】
 
Azure Serverless or Power Platform 〜 あなたならどっち?! - Azure Serverless 編
Azure Serverless or Power Platform 〜 あなたならどっち?! - Azure Serverless 編Azure Serverless or Power Platform 〜 あなたならどっち?! - Azure Serverless 編
Azure Serverless or Power Platform 〜 あなたならどっち?! - Azure Serverless 編
 
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
 
Writing-life Log実現のためのシステム造り
Writing-life Log実現のためのシステム造りWriting-life Log実現のためのシステム造り
Writing-life Log実現のためのシステム造り
 
Logにまつわるエトセトラ
LogにまつわるエトセトラLogにまつわるエトセトラ
Logにまつわるエトセトラ
 
Embulkを活用したログ管理システム
Embulkを活用したログ管理システムEmbulkを活用したログ管理システム
Embulkを活用したログ管理システム
 
[Sumo Logic x AWS 共催セミナー_20190829] Sumo Logic on AWS -AWS を活用したログ分析とセキュリティモニ...
[Sumo Logic x AWS 共催セミナー_20190829] Sumo Logic on AWS  -AWS を活用したログ分析とセキュリティモニ...[Sumo Logic x AWS 共催セミナー_20190829] Sumo Logic on AWS  -AWS を活用したログ分析とセキュリティモニ...
[Sumo Logic x AWS 共催セミナー_20190829] Sumo Logic on AWS -AWS を活用したログ分析とセキュリティモニ...
 
App center analyticsを使い倒そう
App center analyticsを使い倒そうApp center analyticsを使い倒そう
App center analyticsを使い倒そう
 
第1回関西ソーシャルゲーム勉強会 kpi発表
第1回関西ソーシャルゲーム勉強会 kpi発表第1回関西ソーシャルゲーム勉強会 kpi発表
第1回関西ソーシャルゲーム勉強会 kpi発表
 
INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~
INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~
INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~
 
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
 
松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入
 
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャシステム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
 
VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料
 
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9
 
AWS Black Belt Techシリーズ Amazon Kinesis
AWS Black Belt Techシリーズ  Amazon KinesisAWS Black Belt Techシリーズ  Amazon Kinesis
AWS Black Belt Techシリーズ Amazon Kinesis
 
【18-B-2】データ分析で始めるサービス改善最初の一歩
【18-B-2】データ分析で始めるサービス改善最初の一歩【18-B-2】データ分析で始めるサービス改善最初の一歩
【18-B-2】データ分析で始めるサービス改善最初の一歩
 

Recently uploaded

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
 

Recently uploaded (14)

ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 

第二回IoT関連技術勉強会 ログ収集編