fluent-plugin-norikra #fluentdcasual
-
Upload
satoshi-tagomori -
Category
Technology
-
view
27.128 -
download
2
description
Transcript of fluent-plugin-norikra #fluentdcasual
fluent-plugin-norikra
Fluentd Casual Talks #32013/12/13(Fri)@tagomoris
13年12月13日金曜日
TAGOMORI Satoshi (@tagomoris)LINE Corp.
Hadoop, Fluentd, Norikra, ...
13年12月13日金曜日
13年12月13日金曜日
Norikra:Schema-less Stream Processing with SQL
13年12月13日金曜日
Norikra(1):Schema-less event stream:
Add/Remove data fields whenever you want
SQL:No more restarts to add/remove queriesw/ JOINs, w/ SubQueriesw/ UDF
Truly Complex events:Nested Hash/Array, accessible directly from SQL
13年12月13日金曜日
Norikra(2):Open source software:
Licensed under GPLv2Based on EsperUDF plugins from rubygems.org
Ultra-fast bootstrap & small start:3mins to install/start1 server
13年12月13日金曜日
Norikra Queries: (1)
SELECT name, ageFROM events
13年12月13日金曜日
Norikra Queries: (1)
SELECT name, ageFROM events
{“name”:”tagomoris”, “age”:34, “address”:”Tokyo”, “corp”:”LINE”, “current”:”Shibuya”}
{“name”:”tagomoris”,”age”:34}
13年12月13日金曜日
Norikra Queries: (1)
SELECT name, ageFROM events
{“name”:”tagomoris”, “address”:”Tokyo”, “corp”:”LINE”, “current”:”Shibuya”}
nothing
13年12月13日金曜日
Norikra Queries: (2)
SELECT name, ageFROM events
WHERE current=”Shibuya”
{“name”:”tagomoris”, “age”:34, “address”:”Tokyo”, “corp”:”LINE”, “current”:”Shibuya”}
{“name”:”tagomoris”,”age”:34}
13年12月13日金曜日
Norikra Queries: (2){“name”:”kiyoto”, “age”:99, “address”:”CA”, “corp”:”TD”, “current”:”MV”}
SELECT name, ageFROM events
WHERE current=”Shibuya”
nothing
13年12月13日金曜日
Norikra Queries: (3)
SELECT age, COUNT(*) as cntFROM events.win:time_batch(5 mins)
GROUP BY age
13年12月13日金曜日
Norikra Queries: (3)
SELECT age, COUNT(*) as cntFROM events.win:time_batch(5 mins)
GROUP BY age
{“name”:”tagomoris”, “age”:34, “address”:”Tokyo”, “corp”:”LINE”, “current”:”Shibuya”}
{”age”:34,”cnt”:3}, {“age”:33,”cnt”:1}, ...
every 5 mins
13年12月13日金曜日
Norikra Queries: (4)
SELECT age, COUNT(*) as cntFROM
events.win:time_batch(5 mins)GROUP BY age
{“name”:”tagomoris”, “age”:34, “address”:”Tokyo”, “corp”:”LINE”, “current”:”Shibuya”}
{”age”:34,”cnt”:3}, {“age”:33,”cnt”:1}, ...every 5 mins
SELECT max(age) as maxFROM
events.win:time_batch(5 mins)
{“max”:51}
13年12月13日金曜日
Norikra Queries: (5)
SELECT age, COUNT(*) as cntFROM events.win:time_batch(5 mins)
GROUP BY age
{“name”:”tagomoris”, “user:{“age”:34, “corp”:”LINE”, “address”:”Tokyo”}, “current”:”Shibuya”, “speaker”:true, “attend”:[true,true,false, ...]}
13年12月13日金曜日
Norikra Queries: (5)
SELECT user.age, COUNT(*) as cntFROM events.win:time_batch(5 mins)
GROUP BY user.age
{“name”:”tagomoris”, “user:{“age”:34, “corp”:”LINE”, “address”:”Tokyo”}, “current”:”Shibuya”, “speaker”:true, “attend”:[true,true,false, ...]}
13年12月13日金曜日
Norikra Queries: (5)
SELECT user.age, COUNT(*) as cntFROM events.win:time_batch(5 mins)
WHERE current=”Kyoto” AND attend.$0 AND attend.$1GROUP BY user.age
{“name”:”tagomoris”, “user:{“age”:34, “corp”:”LINE”, “address”:”Tokyo”}, “current”:”Shibuya”, “speaker”:true, “attend”:[true,true,false, ...]}
13年12月13日金曜日
Before: Fluentd
<match for.target.service.application.logs> type numeric_monitor unit minute tag service.response output_key_prefix request_api aggregate all monitor_key api_response_time percentiles 50,90,95,98,99</match>
EACH SERVICES
... AND RESTART OF FLUENTD!!!!!!!!!!!!!!
13年12月13日金曜日
After: Norikra
SELECT percentiles(api_response_time, [50,90,95,98,99]) AS pFROM target_service.win:time_batch(1 min)
EACH SERVICES!
WITHOUT ANY RESTARTS!
13年12月13日金曜日
<match for.target.service.access.logs.**> type forest subtype datacounter remove_prefix httpstatus.count unit minute output_per_tag yes aggregate tag output_messages yes count_key status pattern1 success ^2\d\d tag_prefix datacount.httpstatus</match>
Before: Fluentd
... AND RESTART OF FLUENTD!!!!!!!!!!!!!!
13年12月13日金曜日
After: Norikra
SELECT service, count(IF(status / 200 = 2, 1, NULL)) AS successFROM all_logs.win:time_batch(1 min)GROUP BY service
WITHOUT ANY RESTARTS!
13年12月13日金曜日
fluent-plugin-norikra
13年12月13日金曜日
fluent-plugin-norikra
in_norikraout_norikraout_norikra_filter
13年12月13日金曜日
out_norikra
Fluentd Norikraout_norikra
13年12月13日金曜日
in_norikra
FluentdNorikra in_norikra
13年12月13日金曜日
out_norikra_filter
Fluentd
Norikra
out_norikra_filter
13年12月13日金曜日
in/out_norikra and out_norikra_filter
out_norikra_filterFor Casual Use Cases / Fluentd CentricAutomated features
Server autostartQuery registration/fetches
in/out_norikraFor Norikra Users[NOT IMPLEMENTED: Distributed Norikra Support ]
13年12月13日金曜日
Please Try andEnjoy Norikra!
13年12月13日金曜日