-- -- 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 -- Markus Grueneis -- -- 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 . -- -- -- 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