Clojureによるログ収集と解析

6,874 views

Published on

Tokyo.clj #18の発表用です。多分あとで上げ直します。

Published in: Technology
0 Comments
29 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,874
On SlideShare
0
From Embeds
0
Number of Embeds
223
Actions
Shares
0
Downloads
36
Comments
0
Likes
29
Embeds 0
No embeds

No notes for slide

Clojureによるログ収集と解析

  1. 1. Clojureによる Clojureによる ログ収集と解析 kawasima
  2. 2. Collecting Logs 2
  3. 3. 昨今の不正アクセスの増加 パスワードが漏れてしまった状態なので、システム 的に防ぐのは難しい。 不正アクセスをいかに 速く検知するかが勝負 3
  4. 4. ログの収集 よく使われているのはこの2種類 Apache Flume (Java) Fluentd (ruby) Clojureから使うとしたら、こっち 4
  5. 5. Flumeの仕組み 5
  6. 6. Flumeの欠点 ● 設定がいまどきJavaのプロパティファイル形 式 6
  7. 7. そこはS式でしょ Clj-flume-node (https://github.com/kawasima/clj-flume-node) 構造化もされてて分かりやすい 7
  8. 8. カスタムのSourceやSinkもClojureで 8
  9. 9. ログのリアルタイム解析 9
  10. 10. Storm Clojure キラーアプリの1つ 10
  11. 11. Mine Canary (開発途上) https://github.com/kawasima/mine-canary 不正アクセス検知のためのBoltを提供する。 一定時間内に複数のIPからログインの試行がある ● 一定時間内に同一IPから複数のアカウントのログイン 試行がある ● 一定時間内に地理的に離れた場所からのログイン試行 がある ● など… 不正ログインっぽいのを検出する 11
  12. 12. Flume->Storm 12
  13. 13. Push-Pull-Conflict FlumeのSinkはプッシュ型 StormのSpoutはプル型 間にメッセージ貯めてお く必要が出てくる。 Apache Kafkaとか Rabbit MQを使うのが 定石らしい 13
  14. 14. But... Flumeの中にもChannelという Queueingの仕組みはあるので、間に同 じようなプロダクトを挟むのは冗長だ し、障害ポイントを増やすだけでは? 14
  15. 15. ulon-colon データを溜めるキューは持たずに直接ピア同 士でデータ送受信する仕組み。 Producer WebSocket Fressian Consumer https://github.com/kawasima/ulon-colon 15
  16. 16. Ulon-colon producer 16
  17. 17. Ulon-colon consumer 17
  18. 18. Flume + ulon-colon のサンプル http://bit.ly/1jMEdVA 18

×