SlideShare a Scribd company logo
Clojureによる
Clojureによる
ログ収集と解析

kawasima
Collecting Logs

2
昨今の不正アクセスの増加
パスワードが漏れてしまった状態なので、システム
的に防ぐのは難しい。
不正アクセスをいかに
速く検知するかが勝負

3
ログの収集
よく使われているのはこの2種類
Apache Flume
(Java)

Fluentd
(ruby)

Clojureから使うとしたら、こっち

4
Flumeの仕組み

5
Flumeの欠点
●

設定がいまどきJavaのプロパティファイル形
式

6
そこはS式でしょ
Clj-flume-node (https://github.com/kawasima/clj-flume-node)

構造化もされてて分かりやすい

7
カスタムのSourceやSinkもClojureで

8
ログのリアルタイム解析

9
Storm
Clojure キラーアプリの1つ

10
Mine Canary (開発途上)
https://github.com/kawasima/mine-canary

不正アクセス検知のためのBoltを提供する。
一定時間内に複数のIPからログインの試行がある
●
一定時間内に同一IPから複数のアカウントのログイン
試行がある
●
一定時間内に地理的に離れた場所からのログイン試行
がある
●

など… 不正ログインっぽいのを検出する

11
Flume->Storm

12
Push-Pull-Conflict
FlumeのSinkはプッシュ型
StormのSpoutはプル型

間にメッセージ貯めてお
く必要が出てくる。
Apache Kafkaとか
Rabbit MQを使うのが
定石らしい

13
But...
Flumeの中にもChannelという
Queueingの仕組みはあるので、間に同
じようなプロダクトを挟むのは冗長だ
し、障害ポイントを増やすだけでは?

14
ulon-colon
データを溜めるキューは持たずに直接ピア同
士でデータ送受信する仕組み。

Producer

WebSocket
Fressian

Consumer

https://github.com/kawasima/ulon-colon

15
Ulon-colon producer

16
Ulon-colon consumer

17
Flume + ulon-colon のサンプル
http://bit.ly/1jMEdVA

18

More Related Content

PDF
キメるClojure
PDF
モダンJavaScript環境構築一歩目
PDF
Reactive Extensions v2.0
PDF
Lisp Tutorial for Pythonista : Day 4
PDF
Javascriptのあれやこれやをまとめて説明してみる
PPTX
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
PPT
MySQL Casual Talks Vol.3 LT
PPT
Zabbix study5lt
キメるClojure
モダンJavaScript環境構築一歩目
Reactive Extensions v2.0
Lisp Tutorial for Pythonista : Day 4
Javascriptのあれやこれやをまとめて説明してみる
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
MySQL Casual Talks Vol.3 LT
Zabbix study5lt

What's hot (20)

PDF
コンピューティングとJava~なにわTECH道
PDF
C#次世代非同期処理概観 - Task vs Reactive Extensions
PDF
Tide - SmalltalkでSPA
PPTX
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
PDF
MongoDBではじめるカジュアルなタイムラインシステム
PDF
JavaOne2015報告またはこれからのJava
PDF
From JS To CLJS
PDF
覚醒!JavaScript
PDF
Jvm internal
PDF
明日から使える Java SE 7
PDF
Programming camp 2008, Codereading
PDF
カジュアルにMongo dbのbackup機能説明
PDF
MoteMote Compiler Plugin
PPT
第4回勉強会 Groovyの文法からSpockまで
PDF
Kink: invokedynamic on a prototype-based language
PDF
NanoStrand
PPTX
LINQ 概要 + 結構便利な LINQ to XML
PDF
gumiStudy#7 The MessagePack Project
PDF
ECMAScript6による関数型プログラミング
PDF
JavaScript基礎勉強会
コンピューティングとJava~なにわTECH道
C#次世代非同期処理概観 - Task vs Reactive Extensions
Tide - SmalltalkでSPA
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
MongoDBではじめるカジュアルなタイムラインシステム
JavaOne2015報告またはこれからのJava
From JS To CLJS
覚醒!JavaScript
Jvm internal
明日から使える Java SE 7
Programming camp 2008, Codereading
カジュアルにMongo dbのbackup機能説明
MoteMote Compiler Plugin
第4回勉強会 Groovyの文法からSpockまで
Kink: invokedynamic on a prototype-based language
NanoStrand
LINQ 概要 + 結構便利な LINQ to XML
gumiStudy#7 The MessagePack Project
ECMAScript6による関数型プログラミング
JavaScript基礎勉強会
Ad

Viewers also liked (20)

PDF
で、次は何がくるの? - 第2回 TIS Matsuri
PDF
元気玉的 分散テスト 実行システム TestStreamer
PDF
JobStreamerではじめるJavaBatchのクラウド分散実行
PDF
エスイーのしごと
PDF
たとえ日本人同士でも必要な異文化理解力
PDF
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
PDF
Boilerplate vs Magic
PDF
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
PDF
Antifragile Clojure
PDF
SIerにとっての越境 @ DevLOVE 199
PDF
イマドキのExcelスクショの撮り方
PDF
イミュータブルデータモデル(世代編)
PDF
イミュータブルデータモデル(入門編)
PPTX
春期夏期実習活動報告会
PPTX
enPiTにおけるチームによるシステム開発演習と学部への展開
PDF
JJUG CCC 2015 Spring 総会資料
PDF
言語設計者が意味論を書くときに考えていたこと
PPTX
実積ゼミの説明2015
PDF
OSSで支えられるライブドアの巨大ログ集計 #nhntech
PDF
ログ管理でウキウキAndroid Life (Log Management in Android)
で、次は何がくるの? - 第2回 TIS Matsuri
元気玉的 分散テスト 実行システム TestStreamer
JobStreamerではじめるJavaBatchのクラウド分散実行
エスイーのしごと
たとえ日本人同士でも必要な異文化理解力
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Boilerplate vs Magic
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
Antifragile Clojure
SIerにとっての越境 @ DevLOVE 199
イマドキのExcelスクショの撮り方
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(入門編)
春期夏期実習活動報告会
enPiTにおけるチームによるシステム開発演習と学部への展開
JJUG CCC 2015 Spring 総会資料
言語設計者が意味論を書くときに考えていたこと
実積ゼミの説明2015
OSSで支えられるライブドアの巨大ログ集計 #nhntech
ログ管理でウキウキAndroid Life (Log Management in Android)
Ad

Similar to Clojureによるログ収集と解析 (9)

PPTX
Fluentd+elasticsearch+kibana(fluentd編)
PDF
社内向けTech Talk資料~Fluentdの基本紹介~
KEY
Webサーバ勉強会 LT資料
PDF
PPTX
Ll tiger clojure
PDF
Kuduを調べてみた #dogenzakalt
PPTX
Herokuのログ解析ツール
PDF
Clojure
Fluentd+elasticsearch+kibana(fluentd編)
社内向けTech Talk資料~Fluentdの基本紹介~
Webサーバ勉強会 LT資料
Ll tiger clojure
Kuduを調べてみた #dogenzakalt
Herokuのログ解析ツール
Clojure

More from Yoshitaka Kawashima (20)

PDF
Grokking Simplicity探訪
PDF
ブルックスのいう銀の弾丸とは何か?
PDF
Are Design Patterns Dead?
PDF
強いて言えば「集約どう実装するのかな、を考える」な話
PDF
ソフトウェアにおける 複雑さとは何なのか?
PDF
Tackling Complexity
PDF
イミュータブルデータモデルの極意
PDF
ソフトウェア開発における『知の高速道路』
PDF
ソフトウェア設計における 意思決定とそのレビューの秘訣
PDF
本番障害に至る病
PDF
システムダウンのひみつ
PDF
Mavenの真実とウソ
PDF
アンチフラジャイルの世界
PDF
Atomic Architecture
PDF
それはYAGNIか? それとも思考停止か?
PDF
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
PDF
ウォーターフォールとアジャイルのフェアな比較
PDF
How to find tech books
PDF
Antifragile Java - Java Day Tokyo 2017 D1-E1
PDF
なぜデータモデリングが重要なのか?
Grokking Simplicity探訪
ブルックスのいう銀の弾丸とは何か?
Are Design Patterns Dead?
強いて言えば「集約どう実装するのかな、を考える」な話
ソフトウェアにおける 複雑さとは何なのか?
Tackling Complexity
イミュータブルデータモデルの極意
ソフトウェア開発における『知の高速道路』
ソフトウェア設計における 意思決定とそのレビューの秘訣
本番障害に至る病
システムダウンのひみつ
Mavenの真実とウソ
アンチフラジャイルの世界
Atomic Architecture
それはYAGNIか? それとも思考停止か?
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
ウォーターフォールとアジャイルのフェアな比較
How to find tech books
Antifragile Java - Java Day Tokyo 2017 D1-E1
なぜデータモデリングが重要なのか?

Clojureによるログ収集と解析