浏览代码

Merge branch 'master' of https://bitbucket.org/ikflowdat/installer

Fernando Alonso 7 年之前
父节点
当前提交
fdcf1c20b5

+ 1 - 1
statsd/backend/mongodb/mongodb.js

@@ -136,7 +136,7 @@ var aggregate = {
 function insert(dbName, collection, metric){
 	mongo.connect("mongodb://" + options.host + "/" + options.name, function(err, db) {
 		if(options.debug) console.log("Connected successfully to server");
-		  var colInfo = {capped:true, size:options.size*options.max, max:options.max};
+		  var colInfo = {};
 		  db.createCollection(collection, colInfo,
 				  function(err, coll) {
 				      if (options.debug) console.log("Collection created " + collection + ".");

+ 39 - 0
statsd/command/mongodelete.js

@@ -0,0 +1,39 @@
+#!/usr/bin/env node
+
+var cli = require('cli'), 
+    options = cli.parse({
+        leave: ['l', 'Period of time', 'string', '1d'],
+        name: ['n', 'MongoDb database name', 'string', 'statsd'],
+        host: ['h', 'MongoDb host', 'string', 'mongodb'],
+	port: ['p', 'MongoDb port', 'string', '27017']
+    })
+;
+
+var mongo = require('mongodb');
+
+var moment = require('moment');
+var n = parseInt(options.leave, 10);
+var from = moment().subtract(n, options.leave.replace(n, '')).format('X');
+var to = moment().format('X');
+
+mongo.connect("mongodb://" + options.host + ":" + options.port + "/" + options.name, function (err, db) {
+    if (err) {
+        db.close();
+        console.log(err);
+        throw err;
+    }
+    db.listCollections().toArray(function(err, collInfos) {
+        if (err) {
+            db.close();
+            console.log(err);
+            throw err;
+        }
+        for (var i = 0; i < collInfos.length; i++) {
+            console.log('db.collection('+collInfos[i].name+').remove({ time: { $lte: '+from+', $gte: '+to+' } })');
+            db.collection(""+collInfos[i].name).remove({ time: { $lte: from, $gte: to } });
+        }
+        db.close();
+    });
+});
+
+console.log('OK');

+ 46 - 0
statsd/command/mysqldelete.js

@@ -0,0 +1,46 @@
+#!/usr/bin/env node
+
+var cli = require('cli'), 
+    options = cli.parse({
+        leave: ['l', 'Period of time', 'string', '1d'],
+        host: ['h', 'MySQL host', 'string', 'mysql'],
+        port: ['p', 'MySQL port', 'string', '3306'],
+	user: ['u', 'MySQL user', 'string', 'root'],
+	password: ['pw', 'MySQL password', 'string', '235r2342gtfsw'],
+	database: ['d', 'MySQL database', 'string', 'statsd_db']
+    })
+;
+
+var mysql = require('mysql');
+var connection = mysql.createConnection({
+    host: options.host,
+    port: options.port,
+    user: options.user,
+    password: options.password,
+    database: options.database,
+    multipleStatements: true
+});
+
+var moment = require('moment');
+var n = parseInt(options.leave, 10);
+var from = moment().subtract(n, options.leave.replace(n, '')).format('X');
+var to = moment().format('X');
+
+var mysql_tables = ['gauges_statistics', 'counters_statistics', 'timers_statistics', 'sets_statistics'];
+for (var i = 0; i < mysql_tables.length; i++) {
+    console.log('DELETE FROM '+mysql_tables[i]+' WHERE timestamp <= '+from+' OR timestamp >= '+to+';');
+    
+    connection.query('DELETE FROM '+mysql_tables[i]+' WHERE timestamp <= '+from+' OR timestamp >= '+to+';', function (err, rows, fields) {
+        if (err) {
+            connection.end();
+            console.log(err);
+            throw err;
+        }
+        for (var i = 0; i <= rows.length - 1; i++) {
+            console.log(rows[i]);
+        }
+    });
+}
+connection.end();
+
+console.log('OK');

+ 1 - 1
statsd/endpoint/json/index.js

@@ -38,7 +38,7 @@ function search(url, body, res)
                     search_result = JSON.parse(body);
                 } else {
                     var values = JSON.parse(body);
-                    for (var i = 0; i < values.length - 1; i++) {
+                    for (var i = 0; i < values.length; i++) {
                         if (search_result.indexOf(values[i]) === -1) {
                             search_result.push(values[i]);
                         }

+ 2 - 2
statsd/endpoint/mysql/index.js

@@ -36,7 +36,7 @@ function search(table, res)
             console.log(err);
             throw err;
         }
-        for (var i = 0; i <= rows.length - 1; i++) {
+        for (var i = 0; i < rows.length; i++) {
             if (mysql_search_result.indexOf(rows[i].name) === -1) { // Se agregan solo los name que no esten en result
                 mysql_search_result.push(rows[i].name);
             }
@@ -91,7 +91,7 @@ function query(table, req, res)
         }
         
         var result = [];
-        for (var i = 0; i < rows.length - 1; i++) {
+        for (var i = 0; i < rows.length; i++) {
             if (rows[i].name !== undefined) {
                 if (result.indexOf(rows[i].name) === -1) {
                     result[rows[i].name] = new Array();