SlideShare a Scribd company logo
1 of 125
Norikra
+ Fluentd
+ Elasticsearch
+ Kibana
リアルタイムストリーミング処理
ログ集計による異常検知
2015.3
次世代システム研究室
松井 大介
短期の開発で
不正検知の仕組みを
導入しようとしたとき、
Norikraでなんとかしてみたよ
っていう話です。
アジェンダ
• 不正検知システム
• リアルタイムストリーミング Norikra
• Fluentd + Elasticsearch
+ kibana
+ Norikra の連携方法
不正アクセス検知
急増するWebサイトへの攻撃
https://www.flickr.com/photos/peosoldier/16783585692/
引用元 http://d.hatena.ne.jp/Kango/20141229/1419867498
年間
40件以上
引用元 http://d.hatena.ne.jp/Kango/20141229/1419867498
金銭被害
身近にある攻撃
https://www.flickr.com/photos/peosoldier/16842615552/
某社の事例
パスワードリスト攻撃の件数
(別資料でデモ)
狙われるサービス
・ポイントの現金化が可能。Amazonギフ
ト券やEdy、Suicaポイントなど、足のつ
きにくいものが狙われる。
・攻撃時はアカウントの選別だけ行い、後
日別のISPからポイント交換に来る。
・一部情報が流出すると、関連する類似
サービスに対して攻撃される!
いいたいこと
・インターネットサービスは日常的に攻撃を
受けている。
(身近なサービスが結構攻撃を受けている)
・サービス規模や知名度に関わらず金銭が絡
むものは危険度が非常に高い。
・「攻撃されるかも」ではなく「いつか必ず
攻撃される」という認識が必要。
開発期間
実質1ヶ月で
先ほどの例にあった
サービスと
連携することに...!
いいたいこと
• 不正検知するために何らかの仕組みが
いますぐに必要
• プロジェクトの規模(予算・人員)的に
簡易的に導入できる仕組みが必要
不正検知システム
https://www.flickr.com/photos/peosoldier/16482691982/
[本気度 低] 単純なログ検知
[本気度 中] 詳細なログ検知
[本気度 高] リスクベース認証
[本気度 低]
単純なログ検知
おなじみ
監視ツール( Zabbix, Nagios など)で、
単純にERRORなどの文字列を監視する。
一定回数以上エラーが出ていた場合に
アラートなどの処理を走らせる。
監視ツール
長所
[低コスト]
ほぼ100%のシステムでは監視を導入するの
で、設定すれば準備できる。
短所
[防御力低]
IPやユーザIDなどの動的な条件を組み込む
ことが難しい。
[本気度 中]
詳細なログ検知
謹製 不正ログイン検知システム
(別資料でデモ)
自社の作り込みシステム
長所
[必要条件を満たす]
可視化+詳細な監視の実現
短所
[コスト]
作り込みのコストが高い。
・アプリの内部の改修
・バッチの処理モジュールの開発
[本気度 高]
リスクベース認証
リスクベース認証
リスクベース認証とは、ユーザーの環境情
報や行動パターンを分析して、リスクを判
定したうえで認証を課す方式だ。つまり、
IPアドレスや経由ISPなど、いつもと同じ
ユーザー情報でアクセスがあった場合は固
定パスワードで認証。いつもと違うユー
ザー情報でアクセスがあった場合は、パス
ワードを盗まれたりしたリスクが高いとし
て、あらかじめ登録しておいた追加の質問
に回答させる(追加認証する)。
http://special.nikkeibp.co.jp/ts/article/aa0h/111209/
たとえばCAPTCHA
http://ascii.jp/elem/000/000/483/483759/
いつもと違うアクセスが
あった場合に検知!?
データマイニング
https://www.flickr.com/photos/idfonline/16568645675/
「データあるところに異常あり」
データ分析の手法いろいろ
・外れ値検知
・変化点検知
・異常状態検知
外れ値検知
http://research.preferred.jp/2013/01/outlier/
変化点検知
http://www.slideshare.net/yokkuns/ss-8425312
異常発生検知
http://www.slideshare.net/yokkuns/ss-9031918
実現手法いろいろ
ちょっとどれも本気すぎる。。
データマイニング
長所
さまざまな異常を検知できる。
準リアルタイムで検知!
短所
今回はオーバースペック?!
(システム規模に合ってない)
(研究中の分野を含み簡易的に実現できない)
現状わずか6台しかない
管理者
ユーザ
店舗一覧
DB
サーバ
Web AP
サーバ
nginx+ php
監視
サーバ
開発の期間が短い
選定のポイント
• 導入コスト
サーバ少なくても動く
なるべく実装しない
• 運用コスト
仕様変更しやすい
• 引継ぎコスト
誰でもわかる
ターゲット
本気度 長所 短所 狙い
単純なログ監視 ・導入楽
・カスタマイズ性弱
・検知網羅性弱
詳細なログ監視
・細かい設定可能
・自動禁止可能
・可視化可能
・アプリ開発コスト高
・通常のアクセスを
見抜けない
リスクベース認証
・複雑なケースに
対応可能
・データマイニング
導入開発コスト高
このあたりを
低コストで
いいたいこと
• 本気度別にざっくり低中高がある。
• 本気を出せば、きりがない。
• 規模感に応じてベターな方法を探す。
_人人人人人人人人_
> 突然のNorikra <
 ̄Y^Y^Y^Y^Y^Y^ ̄
