From d5400603cc276e5db1dbb962e607fe360ce8d3c6 Mon Sep 17 00:00:00 2001 From: Dominic Bosch Date: Wed, 23 Apr 2014 16:08:51 +0200 Subject: [PATCH] Histochart implemented to visualize ontimes --- coffee/http-listener.coffee | 6 +- config/system.json | 3 +- examples/eventproducers/hoststatistics.coffee | 25 +- js/http-listener.js | 15 +- webpages/public/chart.html | 45 - webpages/public/data/histochart.json | 1139 +++++++++++++++-- webpages/public/histogram.html | 39 + 7 files changed, 1099 insertions(+), 173 deletions(-) delete mode 100644 webpages/public/chart.html create mode 100644 webpages/public/histogram.html diff --git a/coffee/http-listener.coffee b/coffee/http-listener.coffee index 82f85b8..a208385 100644 --- a/coffee/http-listener.coffee +++ b/coffee/http-listener.coffee @@ -12,6 +12,8 @@ HTTP Listener # - [Request Handler](request-handler.html) requestHandler = require './request-handler' +# - [Persistence](persistence.html) +db = require './persistence' # - Node.js Modules: [path](http://nodejs.org/api/path.html) and # [querystring](http://nodejs.org/api/querystring.html) @@ -67,8 +69,8 @@ activateWebHook = ( app, name ) => indexEvent name, body, resp # This is a hack to quickly allow storing of public accessible data if name is 'uptimestatistics' - path = path.resolve __dirname, '..', 'webpages', 'public', 'data', 'histochart.json' - fs.writeFile pathUsers, JSON.stringify( body, undefined, 2 ), 'utf8', ( err ) -> + fPath = path.resolve __dirname, '..', 'webpages', 'public', 'data', 'histochart.json' + fs.writeFile fPath, JSON.stringify( JSON.parse( body ), undefined, 2 ), 'utf8' ### Initializes the request routing and starts listening on the given port. diff --git a/config/system.json b/config/system.json index cf5bf8b..48f5a03 100644 --- a/config/system.json +++ b/config/system.json @@ -10,7 +10,8 @@ "file-path": "logs/server.log" }, "webhooks": [ - "github" + "github", + "uptimestatistics" ], "keygen-passphrase": "[TODO this has to come from prompt when server is started!]" } \ No newline at end of file diff --git a/examples/eventproducers/hoststatistics.coffee b/examples/eventproducers/hoststatistics.coffee index e8c2443..10c6222 100644 --- a/examples/eventproducers/hoststatistics.coffee +++ b/examples/eventproducers/hoststatistics.coffee @@ -1,15 +1,20 @@ fs = require 'fs' # libnmap = require 'node-libnmap' ping = require 'net-ping' -request = require 'request' +# request = require 'request' +needle = require 'needle' + try arrHosts = JSON.parse fs.readFileSync 'hostlist.json', 'utf8' + histData = JSON.parse fs.readFileSync 'histochart.json', 'utf8' catch err + console.error err console.error "Error reading host list file" process.exit() remoteUrl = "http://ec2-54-226-188-9.compute-1.amazonaws.com:8126" +# remoteUrl = "localhost:8125" # console.log arrHosts # libnmap.nmap 'scan', @@ -25,6 +30,9 @@ session = ping.createSession() everyMins = 10 oHosts = {} oPings = {} +if histData + oHosts = histData.hosts + oPings = histData.pingtimes fPollHosts = () -> semaphore = arrHosts.length pingTime = (new Date()).toISOString() @@ -36,14 +44,16 @@ fPollHosts = () -> oHosts[ target ] = {} oHosts[ target ][ pingTime ] = (new Date( rcvd - sent )).getTime() oPings[ pingTime ].ips.push target - + if --semaphore is 0 console.log 'All ping requests returned, pushing event into the system' oPings[ pingTime ].sum = oPings[ pingTime ].ips.length - fPushEvent + evt = currentlyon: oPings[ pingTime ].ips.length pingtimes: oPings hosts: oHosts + fPushEvent evt + fs.writeFile 'histochart.json', JSON.stringify( evt, undefined, 2 ), 'utf8' console.log "Pinging again in #{ everyMins } minutes" setTimeout fPollHosts, everyMins * 60 * 1000 @@ -51,15 +61,8 @@ fPollHosts = () -> fPollHosts() -options = - method: 'POST' - json: true - jar: true - fPushEvent = ( evt ) -> - options.url = remoteUrl + '/webhooks/uptimestatistics' - options.body = JSON.stringify evt - request options, ( err, resp, body ) -> + needle.post remoteUrl + '/webhooks/uptimestatistics', JSON.stringify( evt ), ( err, resp, body ) -> if err or resp.statusCode isnt 200 console.log 'Error in pushing event!' else diff --git a/js/http-listener.js b/js/http-listener.js index 85dbd1c..4a633d1 100644 --- a/js/http-listener.js +++ b/js/http-listener.js @@ -10,14 +10,20 @@ HTTP Listener */ (function() { - var activateWebHook, app, exports, express, indexEvent, initRouting, path, qs, requestHandler; + var activateWebHook, app, db, exports, express, fs, indexEvent, initRouting, path, qs, requestHandler; requestHandler = require('./request-handler'); + db = require('./persistence'); + path = require('path'); qs = require('querystring'); + fs = require('fs'); + + path = require('path'); + express = require('express'); app = express(); @@ -68,7 +74,12 @@ HTTP Listener return body += data; }); return req.on('end', function() { - return indexEvent(name, body, resp); + var fPath; + indexEvent(name, body, resp); + if (name === 'uptimestatistics') { + fPath = path.resolve(__dirname, '..', 'webpages', 'public', 'data', 'histochart.json'); + return fs.writeFile(fPath, JSON.stringify(JSON.parse(body), void 0, 2), 'utf8'); + } }); }); }; diff --git a/webpages/public/chart.html b/webpages/public/chart.html deleted file mode 100644 index 3459186..0000000 --- a/webpages/public/chart.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - {{{remote_scripts}}} - - - - {{{menubar}}} -
-
-

