Sometimes, Batch processes are too heavy Minutely Report - to know burst access - to know changes in the day Minutely Notification - to report error - to detect attacks
Realtime Aggregation SELECT COUNT(1, status REGEXP '^2..$') AS count_2xx, COUNT(1, status REGEXP '^3..$') AS count_3xx, COUNT(1, status REGEXP '^4..$') AS count_4xx, COUNT(1, status REGEXP '^5..$') AS count_5xx FROM access_log.win:time_batch(1 min)
method sweep # sweep output of query target gf # specify query group tag query_name # use query_name as tag tag_prefix norikra.gf # add tag prefix interval 10s
method sweep # sweep output of query target idobata # specify query group tag query_name # use query_name as tag tag_prefix norikra.idobata # add tag prefix interval 10s
method sweep # sweep output of query target es # specify query group tag query_name # use query_name as tag tag_prefix norikra.es # add tag prefix interval 10s
HTTP Status count SELECT COUNT(1, status REGEXP '^2..$') AS count_2xx, COUNT(1, status REGEXP '^3..$') AS count_3xx, COUNT(1, status REGEXP '^4..$') AS count_4xx, COUNT(1, status REGEXP '^5..$') AS count_5xx FROM access_log.win:time_batch(1 min) Name status_count Group gf Query
HTTP Status count SELECT COUNT(1, status REGEXP '^2..$') AS count_2xx, COUNT(1, status REGEXP '^3..$') AS count_3xx, COUNT(1, status REGEXP '^4..$') AS count_4xx, COUNT(1, status REGEXP '^5..$') AS count_5xx FROM access_log.win:time_batch(1 min) Name status_count Group mackerel Query
HTTP Status count SELECT "Notify: over 1000 access" AS message, COUNT(*) AS count FROM access_log.win:time_batch(1 min) WHERE count > 1000 Name notify_error Group idobata Query
Hardware structure - Norikra needs many memory (min. 8GB) - CPU cores are not so much required - Norikra is SPOF yet - Norikra can’t share query stats between active/standby