diff options
Diffstat (limited to 'src/daq')
-rw-r--r-- | src/daq/README | 3 | ||||
-rw-r--r-- | src/daq/nginx-lua/s5-nginx.lua | 54 |
2 files changed, 56 insertions, 1 deletions
diff --git a/src/daq/README b/src/daq/README index 299ad16..fa280ad 100644 --- a/src/daq/README +++ b/src/daq/README @@ -13,4 +13,5 @@ flumotion-rrd : a batch import for exisiting rrd data written by flumotion rrd plug accesslog : a batch or live importer for acceslog-based data (nginx, apache) - +nginx-lua +: a live importer using nginx Lua module to get access log like information diff --git a/src/daq/nginx-lua/s5-nginx.lua b/src/daq/nginx-lua/s5-nginx.lua new file mode 100644 index 0000000..3db5201 --- /dev/null +++ b/src/daq/nginx-lua/s5-nginx.lua @@ -0,0 +1,54 @@ +-- +-- sfive +-- +-- sfive - spreadspace streaming statistics suite is a generic +-- statistic collection tool for streaming server infrastuctures. +-- The system collects and stores meta data like number of views +-- and throughput from a number of streaming servers and stores +-- it in a global data store. +-- The data acquisition is designed to be generic and extensible in +-- order to support different streaming software. +-- sfive also contains tools and applications to filter and visualize +-- live and recorded data. +-- +-- +-- Copyright (C) 2014 Christian Pointner <equinox@spreadspace.org> +-- Markus Grueneis <gimpf@gimpf.org> +-- +-- This file is part of sfive. +-- +-- sfive is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License version 3 +-- as published by the Free Software Foundation. +-- +-- sfive is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with sfive. If not, see <http://www.gnu.org/licenses/>. +-- +-- +-- Install this by adding the following to your nginx.conf +-- +-- location /path/to/hls { +-- log_by_lua_file '/path/to/s5-nginx.lua'; +-- } +-- + +local status = ngx.var.status + +if status == '200' or status == '206' then + local json = '{' + json = json .. '"time": "' .. string.gsub(ngx.utctime(), " ", "T", 1) .. '",' + json = json .. '"client": "' .. ngx.var.remote_addr .. '",' + json = json .. '"port": ' .. ngx.var.remote_port .. ',' + json = json .. '"ua": "' .. ngx.var.http_user_agent .. '",' + json = json .. '"uri": "' .. ngx.var.uri .. '",' + json = json .. '"status": ' .. status .. ',' + json = json .. '"bytes_sent": ' .. ngx.var.bytes_sent + json = json .. '}' + + ngx.log(ngx.ERR, json) +end |