アジェンダ
• 不正検知システム
• リアルタイムストリーミング Norikra
• Flunentd + Elasticsearch
+ kibana
+ Norikra
乗鞍岳
Norikraとは
• 田籠氏が開発(元LINE 、現TD)
• 2014年5月に v1.0.0
• リアルタイムストリーミングエンジン
• jRuby(JVM)
• バックエンド Esper(Javaライブラリ)
• Google、CyberAngent、ドワンゴ各社が採用
• Hadoop規模以下のケースでログ集計、
Hadoopの前段でのログ集計事例など事例多数
特徴
• Fluentdからログを受け取って
ストリーミング集計して再転送
• SQLライクな集計処理記述
• スキーマレスなデータ読み込み
• JOIN、Subquery、ユーザ定義関数
• 再起動不要で集計処理追加可能
• ストレージなし
利用用途
• リアルタイムエラーログ集計
• バッチ集計前リアルタイム加工
• 過去データ集計
ターゲット
本気度 長所 短所 狙い
単純なログ監視 ・導入楽
・カスタマイズ性弱
・検知網羅性弱
詳細なログ監視
・細かい設定可能
・自動禁止可能
・可視化可能
・アプリ開発コスト高
・通常のアクセスを
見抜けない
Norikraが
つかえそう
リスクベース認証
・複雑なケースに
対応可能
・データマイニング
導入開発コスト高
システム構成とデータフロー
基本構成
Nginx
fluentd
Norikra
Elasticsearch
+ kibana
LOGサーバ
fluentd
MariaDB
不正
アクセス アクセス禁止
Nginx
Conf
Nginx
access_log
BAN処理
out_exec_filter
Elasticseach
out_elasticsearch
ログ→集計→IP特定→BAN
※http://dev.classmethod.jp/cloud/aws/block_dos_attack_by_norikra/ を参考にさせていただきました。
{"remote_addr":"10.132.3.16","count":101}
{"remote_addr":"10.132.3.21","count“:220}
select
remote_addr ,
COUNT(*) as count
from access.win:time_batch(1 min)
group by remote_addr
having count(*) > 1000
{ "time":"2015-03-29T22:17:37+09:00" , "remote_addr":"10.132.3.21" ,
"request_method":"GET" , "request_length":"176" , "request_uri":"/" , "https":"" ,
"uri":"/index.html" , "query_string":"-" , "status":"200" , "bytes_sent":"255" ,
"body_bytes_sent":"7" , "referer":"-" , "useragent":"curl/7.19.7 (x86_64-redhat-linux-gnu)
libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" , "forwardedfor":"-" ,
"request_time":"0.000" , "upstream_response_time":"-" , "request_body":"-" }
Nginx
Norikra
Fluentd
Fluentd
動的なイベント登録+スキーマ解釈
Fluentd経由でイベント発火
Nginx : アクセスの受付、ログ出力
Fluentd : ログ転送、IPBAN処理発火
Norikra : 集計
Elasticsearch+kibana : 可視化
説明が長くなりそうなので
ここでデモ
検知のために設定すること
GUIでクエリ登録だけ
今回のターゲット
攻撃元IPを
リアルタイムストリーミングで
特定する。
http://aaa.bbb.ccc.15/index.html に攻撃
⇒ Norikraで検知してIPをBAN設定を自動反映
攻撃サーバ5台 Nginx
サーバ
LOG
サーバ
(Norikra)
デモ
• 通常アクセスをKibanaで可視化(IP別)
• NorikraクエリをGUIで設定
• 攻撃アクセスのIPとHTTPステータスを
Kibanaで可視化
これから詳細を紐解いていきます
目指す世界
• サービス規模に適したプロダクト
• 極力開発せずに実現する集計(SQL)
• 簡単なインストール
• シンプルなインターフェース
サービス規模に適した
プロダクト
不正検知におけるログ集計
[リアルタイム集計]
不正アクセスのIPを
準リアルタイムで集計して特定。
[バッチ集計]
不正IPをあとで解除。
バッチとストリームの共存
(ラムダアーキテクチャ)
バッチ ストリーム
単位 1時間~数日 秒~数時間
処理量 G単位 K ~ M 単位
処理時間 数十秒~時間 ミリ秒
長所 大量処理 高速処理
短所 重い メモリに乗る範囲
プロダクト RDB
Hadoop
BigQuery
Redshift
Elasticsearch
Kafka
Storm
Spark Streaming
Kinesis
Elasticsearch
Norikra
サービス規模に応じた
リアルタイムストリーミング
負荷レベル サーバVM数 プロダクト
1Gbps 以上
100万req/s 以上
10台以上 Kafka
Storm
Spark Streaming
上記のレベルに
達しない場合
1台~ Norikra小規模なら
Norikra
Elasticsearchで
ラムダができる
高トラフィック時の
パフォーマンス検証
このぐらいまで無問題
秒間 1万アクセス
1分 60万アクセス
1日5 億~10億アクセス
[競合製品]
Fluent-plugin-datacounter
同じく田籠氏のストリーミング処理
プラグイン
Fluentd は Ruby (CRuby)のため、
複数プロセスの動作不可能
複数プロセス間でデータ集計のタイミングがず
れる。(回避策はあるものの対応コストがかか
る)
Norikraのほうが優勢
Elasticsearchだけでも
準リアルタイムできるのでは?
Elasticsearchの生クエリは
かなりわかりずらい。。
{
"size": 500,
"sort": {
"@timestamp": "desc"
},
"query": {
"filtered": {
"query": {
"query_string": {
"analyze_wildcard": true,
"query": "*"
}
},
"filter": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"gte": 1427696454189,
"lte": 1427697354189
}
}
}
],
"must_not": []
}
}
}
},
"highlight": {
"pre_tags": [
"@kibana-highlighted-field@"
],
"post_tags": [
"@/kibana-highlighted-field@"
],
"fields": {
"*": {}
}
},
"aggs": {
"2": {
"date_histogram": {
"field": "@timestamp",
"interval": "30s",
"pre_zone": "+09:00",
"pre_zone_adjust_large_interval": true,
"min_doc_count": 0,
"extended_bounds": {
"min": 1427696454189,
"max": 1427697354189
}
}
}
},
"fields": [
"*",
"_source"
],
"script_fields": {},
"fielddata_fields": [
"@timestamp"
]
Norikraは
普通のSQLを使ってます!
select
remote_addr ,
COUNT(*) as count
from access_admin.win:time_batch(1 min)
group by remote_addr
having count(*) > 1000
SQLはわかりやすい
https://www.flickr.com/photos/soldiersmediacenter/14113034008/
Nginx : アクセスの受付、ログ出力
Fluentd : ログ転送、IPBAN処理発火
Norikra : 集計
Elasticsearch+kibana : 可視化
SQLで
実現できる
SQLライクな集計を支える
Esper
a highly scalable, memory-efficient, in-
memory computing, SQL-standard,
minimal latency, real-time streaming-
capable Big Data processing engine for
historical data, or medium to high-
velocity data and high-variety data.
「3つシステムログをJOINして5分以内に
同時ログインしたユーザIDを抽出」
「来るべきイベントが届いてない、
または遅れて届いた」
特殊な検知も
対応できそう
SQLプロダクトの流行
Stream Batch
SQL Norikra
Spark SQL
Hive
Implara
Non SQL Kafka
Strom
Spark Streaming
MapReduce
SQLは影響力大きい
ターゲット
本気度 長所 短所 狙い
単純なログ監視 ・導入楽
・カスタマイズ性弱
・検知網羅性弱
詳細なログ監視
・細かい設定可能
・自動禁止可能
・可視化可能
・アプリ開発コスト高
・通常のアクセスを
見抜けない
ほぼほぼ
実現
リスクベース認証
・複雑なケースに
対応可能
・データマイニング
導入開発コスト高
インストール簡単
$ sudo yum install -y git gcc-c++
$ git clone
https://github.com/sstephenson/rbenv.git
~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"'
>> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ rbenv --version
rbenv 0.4.0-95-gf71e227
rbenv
$ git clone https://github.com/sstephenson/ruby-build.git
~/.rbenv/plugins/ruby-build
$ rbenv install -l|grep jruby
jruby-1.5.6
(snip)
jruby-1.7.9
jruby-9000-dev
jruby-9000+graal-dev
$ rbenv install jruby-1.7.9
$ rbenv shell jruby-1.7.9
$ ruby -v
jruby 1.7.9 (1.9.3p392) 2013-12-06 87b108a on
OpenJDK 64-Bit Server VM 1.7.0_51-
mockbuild_2014_03_13_04_35-b00 [linux-amd64]
jruby
$ gem install norikra --no-ri --no-rdoc
$ rbenv rehash
$ which norikra
~/.rbenv/shims/norikra
$ gem list --local | grep norikra
norikra (0.1.5 java)
norikra-client-jruby (0.1.5 java)
$ norikra start
norikra
AnsibleもDockerもあるよ!
シンプルな
インターフェース
norikra-client(コマンドライン)
$ norikra-client target open test_target
$ echo '{"name":"atom", "age":55}'
| norikra-client event send test_target
$ norikra-client target fetch test_query
Client Library
パフォーマンス
メモリ4G
3,000/secのリクエスト負荷を
1時間以上継続して問題なし
※メモリが少なすぎるとFullGCを連発して
ストリーミングどころではなくなるので注意!
JVMチューニング
• 実は内部がデフォルトでGCオプションを
自動で色々と指定してくれる。
• ヒープのオプションはデフォルトでは指
定していない、自分で指定すること。
norikra start -Xmx2g
Norikraダウン時の冗長構成
Fluentd Standby オプションで切り替え可能
(現状メモリの共有はできない)
できないこと
• ストレージではないので、メモリに乗る
分しかデータを集計できない。
(ログサイズに依存)
• 分散処理は自分で工夫すればできるかも
(1箇所に集中したデータを分散して行う
仕組みはない)
いいたいこと
• リアルタイム集計が小規模でも導入可能。
• ほぼ設定だけでよいお手軽さ。
(アプリの実装不要)
• 再起動不要で動的反映。
• SQLライクな記述はわかりやすく
保守性が高い。
(書いてみるとわかる。Elasticsearchの
クエリを素で書くのは結構大変。)
Norikra
ユースケース
Web系企業で大人気
• LINE
• サイバーエージェント
• メルカリ
• Pixiv
• カヤック
• Gunosy
• Google
LINE
[用途] エラーログの集計で利用
LINE Bisiness Connect
SELECT
// 集計日時
current_timestamp() AS collected_timestamp,
channelId AS channel_id,
reason,
detail,
// エラー発生件数
count(*) AS error_count,
// 単位時間内で検出された最初のエラー発生日時
min(timestamp) AS first_timestamp,
// 単位時間内で検出された最後のエラー発生日時
max(timestamp) AS last_timestamp
FROM
// ウィンドウを1分ごとに定義
event_endpoint_error_log.win:time_batch(60 sec)
GROUP BY
channelId, reason, detail
HAVING
// エラー件数が1件以上あった場合に限定
count(*) > 0
[用途]
Elarasticsearch 投入時の事前集計
200 req/s * 10台 = 2000 req/s
サイバーエージェント
Pixiv
[用途]
ログ保存時の事前集計
メルカリ
http://www.slideshare.net/kazeburo/norikra-mackerel
[用途] Mackerel 投入時の事前集計
カヤック
[用途] Zabbix 監視用のログ集計
Gunosy
https://speakerdeck.com/shunsukeaihara/norikra-in-gunosy-network-ads-at-norikra-meetup-number-2
BigQuery + fluentd + Norikra で
ラムダアーキテクチャ
http://blog.yoslab.com/entry/2014/07/09/202304
https://speakerdeck.com/kazunori279/building-a-lambda-architecture-in-10-minutes-with-bigquery-cep-and-docker
[用途] バッチ処理時の事前集計
ユースケースまとめ
1.ログ集計やバッチ集計の補助機能
2.データ量の削減、機能開発の軽減
Norikra まとめ
• リアルタイム集計を設定ファイル+SQL
• 小規模から大規模まで導入可能
• 実績多数
アジェンダ
• 不正検知システム
• リアルタイムストリーミング Norikra
• Fluentd + Elasticsearch
+ kibana
+ Norikra の連携方法
検知結果を可視化したい
https://profarms.wordpress.com/2012/09/02/
out-of-radar/
Elasitcsearch
• Luceneベースの検索エンジン(高速)
• スキーマレスで柔軟なデータ取り込み
(型定義ファイル不要)
• Kuromojiと合わせて日本語検索可能
• DBテーブルを連携するプラグイン
• Fluentd プラグインでデータを取り込める
• Facet、 Aggregation による集計処理
• クラスタを組める
kibana
• 時間軸ベースのログの検索&視覚化ツール
• Elasticsearchと連携してフロントエンド
として動作する。
• Elasticsearchのクエリを書かなくても
グラフ描画できる。
• UIがかっこいい。
• ログの準リアルタイム可視化ツールとし
て事例が増えている。
綺麗ですね(小並感)
Kibana 4 から白くなりました
インストールは簡単です。
1台からはじめられます。
(Ansibleもあります)
Fluentd と Norikra の接続
管理者
ユーザ
Nginx
+ php
fluentd
Norikra
Elastic
Search
+ kibana
LOGサーバ
fluentd
Fluentプラグイン
$ gem install norikra-client
コードを書かなくても
お互いログのやり取りができるようになる!
Nginx
Conf
Nginx
access_log
処理
out_exec_filter
Elasticseach
out_elasticsearch
WEBサーバFluentd
※http://dev.classmethod.jp/cloud/aws/block_dos_attack_by_norikra/ を参考にさせていただきました。
<source>
type tail
format json
tag nginx.access.admin
path /var/log/nginx/web.its-lab.net/access.log
pos_file /var/log/td-agent/web.its-
lab.net_access.log.pos
</source>
Webサーバ側のFluentd
<match nginx.access.*>
type copy
<store>
type elasticsearch
host 10.132.3.31
port 9200
type_name access_log
logstash_format true
logstash_prefix gmo_access
logstash_dateformat %Y%m
</store>
<store>
type norikra
norikra 10.132.3.31:26571
buffer_queue_limit 1
retry_limit 0
remove_tag_prefix nginx
target_map_tag true
</store>
</match>
Webサーバ側のFluentd
赤枠以外
は
コピペで
OK!
管理者
ユーザ
Nginx
+ php
fluentd
Norikra
Elastic
Search
+ kibana
LOGサーバ
fluentd
Fluentプラグイン
$ gem install elasticsearch
コードを書かなくても
お互いログのやり取りができるようになる!
Nginx
Conf
Nginx
access_log
処理
out_exec_filter
Elasticseach
out_elasticsearch
LOGサーバFlunentd
※http://dev.classmethod.jp/cloud/aws/block_dos_attack_by_norikra/ を参考にさせていただきました。
<source>
type norikra
norikra localhost:26571
<fetch>
method sweep
target access
tag query_name
tag_prefix norikra.query
interval 30s
</fetch>
</source>
Logサーバ側のFluentd
自動で
集計を
読み込む
<match norikra.query**>
type copy
<store>
type exec_filter
command /bin/bash /etc/td-agent/blocker.sh
time_key time
in_format json
out_format json
</store>
<store>
type elasticsearch
host localhost
port 9200
type_name access_log
logstash_format true
logstash_prefix norikra-count
logstash_dateformat %Y%m
</store>
Logサーバ側のFluentd
Fluentdから
構成
管理ツール
を叩く
実はただの
シェルスクリプト!
Nginx
Conf
Nginx
access_log
※http://dev.classmethod.jp/cloud/aws/block_dos_attack_by_norikra/ を参考にさせていただきました。
処理
out_exec_filter
Elasticseach
out_elasticsearch
全部つながったはず!
いいたいこと
• Fluentd+Elastcisearch+kibana+Norikra
インストール+設定ファイルだけで
連携できる。
残タスク
• 限界を超える処理が発生した場合、
どうやって分散・リプレースするか。
• SQLでどこまで複雑なことができるのか。
(まだ攻撃を受けてないのでリクエストがわからない)
• Elasticsearch+Kibana の
もっと凝った使い方
全体まとめ
• 不正アクセスに対して対応する手法は
簡易的に導入できるものある。
• Norikraはラムダアーキテクチャの
利用事例が豊富。
• Elasticsearch+kibanaは導入が簡単で
可視化に有効。
ご静聴ありがとうございました。

