Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var http = require('http');
- var loggly = require('loggly');
- var path = require('path');
- var paperboy = require('paperboy');
- var url = require('url');
- var geo = require('./geoip.js');
- geo.open({ cache: true, filename: './data/GeoLiteCity.dat'});
- // connect up to loggly
- var config = {
- subdomain: "ricberw",
- auth: {
- username: "kordless",
- password: "password"
- }
- };
- var lkey = '82ef13c1-f586-4e18-9386-60ce5e47cefc';
- var lhandler = function (err, result) {};
- var geekceo = loggly.createClient(config);
- geekceo.log(lkey, 'globe2: server starting up', lhandler);
- console.log('starting up');
- var hosts = {};
- var stuff = [];
- // get our data in one shot
- geekceo.search('json.host:* inputname:hoovjson6')
- .context({ rows: 10000, from: "NOW-3DAYS", until: "NOW" })
- .run(function (err, results) {
- var i = 0;
- for (result in results.data) {
- var host = results.data[result].json.host;
- if ( host.length > 8 && host !== "127.0.0.1") {
- if (hosts[host] == null) { hosts[host] = 0 }
- hosts[host] += 1;
- }
- }
- for (host in hosts) {
- i = i + 1;
- var latlong = geo.lookup(host);
- stuff.push(latlong[0]);
- stuff.push(latlong[1]);
- stuff.push(hosts[host]/70);
- stuff.push(i%25);
- }
- console.log("done getting results");
- });
- // var coord = geo.lookup(results.data[result].json.host);
- // console.log(coord);
- // serve static or API content
- var server = http.createServer(function(req, resp){
- if (req.url.indexOf('/api') == 0) {
- geekceo.log(lkey, 'loggly-node-chart: serving /api/', lhandler);
- apiHandler(req, resp)
- } else {
- geekceo.log(lkey, 'loggly-node-chart: serving /static/', lhandler);
- paperboy.deliver(path.join(path.dirname(__filename), 'static'), req, resp);
- }
- });
- var apiHandler = function (req, resp) {
- resp.writeHead(200, { 'content-type': 'application/json', });
- resp.write(JSON.stringify(stuff));
- resp.end();
- }
- server.listen(8081);
Add Comment
Please, Sign In to add comment