diff options
author | Christian Pointner <equinox@spreadspace.org> | 2014-10-19 00:29:51 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2014-10-19 00:29:51 +0200 |
commit | 8daa5e01c9f61b7905629b5098f6ccd017fe4539 (patch) | |
tree | 83e5ad8f0ac0585ce7b1e6f9e2fc7c7ee6844ab9 /src/daq/nginx-lua/s5-nginx-log.lua | |
parent | reverted to old nginx-lua model (diff) |
daq: nginx lua aggregated files into one
Diffstat (limited to 'src/daq/nginx-lua/s5-nginx-log.lua')
-rw-r--r-- | src/daq/nginx-lua/s5-nginx-log.lua | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/src/daq/nginx-lua/s5-nginx-log.lua b/src/daq/nginx-lua/s5-nginx-log.lua deleted file mode 100644 index 43d2394..0000000 --- a/src/daq/nginx-lua/s5-nginx-log.lua +++ /dev/null @@ -1,100 +0,0 @@ --- --- 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-log.lua'; --- } --- - -local cleanup_delay = 1200 -local log_exptime = 600 - -local log_cleanup = function(premature) - local sfive = ngx.shared.sfive - sfive:flush_expired() - if premature then - return - end - local ok, err = ngx.timer.at(cleanup_delay, log_cleanup) - if not ok then - ngx.log(ngx.ERR, "SFive(log): failed to reenqueue log_cleanup: ", err) - sfive:delete("log:cleanup_running") - return - end -end - -local start_cleanup_thread = function(sfive) - local ok, err, force = sfive:add("log:cleanup_running", 1) - if not ok then - if err ~= "exists" then - ngx.log(ngx.ERR, "SFive(log): failed to set cleanup_running flag: " .. err) - end - return - end - ok, err = ngx.timer.at(cleanup_delay, log_cleanup) - if not ok then - ngx.log(ngx.ERR, "SFive(log): failed to enqueue log_cleanup: ", err) - sfive:delete("log:cleanup_running") - return - end -end - -local status = ngx.var.status - -if status == '200' or status == '206' then - local sfive = ngx.shared.sfive - local idx, err = sfive:incr("log:idx", 1) - if not idx then - ngx.log(ngx.ERR, "SFive(log): incrementing log index failed: " .. err) - else - local json = '{' - json = json .. '"time": "' .. string.gsub(ngx.utctime(), " ", "T", 1) .. 'Z",' - 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 .. '}' - - local sfive_data = ngx.shared.sfive_data - local ok, err, force = sfive_data:add(idx, json, log_exptime) - if not ok then - ngx.log(ngx.ERR, "SFive(log): adding log line (".. idx .. ") to log store failed: " .. err) - elseif force then - ngx.log(ngx.WARN, "SFive(log): adding log line has overwritten other log lines - consider increasing the log store!") - end - start_cleanup_thread(sfive) - end -end |