More Related Content

What's hot

Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei Sutou
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)NTT DATA OSS Professional Services
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
実践!Elasticsearch + Sudachi を用いた全文検索エンジン実践!Elasticsearch + Sudachi を用いた全文検索エンジン
実践!Elasticsearch + Sudachi を用いた全文検索エンジンS. T.
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon Web Services Japan
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようShinsuke Sugaya
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術Drecom Co., Ltd.
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 

What's hot (20)

Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
実践!Elasticsearch + Sudachi を用いた全文検索エンジン実践!Elasticsearch + Sudachi を用いた全文検索エンジン
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 

Viewers also liked

Moving From MySQL to Elasticsearch for Analytics
Moving From MySQL to Elasticsearch for AnalyticsMoving From MySQL to Elasticsearch for Analytics
Moving From MySQL to Elasticsearch for AnalyticsPercolate
 
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析Naoyuki Yamada
 
Machine Learning Bootstrap
Machine Learning BootstrapMachine Learning Bootstrap
Machine Learning BootstrapTakahiro Kubo
 
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所Hibino Hisashi
 
Percolate: Content Marketing 360: From Planning to Performance
Percolate: Content Marketing 360: From Planning to PerformancePercolate: Content Marketing 360: From Planning to Performance
Percolate: Content Marketing 360: From Planning to PerformancePercolate
 
Elastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみたElastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみたMasamitsu Maehara
 

Viewers also liked (6)

Moving From MySQL to Elasticsearch for Analytics
Moving From MySQL to Elasticsearch for AnalyticsMoving From MySQL to Elasticsearch for Analytics
Moving From MySQL to Elasticsearch for Analytics
 
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析
 
Machine Learning Bootstrap
Machine Learning BootstrapMachine Learning Bootstrap
Machine Learning Bootstrap
 
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
 
Percolate: Content Marketing 360: From Planning to Performance
Percolate: Content Marketing 360: From Planning to PerformancePercolate: Content Marketing 360: From Planning to Performance
Percolate: Content Marketing 360: From Planning to Performance
 
Elastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみたElastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみた
 

Similar to Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知

CloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようCloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようEiji KOMINAMI
 
Embulkを活用したログ管理システム
Embulkを活用したログ管理システムEmbulkを活用したログ管理システム
Embulkを活用したログ管理システムAkihiro Ikezoe
 
Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介Toshiaki Enami
 
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装Toshiyuki Shimono
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Sotaro Kimura
 
20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch Service20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch ServiceAmazon Web Services Japan
 
implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化Atsushi Hayakawa
 
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールElasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールShinsuke Sugaya
 
Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方Yuichi Hattori
 