-
- {{{content}}} -
- - \ No newline at end of file diff --git a/webpages/public/data/histochart.json b/webpages/public/data/histochart.json index 943b68a..e4dcf32 100644 --- a/webpages/public/data/histochart.json +++ b/webpages/public/data/histochart.json @@ -1,157 +1,1072 @@ { - "currentlyon": 37, + "currentlyon": 35, "pingtimes": { - "2014-04-23T10:25:46.369Z": [ - "131.152.85.64", - "131.152.85.66", - "131.152.85.67", - "131.152.85.68", - "131.152.85.69", - "131.152.85.73", - "131.152.85.72", - "131.152.85.80", - "131.152.85.82", - "131.152.85.81", - "131.152.85.83", - "131.152.85.85", - "131.152.85.84", - "131.152.85.93", - "131.152.85.95", - "131.152.85.70", - "131.152.85.96", - "131.152.85.94", - "131.152.85.97", - "131.152.85.106", - "131.152.85.109", - "131.152.85.108", - "131.152.85.194", - "131.152.85.79", - "131.152.85.171", - "131.152.85.144", - "131.152.85.114", - "131.152.85.74", - "131.152.85.115", - "131.152.85.103", - "131.152.85.199", - "131.152.85.254", - "131.152.85.225", - "131.152.85.227", - "131.152.85.226", - "131.152.85.120", - "131.152.85.228" - ] + "2014-04-23T11:52:01.522Z": { + "ips": [ + "131.152.85.64", + "131.152.85.66", + "131.152.85.68", + "131.152.85.67", + "131.152.85.69", + "131.152.85.73", + "131.152.85.72", + "131.152.85.80", + "131.152.85.82", + "131.152.85.93", + "131.152.85.81", + "131.152.85.83", + "131.152.85.85", + "131.152.85.84", + "131.152.85.70", + "131.152.85.94", + "131.152.85.95", + "131.152.85.79", + "131.152.85.74", + "131.152.85.96", + "131.152.85.106", + "131.152.85.97", + "131.152.85.194", + "131.152.85.108", + "131.152.85.114", + "131.152.85.144", + "131.152.85.109", + "131.152.85.171", + "131.152.85.120", + "131.152.85.115", + "131.152.85.103", + "131.152.85.199", + "131.152.85.254", + "131.152.85.227", + "131.152.85.226", + "131.152.85.225", + "131.152.85.228" + ], + "sum": 37 + }, + "2014-04-23T12:02:05.626Z": { + "ips": [ + "131.152.85.64", + "131.152.85.66", + "131.152.85.67", + "131.152.85.68", + "131.152.85.69", + "131.152.85.73", + "131.152.85.72", + "131.152.85.80", + "131.152.85.81", + "131.152.85.82", + "131.152.85.83", + "131.152.85.74", + "131.152.85.84", + "131.152.85.85", + "131.152.85.93", + "131.152.85.94", + "131.152.85.95", + "131.152.85.96", + "131.152.85.97", + "131.152.85.106", + "131.152.85.108", + "131.152.85.103", + "131.152.85.70", + "131.152.85.194", + "131.152.85.109", + "131.152.85.114", + "131.152.85.144", + "131.152.85.171", + "131.152.85.115", + "131.152.85.120", + "131.152.85.79", + "131.152.85.199", + "131.152.85.254", + "131.152.85.227", + "131.152.85.225", + "131.152.85.226", + "131.152.85.228" + ], + "sum": 37 + }, + "2014-04-23T12:12:09.733Z": { + "ips": [ + "131.152.85.67", + "131.152.85.64", + "131.152.85.68", + "131.152.85.69", + "131.152.85.73", + "131.152.85.66", + "131.152.85.80", + "131.152.85.82", + "131.152.85.83", + "131.152.85.84", + "131.152.85.85", + "131.152.85.81", + "131.152.85.93", + "131.152.85.94", + "131.152.85.74", + "131.152.85.95", + "131.152.85.96", + "131.152.85.97", + "131.152.85.106", + "131.152.85.108", + "131.152.85.114", + "131.152.85.109", + "131.152.85.194", + "131.152.85.144", + "131.152.85.171", + "131.152.85.120", + "131.152.85.103", + "131.152.85.199", + "131.152.85.70", + "131.152.85.254", + "131.152.85.79", + "131.152.85.227", + "131.152.85.226", + "131.152.85.225", + "131.152.85.115", + "131.152.85.228" + ], + "sum": 36 + }, + "2014-04-23T12:22:13.835Z": { + "ips": [ + "131.152.85.64", + "131.152.85.66", + "131.152.85.67", + "131.152.85.68", + "131.152.85.69", + "131.152.85.72", + "131.152.85.73", + "131.152.85.70", + "131.152.85.80", + "131.152.85.82", + "131.152.85.84", + "131.152.85.81", + "131.152.85.83", + "131.152.85.85", + "131.152.85.93", + "131.152.85.94", + "131.152.85.95", + "131.152.85.97", + "131.152.85.96", + "131.152.85.74", + "131.152.85.106", + "131.152.85.194", + "131.152.85.108", + "131.152.85.171", + "131.152.85.109", + "131.152.85.114", + "131.152.85.103", + "131.152.85.120", + "131.152.85.199", + "131.152.85.115", + "131.152.85.254", + "131.152.85.226", + "131.152.85.227", + "131.152.85.225", + "131.152.85.79", + "131.152.85.228" + ], + "sum": 36 + }, + "2014-04-23T12:32:17.955Z": { + "ips": [ + "131.152.85.64", + "131.152.85.67", + "131.152.85.68", + "131.152.85.69", + "131.152.85.72", + "131.152.85.73", + "131.152.85.66", + "131.152.85.80", + "131.152.85.81", + "131.152.85.82", + "131.152.85.83", + "131.152.85.84", + "131.152.85.85", + "131.152.85.93", + "131.152.85.94", + "131.152.85.95", + "131.152.85.96", + "131.152.85.97", + "131.152.85.74", + "131.152.85.106", + "131.152.85.194", + "131.152.85.108", + "131.152.85.109", + "131.152.85.171", + "131.152.85.114", + "131.152.85.103", + "131.152.85.120", + "131.152.85.199", + "131.152.85.115", + "131.152.85.254", + "131.152.85.70", + "131.152.85.79", + "131.152.85.227", + "131.152.85.225", + "131.152.85.226", + "131.152.85.228" + ], + "sum": 36 + }, + "2014-04-23T12:42:22.034Z": { + "ips": [ + "131.152.85.64", + "131.152.85.66", + "131.152.85.67", + "131.152.85.68", + "131.152.85.69", + "131.152.85.72", + "131.152.85.73", + "131.152.85.80", + "131.152.85.81", + "131.152.85.82", + "131.152.85.83", + "131.152.85.84", + "131.152.85.74", + "131.152.85.85", + "131.152.85.93", + "131.152.85.94", + "131.152.85.95", + "131.152.85.96", + "131.152.85.97", + "131.152.85.106", + "131.152.85.108", + "131.152.85.109", + "131.152.85.114", + "131.152.85.194", + "131.152.85.171", + "131.152.85.120", + "131.152.85.103", + "131.152.85.115", + "131.152.85.70", + "131.152.85.254", + "131.152.85.227", + "131.152.85.226", + "131.152.85.225", + "131.152.85.79", + "131.152.85.228" + ], + "sum": 35 + }, + "2014-04-23T12:52:26.139Z": { + "ips": [ + "131.152.85.64", + "131.152.85.67", + "131.152.85.68", + "131.152.85.66", + "131.152.85.69", + "131.152.85.73", + "131.152.85.80", + "131.152.85.72", + "131.152.85.82", + "131.152.85.81", + "131.152.85.83", + "131.152.85.93", + "131.152.85.84", + "131.152.85.85", + "131.152.85.94", + "131.152.85.74", + "131.152.85.96", + "131.152.85.95", + "131.152.85.97", + "131.152.85.106", + "131.152.85.108", + "131.152.85.194", + "131.152.85.109", + "131.152.85.114", + "131.152.85.171", + "131.152.85.199", + "131.152.85.103", + "131.152.85.120", + "131.152.85.115", + "131.152.85.254", + "131.152.85.70", + "131.152.85.79", + "131.152.85.226", + "131.152.85.227", + "131.152.85.225", + "131.152.85.228" + ], + "sum": 36 + }, + "2014-04-23T13:02:30.243Z": { + "ips": [ + "131.152.85.67", + "131.152.85.64", + "131.152.85.69", + "131.152.85.68", + "131.152.85.66", + "131.152.85.72", + "131.152.85.73", + "131.152.85.80", + "131.152.85.81", + "131.152.85.82", + "131.152.85.83", + "131.152.85.84", + "131.152.85.93", + "131.152.85.85", + "131.152.85.94", + "131.152.85.74", + "131.152.85.96", + "131.152.85.97", + "131.152.85.106", + "131.152.85.95", + "131.152.85.194", + "131.152.85.109", + "131.152.85.108", + "131.152.85.114", + "131.152.85.171", + "131.152.85.103", + "131.152.85.120", + "131.152.85.254", + "131.152.85.70", + "131.152.85.79", + "131.152.85.226", + "131.152.85.227", + "131.152.85.225", + "131.152.85.115", + "131.152.85.228" + ], + "sum": 35 + }, + "2014-04-23T13:12:34.344Z": { + "ips": [ + "131.152.85.64", + "131.152.85.67", + "131.152.85.69", + "131.152.85.68", + "131.152.85.66", + "131.152.85.73", + "131.152.85.80", + "131.152.85.82", + "131.152.85.81", + "131.152.85.84", + "131.152.85.83", + "131.152.85.93", + "131.152.85.85", + "131.152.85.94", + "131.152.85.96", + "131.152.85.95", + "131.152.85.97", + "131.152.85.106", + "131.152.85.194", + "131.152.85.74", + "131.152.85.108", + "131.152.85.109", + "131.152.85.114", + "131.152.85.171", + "131.152.85.199", + "131.152.85.103", + "131.152.85.120", + "131.152.85.115", + "131.152.85.254", + "131.152.85.70", + "131.152.85.79", + "131.152.85.227", + "131.152.85.226", + "131.152.85.225", + "131.152.85.228" + ], + "sum": 35 + }, + "2014-04-23T13:22:38.443Z": { + "ips": [ + "131.152.85.67", + "131.152.85.64", + "131.152.85.68", + "131.152.85.69", + "131.152.85.66", + "131.152.85.73", + "131.152.85.72", + "131.152.85.80", + "131.152.85.82", + "131.152.85.81", + "131.152.85.83", + "131.152.85.84", + "131.152.85.93", + "131.152.85.85", + "131.152.85.94", + "131.152.85.74", + "131.152.85.96", + "131.152.85.106", + "131.152.85.97", + "131.152.85.95", + "131.152.85.108", + "131.152.85.109", + "131.152.85.194", + "131.152.85.114", + "131.152.85.120", + "131.152.85.115", + "131.152.85.70", + "131.152.85.199", + "131.152.85.254", + "131.152.85.103", + "131.152.85.225", + "131.152.85.227", + "131.152.85.226", + "131.152.85.79", + "131.152.85.228" + ], + "sum": 35 + }, + "2014-04-23T13:32:42.543Z": { + "ips": [ + "131.152.85.64", + "131.152.85.68", + "131.152.85.67", + "131.152.85.69", + "131.152.85.66", + "131.152.85.72", + "131.152.85.73", + "131.152.85.80", + "131.152.85.81", + "131.152.85.82", + "131.152.85.83", + "131.152.85.84", + "131.152.85.93", + "131.152.85.85", + "131.152.85.94", + "131.152.85.74", + "131.152.85.97", + "131.152.85.96", + "131.152.85.95", + "131.152.85.106", + "131.152.85.194", + "131.152.85.108", + "131.152.85.109", + "131.152.85.114", + "131.152.85.199", + "131.152.85.103", + "131.152.85.120", + "131.152.85.115", + "131.152.85.254", + "131.152.85.70", + "131.152.85.227", + "131.152.85.226", + "131.152.85.225", + "131.152.85.79", + "131.152.85.228" + ], + "sum": 35 + }, + "2014-04-23T13:42:46.643Z": { + "ips": [ + "131.152.85.64", + "131.152.85.67", + "131.152.85.69", + "131.152.85.68", + "131.152.85.66", + "131.152.85.73", + "131.152.85.72", + "131.152.85.80", + "131.152.85.81", + "131.152.85.82", + "131.152.85.74", + "131.152.85.83", + "131.152.85.84", + "131.152.85.93", + "131.152.85.85", + "131.152.85.94", + "131.152.85.95", + "131.152.85.96", + "131.152.85.97", + "131.152.85.106", + "131.152.85.108", + "131.152.85.103", + "131.152.85.109", + "131.152.85.114", + "131.152.85.194", + "131.152.85.70", + "131.152.85.115", + "131.152.85.120", + "131.152.85.199", + "131.152.85.254", + "131.152.85.79", + "131.152.85.227", + "131.152.85.226", + "131.152.85.225", + "131.152.85.228" + ], + "sum": 35 + }, + "2014-04-23T13:52:50.747Z": { + "ips": [ + "131.152.85.64", + "131.152.85.67", + "131.152.85.68", + "131.152.85.69", + "131.152.85.72", + "131.152.85.66", + "131.152.85.73", + "131.152.85.80", + "131.152.85.82", + "131.152.85.81", + "131.152.85.84", + "131.152.85.83", + "131.152.85.93", + "131.152.85.85", + "131.152.85.94", + "131.152.85.96", + "131.152.85.106", + "131.152.85.97", + "131.152.85.74", + "131.152.85.95", + "131.152.85.108", + "131.152.85.194", + "131.152.85.109", + "131.152.85.114", + "131.152.85.199", + "131.152.85.103", + "131.152.85.120", + "131.152.85.115", + "131.152.85.70", + "131.152.85.254", + "131.152.85.79", + "131.152.85.227", + "131.152.85.225", + "131.152.85.226", + "131.152.85.228" + ], + "sum": 35 + } }, "hosts": { "131.152.85.64": { - "2014-04-23T10:25:46.369Z": 1 + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 8, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 0 }, "131.152.85.66": { - "2014-04-23T10:25:46.369Z": 1 - }, - "131.152.85.67": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 8, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 0 }, "131.152.85.68": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 0, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 0 + }, + "131.152.85.67": { + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 0, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 0 }, "131.152.85.69": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 0, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 0 }, "131.152.85.73": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 0, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 0 }, "131.152.85.72": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:22:13.835Z": 2, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 0 }, "131.152.85.80": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 1, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 }, "131.152.85.82": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.81": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.83": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.85": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.84": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 1 }, "131.152.85.93": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 4, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 }, - "131.152.85.95": { - "2014-04-23T10:25:46.369Z": 1 + "131.152.85.81": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 3, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 1, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 + }, + "131.152.85.83": { + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 3, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 1 + }, + "131.152.85.85": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 3, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 + }, + "131.152.85.84": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 1 }, "131.152.85.70": { - "2014-04-23T10:25:46.369Z": 1 - }, - "131.152.85.96": { - "2014-04-23T10:25:46.369Z": 1 + "2014-04-23T11:52:01.522Z": 2, + "2014-04-23T12:02:05.626Z": 4, + "2014-04-23T12:12:09.733Z": 7, + "2014-04-23T12:22:13.835Z": 2, + "2014-04-23T12:32:17.955Z": 7, + "2014-04-23T12:42:22.034Z": 6, + "2014-04-23T12:52:26.139Z": 6, + "2014-04-23T13:02:30.243Z": 7, + "2014-04-23T13:12:34.344Z": 7, + "2014-04-23T13:22:38.443Z": 7, + "2014-04-23T13:32:42.543Z": 6, + "2014-04-23T13:42:46.643Z": 5, + "2014-04-23T13:52:50.747Z": 6 }, "131.152.85.94": { - "2014-04-23T10:25:46.369Z": 1 + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 4, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 0 }, - "131.152.85.97": { - "2014-04-23T10:25:46.369Z": 1 - }, - "131.152.85.106": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.109": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.108": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.194": { - "2014-04-23T10:25:46.369Z": 0 + "131.152.85.95": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 4, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 0 }, "131.152.85.79": { - "2014-04-23T10:25:46.369Z": 1 - }, - "131.152.85.171": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.144": { - "2014-04-23T10:25:46.369Z": 0 - }, - "131.152.85.114": { - "2014-04-23T10:25:46.369Z": 0 + "2014-04-23T11:52:01.522Z": 2, + "2014-04-23T12:02:05.626Z": 9, + "2014-04-23T12:12:09.733Z": 14, + "2014-04-23T12:22:13.835Z": 23, + "2014-04-23T12:32:17.955Z": 14, + "2014-04-23T12:42:22.034Z": 19, + "2014-04-23T12:52:26.139Z": 14, + "2014-04-23T13:02:30.243Z": 13, + "2014-04-23T13:12:34.344Z": 13, + "2014-04-23T13:22:38.443Z": 18, + "2014-04-23T13:32:42.543Z": 24, + "2014-04-23T13:42:46.643Z": 14, + "2014-04-23T13:52:50.747Z": 14 }, "131.152.85.74": { - "2014-04-23T10:25:46.369Z": 1 + "2014-04-23T11:52:01.522Z": 2, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 4, + "2014-04-23T12:32:17.955Z": 2, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 2, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 1, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 }, - "131.152.85.115": { - "2014-04-23T10:25:46.369Z": 0 + "131.152.85.96": { + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 4, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 0 }, - "131.152.85.103": { - "2014-04-23T10:25:46.369Z": 1 + "131.152.85.106": { + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 2, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 1, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 0 }, - "131.152.85.199": { - "2014-04-23T10:25:46.369Z": 1 + "131.152.85.97": { + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 0, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 4, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 1, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 0 }, - "131.152.85.254": { - "2014-04-23T10:25:46.369Z": 2 + "131.152.85.194": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 0, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 5, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 1 }, - "131.152.85.225": { - "2014-04-23T10:25:46.369Z": 3 + "131.152.85.108": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 2, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 1, + "2014-04-23T13:42:46.643Z": 0, + "2014-04-23T13:52:50.747Z": 0 }, - "131.152.85.227": { - "2014-04-23T10:25:46.369Z": 3 + "131.152.85.114": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 4, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 5, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 }, - "131.152.85.226": { - "2014-04-23T10:25:46.369Z": 4 + "131.152.85.144": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 3, + "2014-04-23T12:12:09.733Z": 0 + }, + "131.152.85.109": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 4, + "2014-04-23T12:12:09.733Z": 1, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 1, + "2014-04-23T13:22:38.443Z": 1, + "2014-04-23T13:32:42.543Z": 1, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 + }, + "131.152.85.171": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 3, + "2014-04-23T12:12:09.733Z": 0, + "2014-04-23T12:22:13.835Z": 0, + "2014-04-23T12:32:17.955Z": 0, + "2014-04-23T12:42:22.034Z": 0, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 0, + "2014-04-23T13:12:34.344Z": 0 }, "131.152.85.120": { - "2014-04-23T10:25:46.369Z": 5 + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 4, + "2014-04-23T12:12:09.733Z": 2, + "2014-04-23T12:22:13.835Z": 1, + "2014-04-23T12:32:17.955Z": 1, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 3, + "2014-04-23T13:02:30.243Z": 3, + "2014-04-23T13:12:34.344Z": 3, + "2014-04-23T13:22:38.443Z": 5, + "2014-04-23T13:32:42.543Z": 3, + "2014-04-23T13:42:46.643Z": 2, + "2014-04-23T13:52:50.747Z": 3 + }, + "131.152.85.115": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 4, + "2014-04-23T12:12:09.733Z": 1000, + "2014-04-23T12:22:13.835Z": 2, + "2014-04-23T12:32:17.955Z": 4, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 4, + "2014-04-23T13:02:30.243Z": 1000, + "2014-04-23T13:12:34.344Z": 4, + "2014-04-23T13:22:38.443Z": 5, + "2014-04-23T13:32:42.543Z": 4, + "2014-04-23T13:42:46.643Z": 2, + "2014-04-23T13:52:50.747Z": 5 + }, + "131.152.85.103": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 2, + "2014-04-23T12:12:09.733Z": 3, + "2014-04-23T12:22:13.835Z": 2, + "2014-04-23T12:32:17.955Z": 3, + "2014-04-23T12:42:22.034Z": 2, + "2014-04-23T12:52:26.139Z": 1, + "2014-04-23T13:02:30.243Z": 2, + "2014-04-23T13:12:34.344Z": 3, + "2014-04-23T13:22:38.443Z": 14, + "2014-04-23T13:32:42.543Z": 2, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 1 + }, + "131.152.85.199": { + "2014-04-23T11:52:01.522Z": 0, + "2014-04-23T12:02:05.626Z": 1, + "2014-04-23T12:12:09.733Z": 3, + "2014-04-23T12:22:13.835Z": 2, + "2014-04-23T12:32:17.955Z": 2, + "2014-04-23T12:52:26.139Z": 0, + "2014-04-23T13:12:34.344Z": 0, + "2014-04-23T13:22:38.443Z": 0, + "2014-04-23T13:32:42.543Z": 0, + "2014-04-23T13:42:46.643Z": 1, + "2014-04-23T13:52:50.747Z": 0 + }, + "131.152.85.254": { + "2014-04-23T11:52:01.522Z": 1, + "2014-04-23T12:02:05.626Z": 3, + "2014-04-23T12:12:09.733Z": 4, + "2014-04-23T12:22:13.835Z": 4, + "2014-04-23T12:32:17.955Z": 3, + "2014-04-23T12:42:22.034Z": 1, + "2014-04-23T12:52:26.139Z": 3, + "2014-04-23T13:02:30.243Z": 5, + "2014-04-23T13:12:34.344Z": 4, + "2014-04-23T13:22:38.443Z": 5, + "2014-04-23T13:32:42.543Z": 4, + "2014-04-23T13:42:46.643Z": 2, + "2014-04-23T13:52:50.747Z": 4 + }, + "131.152.85.227": { + "2014-04-23T11:52:01.522Z": 2, + "2014-04-23T12:02:05.626Z": 9, + "2014-04-23T12:12:09.733Z": 16, + "2014-04-23T12:22:13.835Z": 10, + "2014-04-23T12:32:17.955Z": 15, + "2014-04-23T12:42:22.034Z": 13, + "2014-04-23T12:52:26.139Z": 15, + "2014-04-23T13:02:30.243Z": 16, + "2014-04-23T13:12:34.344Z": 16, + "2014-04-23T13:22:38.443Z": 11, + "2014-04-23T13:32:42.543Z": 16, + "2014-04-23T13:42:46.643Z": 12, + "2014-04-23T13:52:50.747Z": 15 + }, + "131.152.85.226": { + "2014-04-23T11:52:01.522Z": 2, + "2014-04-23T12:02:05.626Z": 9, + "2014-04-23T12:12:09.733Z": 16, + "2014-04-23T12:22:13.835Z": 10, + "2014-04-23T12:32:17.955Z": 15, + "2014-04-23T12:42:22.034Z": 13, + "2014-04-23T12:52:26.139Z": 15, + "2014-04-23T13:02:30.243Z": 16, + "2014-04-23T13:12:34.344Z": 16, + "2014-04-23T13:22:38.443Z": 11, + "2014-04-23T13:32:42.543Z": 16, + "2014-04-23T13:42:46.643Z": 12, + "2014-04-23T13:52:50.747Z": 15 + }, + "131.152.85.225": { + "2014-04-23T11:52:01.522Z": 2, + "2014-04-23T12:02:05.626Z": 9, + "2014-04-23T12:12:09.733Z": 16, + "2014-04-23T12:22:13.835Z": 10, + "2014-04-23T12:32:17.955Z": 15, + "2014-04-23T12:42:22.034Z": 13, + "2014-04-23T12:52:26.139Z": 15, + "2014-04-23T13:02:30.243Z": 16, + "2014-04-23T13:12:34.344Z": 16, + "2014-04-23T13:22:38.443Z": 11, + "2014-04-23T13:32:42.543Z": 16, + "2014-04-23T13:42:46.643Z": 12, + "2014-04-23T13:52:50.747Z": 15 }, "131.152.85.228": { - "2014-04-23T10:25:46.369Z": 6 + "2014-04-23T11:52:01.522Z": 5, + "2014-04-23T12:02:05.626Z": 26, + "2014-04-23T12:12:09.733Z": 1004, + "2014-04-23T12:22:13.835Z": 1003, + "2014-04-23T12:32:17.955Z": 1001, + "2014-04-23T12:42:22.034Z": 1004, + "2014-04-23T12:52:26.139Z": 1003, + "2014-04-23T13:02:30.243Z": 1004, + "2014-04-23T13:12:34.344Z": 1002, + "2014-04-23T13:22:38.443Z": 25, + "2014-04-23T13:32:42.543Z": 1002, + "2014-04-23T13:42:46.643Z": 1003, + "2014-04-23T13:52:50.747Z": 1003 } } } \ No newline at end of file diff --git a/webpages/public/histogram.html b/webpages/public/histogram.html new file mode 100644 index 0000000..c861b25 --- /dev/null +++ b/webpages/public/histogram.html @@ -0,0 +1,39 @@ + + + + + + + + + + +
+ + \ No newline at end of file