Angularfire でのSNS構築
Angularfire でのSNS構築Angularfire でのSNS構築
Angularfire でのSNS構築Yuuta Moriyama
 
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースMasaaki Nabeshima
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたことMITSUNARI Shigeo
 
HashiCorp Vault 紹介
HashiCorp Vault 紹介HashiCorp Vault 紹介
HashiCorp Vault 紹介hashicorpjp
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤Masahiro Kiura
 
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampクラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampMasahiro NAKAYAMA
 
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwSerfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwMasahito Zembutsu
 
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価Hiroki Kashiwazaki
 
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合SmartNews, Inc.
 

Similar to Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知 (20)

CloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようCloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しよう
 
Embulkを活用したログ管理システム
Embulkを活用したログ管理システムEmbulkを活用したログ管理システム
Embulkを活用したログ管理システム
 
Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介
 
Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介
 
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
 
20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch Service20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch Service
 
implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化
 
20141220 clrh etw
20141220 clrh etw20141220 clrh etw
20141220 clrh etw
 
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールElasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
 
Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方
 
Angularfire でのSNS構築
Angularfire でのSNS構築Angularfire でのSNS構築
Angularfire でのSNS構築
 
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
HashiCorp Vault 紹介
HashiCorp Vault 紹介HashiCorp Vault 紹介
HashiCorp Vault 紹介
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
 
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampクラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
 
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwSerfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
 
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
 
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
 

Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知