|
|
@ -98,9 +98,7 @@ const corsOptions = { |
|
|
|
// Lefos - get length of logs
|
|
|
|
app.get("/length", cors(corsOptions), (req, res) => { |
|
|
|
console.error("getting length of logs"); |
|
|
|
|
|
|
|
var url = "mongodb://mongo:27017/"; |
|
|
|
|
|
|
|
MongoClient.connect( |
|
|
|
url, |
|
|
|
{ useNewUrlParser: true, useUnifiedTopology: true }, |
|
|
@ -114,59 +112,97 @@ app.get("/length", cors(corsOptions), (req, res) => { |
|
|
|
if (err) throw err; |
|
|
|
// EPIDI EXW NESTED JSON PREPEI NA TO KANW PARSE DUO FORES
|
|
|
|
var obj = JSON.parse(JSON.stringify(result)); |
|
|
|
var appout = 0; |
|
|
|
var apperror = 0; |
|
|
|
var mongol = 0; |
|
|
|
var mongolerror = 0; |
|
|
|
var redis = 0; |
|
|
|
var dumout = 0; |
|
|
|
var dumerr = 0; |
|
|
|
let containers = []; |
|
|
|
var type; |
|
|
|
var found = 0; |
|
|
|
obj.forEach((value) => { |
|
|
|
if (value.container_name == "/mongo") { |
|
|
|
//new code
|
|
|
|
if (containers.length == 0) { |
|
|
|
type = checkService(); |
|
|
|
if (type == "out") { |
|
|
|
containers.push({ |
|
|
|
name: value.container_name, |
|
|
|
lengtho: 1, |
|
|
|
lengthe: 0, |
|
|
|
}); |
|
|
|
} else if (type == "err") { |
|
|
|
containers.push({ |
|
|
|
name: value.container_name, |
|
|
|
lengtho: 0, |
|
|
|
lengthe: 1, |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
containers.forEach((val) => { |
|
|
|
if (val.name == value.container_name) { |
|
|
|
found = 1; |
|
|
|
type = checkService(); |
|
|
|
if (type == "out") { |
|
|
|
val.lengtho++; |
|
|
|
} else if (type == "err") { |
|
|
|
val.lengthe++; |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
if (found == 0) { |
|
|
|
type = checkService(); |
|
|
|
if (type == "out") { |
|
|
|
containers.push({ |
|
|
|
name: value.container_name, |
|
|
|
lengtho: 1, |
|
|
|
lengthe: 0, |
|
|
|
}); |
|
|
|
} else if ("error") { |
|
|
|
containers.push({ |
|
|
|
name: value.container_name, |
|
|
|
lengtho: 0, |
|
|
|
lengthe: 1, |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
found = 0; |
|
|
|
} |
|
|
|
|
|
|
|
// new code end
|
|
|
|
|
|
|
|
function checkService() { |
|
|
|
if (value.tag.includes("mongodb")) { |
|
|
|
var tmp = JSON.parse(value.log); |
|
|
|
if (tmp.s == "I") mongol++; |
|
|
|
if (tmp.s == "I") return "out"; |
|
|
|
// count every informative log as an output log
|
|
|
|
else if (tmp.s == "W" || tmp.s == "E") mongolerror++; //count every warning and error log
|
|
|
|
} else if ( |
|
|
|
value.container_name == "/readmongo_service" && |
|
|
|
value.log.includes("app_name") |
|
|
|
) { |
|
|
|
var test = JSON.parse(value.log); |
|
|
|
var type = test.type; |
|
|
|
if (type == "err") apperror++; |
|
|
|
else appout++; |
|
|
|
} else if (value.container_name == "/redisserver") { |
|
|
|
redis++; |
|
|
|
} else if ( |
|
|
|
value.container_name == "/dummy_service" && |
|
|
|
value.log.includes("app_name") |
|
|
|
) { |
|
|
|
var test = JSON.parse(value.log); |
|
|
|
else if (tmp.s == "W" || tmp.s == "E") return "err"; //count every warning and error log
|
|
|
|
} else if (value.tag.includes("node")) { |
|
|
|
if (IsJsonString(value.log)) var test = JSON.parse(value.log); |
|
|
|
else return "none"; |
|
|
|
|
|
|
|
var type = test.type; |
|
|
|
if (type == "err") dumerr++; |
|
|
|
else dumout++; |
|
|
|
if (type == "out") return "out"; |
|
|
|
else return "err"; |
|
|
|
} else if (value.tag.includes("redis")) { |
|
|
|
return "out"; |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
var RES = new Object(); |
|
|
|
var data = { |
|
|
|
mongolength: mongol, |
|
|
|
mongolerror: mongolerror, |
|
|
|
appout: appout, |
|
|
|
apperror: apperror, |
|
|
|
redis: redis, |
|
|
|
dumout: dumout, |
|
|
|
dumerr: dumerr, |
|
|
|
}; |
|
|
|
RES.data = data; |
|
|
|
RES.data = containers; |
|
|
|
|
|
|
|
// console.log("Sending Data: " + jsonfinal);
|
|
|
|
res.json(RES.data); |
|
|
|
res.json(containers); |
|
|
|
db.close(); |
|
|
|
}); |
|
|
|
} |
|
|
|
); |
|
|
|
}); |
|
|
|
|
|
|
|
function IsJsonString(str) { |
|
|
|
try { |
|
|
|
JSON.parse(str); |
|
|
|
} catch (e) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
app.get("/services", cors(corsOptions), (req, res) => { |
|
|
|
console.error("getting length of logs"); |
|
|
|
|
|
|
@ -278,6 +314,39 @@ app.get("/test", cors(corsOptions), (req, res) => { |
|
|
|
); |
|
|
|
}); |
|
|
|
|
|
|
|
app.get("/raw", cors(corsOptions), (req, res) => { |
|
|
|
console.log("reading from db...."); |
|
|
|
|
|
|
|
var url = "mongodb://mongo:27017/"; |
|
|
|
|
|
|
|
MongoClient.connect( |
|
|
|
url, |
|
|
|
{ useNewUrlParser: true, useUnifiedTopology: true }, |
|
|
|
function (err, db) { |
|
|
|
if (err) throw err; |
|
|
|
var dbo = db.db("fluentdb"); |
|
|
|
dbo |
|
|
|
.collection("test") |
|
|
|
.find({}) |
|
|
|
.toArray(function (err, result) { |
|
|
|
if (err) throw err; |
|
|
|
// EPIDI EXW NESTED JSON PREPEI NA TO KANW PARSE DUO FORES
|
|
|
|
var obj = JSON.parse(JSON.stringify(result)); |
|
|
|
var jsonfinal = []; |
|
|
|
obj.forEach((value) => { |
|
|
|
jsonfinal.push(value); |
|
|
|
}); |
|
|
|
var RES = new Object(); |
|
|
|
RES.data = { |
|
|
|
all: jsonfinal, |
|
|
|
}; |
|
|
|
res.json(RES.data); |
|
|
|
db.close(); |
|
|
|
}); |
|
|
|
} |
|
|
|
); |
|
|
|
}); |
|
|
|
|
|
|
|
app.get("/test2", cors(corsOptions), (req, res) => { |
|
|
|
var RES = new Object(); |
|
|
|
const page = req.query["page"]; |
|
|
@ -314,31 +383,39 @@ app.get("/test2", cors(corsOptions), (req, res) => { |
|
|
|
var obj = JSON.parse(JSON.stringify(result)); |
|
|
|
|
|
|
|
obj.forEach((value) => { |
|
|
|
if (value.log.includes("app_name")) { |
|
|
|
if (value.tag.includes("node") && IsJsonString(value.log)) { |
|
|
|
var tmp = JSON.parse(value.log); |
|
|
|
var container_name = value.container_name; |
|
|
|
var tmptype; |
|
|
|
tmp.app_name = container_name; |
|
|
|
if (tmp.type == "out") { |
|
|
|
tmp.type = '<div class="outtype" >' + tmp.type + "</div>"; |
|
|
|
tmptype = '<div class="outtype" >' + tmp.type + "</div>"; |
|
|
|
} else if (tmp.type == "err") { |
|
|
|
tmp.type = '<div class="errtype" >' + tmp.type + "</div>"; |
|
|
|
tmptype = '<div class="errtype" >' + tmp.type + "</div>"; |
|
|
|
} |
|
|
|
|
|
|
|
var tmp2 = { |
|
|
|
message: tmp.message, |
|
|
|
timestamp: value.time, |
|
|
|
type: tmptype, |
|
|
|
process_id: "-", |
|
|
|
app_name: value.container_name, |
|
|
|
}; |
|
|
|
// filtrarisma gia to text poy exei dwsei o xrhsths
|
|
|
|
if ( |
|
|
|
logtext != "" && |
|
|
|
tmp.message.includes(logtext) && |
|
|
|
(container_name == selected || selected == "All") |
|
|
|
) { |
|
|
|
jsonfinal.push(tmp); |
|
|
|
jsonfinal.push(tmp2); |
|
|
|
} else if (logtext != "" && !tmp.message.includes(logtext)) { |
|
|
|
} else if ( |
|
|
|
logtext == "" && |
|
|
|
(container_name == selected || selected == "All") |
|
|
|
) { |
|
|
|
jsonfinal.push(tmp); |
|
|
|
jsonfinal.push(tmp2); |
|
|
|
} |
|
|
|
} else if ( |
|
|
|
value.container_name == "/redisserver" && |
|
|
|
value.tag.includes("redis") && |
|
|
|
(value.container_name == selected || selected == "All") |
|
|
|
) { |
|
|
|
var tmplog = value; |
|
|
@ -349,12 +426,12 @@ app.get("/test2", cors(corsOptions), (req, res) => { |
|
|
|
timestamp: time, |
|
|
|
type: "<div class= 'outtype'>out</div>", |
|
|
|
process_id: "-", |
|
|
|
app_name: "redis", |
|
|
|
app_name: value.container_name, |
|
|
|
}; |
|
|
|
if (logtext == "" || tmp.message.includes(logtext)) |
|
|
|
jsonfinal.push(tmp); |
|
|
|
} else if ( |
|
|
|
value.container_name == "/mongo" && |
|
|
|
value.tag.includes("mongodb") && |
|
|
|
(value.container_name == selected || selected == "All") |
|
|
|
) { |
|
|
|
var tmplog = JSON.parse(value.log); |
|
|
@ -367,10 +444,18 @@ app.get("/test2", cors(corsOptions), (req, res) => { |
|
|
|
timestamp: time, |
|
|
|
type: "<div class= 'outtype'>out</div>", |
|
|
|
process_id: "-", |
|
|
|
app_name: "Mongo", |
|
|
|
app_name: value.container_name, |
|
|
|
}; |
|
|
|
if (logtext == "" || tmp.message.includes(logtext)) |
|
|
|
jsonfinal.push(tmp); |
|
|
|
} else { |
|
|
|
var tmp = { |
|
|
|
message: value.log, |
|
|
|
timestamp: value.time, |
|
|
|
type: "<div class= 'outtype'>" + value.source + "</div>", |
|
|
|
process_id: "-", |
|
|
|
app_name: value.container_name, |
|
|
|
}; |
|
|
|
} |
|
|
|
}); |
|
|
|
//console.log("Sending Data: " + jsonfinal);
|
|
|
@ -554,6 +639,7 @@ io.on("connection", (s) => { |
|
|
|
usersession.SOCKET.user = isvalid.user; |
|
|
|
usersession.SOCKET.scope = isvalid.scope; // space delimeter
|
|
|
|
usersession.SOCKET.token = isvalid.token; |
|
|
|
usersession.SOCKET.id = s.id; |
|
|
|
|
|
|
|
//console.log("Reply: " + rep);
|
|
|
|
// -----
|
|
|
@ -873,351 +959,6 @@ async function checkstream(data) { |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
// ***************************************************
|
|
|
|
// rest get
|
|
|
|
// ***************************************************
|
|
|
|
|
|
|
|
// app.get(
|
|
|
|
// "/get_log",
|
|
|
|
// [check("token").isLength({ min: 40 })],
|
|
|
|
// cors(corsOptions),
|
|
|
|
// (req, res, next) => {
|
|
|
|
// (async () => {
|
|
|
|
// var RES = new Object();
|
|
|
|
// RES.token = req.query["token"];
|
|
|
|
// RES.start = req.query["start"];
|
|
|
|
// RES.end = req.query["end"];
|
|
|
|
// RES.swarmlabname = req.query["swarmlabname"];
|
|
|
|
// RES.ok = "ok";
|
|
|
|
// /*
|
|
|
|
// *
|
|
|
|
// * validate
|
|
|
|
// *
|
|
|
|
// */
|
|
|
|
|
|
|
|
// var isvalid = await checkToken(RES.token);
|
|
|
|
// if (isvalid.action == "ok") {
|
|
|
|
// console.log("Authserver ok " + RES.token);
|
|
|
|
// RES.error = "ok";
|
|
|
|
// } else {
|
|
|
|
// console.log("Authserver no " + RES.token);
|
|
|
|
// RES.error = "no";
|
|
|
|
// }
|
|
|
|
// if (RES.error == "ok") {
|
|
|
|
// var resdata = await getuserpipelines(
|
|
|
|
// RES.token,
|
|
|
|
// isvalid.user,
|
|
|
|
// RES.swarmlabname
|
|
|
|
// );
|
|
|
|
// var mongourl =
|
|
|
|
// "mongodb://" +
|
|
|
|
// CONFIG.mongo.user +
|
|
|
|
// ":" +
|
|
|
|
// CONFIG.mongo.password +
|
|
|
|
// "@ondemand_playground_mongo1:27017,ondemand_playground_mongo2:27017,ondemand_playground_mongo3:27017,ondemand_playground_mongo4:27017,ondemand_playground_mongo5:27017,ondemand_playground_mongo6:27017,ondemand_playground_mongo7:27017/swarmlabplaygroundstats?replicaSet=rs1&authSource=swarmlabplaygroundstats";
|
|
|
|
// const OPTS = {
|
|
|
|
// useNewUrlParser: true,
|
|
|
|
// useUnifiedTopology: true,
|
|
|
|
// };
|
|
|
|
// MongoClient.connect(mongourl, OPTS, function (err, client) {
|
|
|
|
// if (err) {
|
|
|
|
// console.log(err);
|
|
|
|
// } else {
|
|
|
|
// const db = client.db("swarmlabplaygroundstats");
|
|
|
|
// //usersession.SOCKET.user = isvalid.user
|
|
|
|
// console.log(JSON.stringify("mongo ----------------connected"));
|
|
|
|
// console.log("-----test------- " + JSON.stringify(RES));
|
|
|
|
// if (
|
|
|
|
// typeof RES.start !== "undefined" &&
|
|
|
|
// typeof RES.end !== "undefined"
|
|
|
|
// ) {
|
|
|
|
// if (DateTime.fromISO(RES.start).isValid) {
|
|
|
|
// var datestart = DateTime.fromISO(RES.start);
|
|
|
|
// var dateend = DateTime.fromISO(RES.end);
|
|
|
|
// var search_term = {
|
|
|
|
// $and: [
|
|
|
|
// {
|
|
|
|
// time: {
|
|
|
|
// $gte: datestart,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// time: {
|
|
|
|
// $lt: dateend,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// ],
|
|
|
|
// };
|
|
|
|
// } else {
|
|
|
|
// RES.ok = "no";
|
|
|
|
// }
|
|
|
|
// } else if (typeof RES.end !== "undefined") {
|
|
|
|
// var dateend = DateTime.fromISO(RES.end);
|
|
|
|
// if (DateTime.fromISO(RES.end).isValid) {
|
|
|
|
// var search_term = {
|
|
|
|
// $and: [
|
|
|
|
// {
|
|
|
|
// time: {
|
|
|
|
// $lt: dateend,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// ],
|
|
|
|
// };
|
|
|
|
// } else {
|
|
|
|
// RES.ok = "no";
|
|
|
|
// }
|
|
|
|
// } else if (typeof RES.start !== "undefined") {
|
|
|
|
// var datestart = DateTime.fromISO(RES.start);
|
|
|
|
// if (DateTime.fromISO(RES.start).isValid) {
|
|
|
|
// var search_term = {
|
|
|
|
// $and: [
|
|
|
|
// {
|
|
|
|
// time: {
|
|
|
|
// $gte: datestart,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// ],
|
|
|
|
// };
|
|
|
|
// } else {
|
|
|
|
// RES.ok = "no";
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// if (RES.ok == "ok") {
|
|
|
|
// //var search_term = '{"$gte": new Date("2020-12-01T00:00:00.000Z") , "$lt": new Date("2020-12-11T16:17:36.470Z") }'
|
|
|
|
// //var search_term = {"time" : {$lte : datenow}}
|
|
|
|
// var resdataarray = [];
|
|
|
|
// var resraw = {};
|
|
|
|
// var reslab = "";
|
|
|
|
// var datestart1 = DateTime.fromISO(RES.start);
|
|
|
|
// console.log("-----now1------- " + JSON.stringify(search_term));
|
|
|
|
// console.log("-----now2------- " + JSON.stringify(datestart1));
|
|
|
|
// console.log("-----now3------- " + JSON.stringify(datestart));
|
|
|
|
|
|
|
|
// db.collection("logs")
|
|
|
|
// .find(search_term)
|
|
|
|
// .toArray()
|
|
|
|
// //db.collection('logs').find({"time" : {$gt : datestart}}).toArray()
|
|
|
|
// .then((item) => {
|
|
|
|
// console.log("item " + JSON.stringify(item));
|
|
|
|
// for (let i in item) {
|
|
|
|
// reslab = item[i].tailed_path;
|
|
|
|
// var segment_array = reslab.split("/");
|
|
|
|
// var last_segment = segment_array.pop();
|
|
|
|
// var fieldstmp = last_segment.split("-");
|
|
|
|
// var nameofswarmlab = fieldstmp[0];
|
|
|
|
|
|
|
|
// var regexlog = new RegExp(nameofswarmlab);
|
|
|
|
// for (let ii in resdata.data) {
|
|
|
|
// if (regexlog.test(resdata.data[ii].res25swarmlabname)) {
|
|
|
|
// resdataarray.push(item[i]);
|
|
|
|
// RES.found = item[i];
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// RES.error_msg = "ok";
|
|
|
|
// RES.data = resdataarray;
|
|
|
|
// //RES.dataserver = resdataarray
|
|
|
|
// //RES.dataservertmp = resdata
|
|
|
|
// res.json(RES);
|
|
|
|
// })
|
|
|
|
// .catch((err) => {
|
|
|
|
// console.error(err);
|
|
|
|
// RES.error_msg = err;
|
|
|
|
// res.json(RES);
|
|
|
|
// });
|
|
|
|
// } else {
|
|
|
|
// // RES.ok
|
|
|
|
// RES.error_msg = "no date";
|
|
|
|
// res.json(RES);
|
|
|
|
// }
|
|
|
|
// } // error mongo connect
|
|
|
|
// }); // mongo connect
|
|
|
|
// } else {
|
|
|
|
// // token error
|
|
|
|
// RES.data = "no";
|
|
|
|
// RES.error_msg = "token err";
|
|
|
|
// res.json(RES);
|
|
|
|
// }
|
|
|
|
// })();
|
|
|
|
// }
|
|
|
|
// );
|
|
|
|
|
|
|
|
// app.get(
|
|
|
|
// "/run",
|
|
|
|
// [
|
|
|
|
// //check('access_token').isLength({ min: 40 }),
|
|
|
|
// //check('llo').isBase64()
|
|
|
|
// ],
|
|
|
|
// cors(corsOptions),
|
|
|
|
// (req, res, next) => {
|
|
|
|
// (async () => {
|
|
|
|
// var mongourl =
|
|
|
|
// "mongodb://" +
|
|
|
|
// CONFIG.mongo.user +
|
|
|
|
// ":" +
|
|
|
|
// CONFIG.mongo.password +
|
|
|
|
// "@ondemand_playground_mongo1:27017,ondemand_playground_mongo2:27017,ondemand_playground_mongo3:27017,ondemand_playground_mongo4:27017,ondemand_playground_mongo5:27017,ondemand_playground_mongo6:27017,ondemand_playground_mongo7:27017/swarmlabplaygroundstats?replicaSet=rs1&authSource=swarmlabplaygroundstats";
|
|
|
|
// const OPTS = {
|
|
|
|
// useNewUrlParser: true,
|
|
|
|
// useUnifiedTopology: true,
|
|
|
|
// };
|
|
|
|
// MongoClient.connect(mongourl, OPTS, function (err, client) {
|
|
|
|
// if (err) {
|
|
|
|
// console.log(err);
|
|
|
|
// } else {
|
|
|
|
// const db = client.db("swarmlabplaygroundstats");
|
|
|
|
// //db.collection('log', onCollection);
|
|
|
|
// console.log(JSON.stringify("mongo connected"));
|
|
|
|
// var stream = db
|
|
|
|
// .collection("logs")
|
|
|
|
// .find(
|
|
|
|
// {},
|
|
|
|
// {
|
|
|
|
// tailable: true,
|
|
|
|
// awaitdata: true,
|
|
|
|
// /* other options */
|
|
|
|
// }
|
|
|
|
// )
|
|
|
|
// .stream();
|
|
|
|
|
|
|
|
// stream.on("data", function (doc) {
|
|
|
|
// console.log(JSON.stringify(doc));
|
|
|
|
// //socket.write(JSON.stringify({'action': 'log','param': doc.log}));
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// var RES = new Object();
|
|
|
|
// RES.code = req.query["filter"];
|
|
|
|
// RES.token = req.query["filter"];
|
|
|
|
// var isvalid = await checkToken(RES.token);
|
|
|
|
// if (isvalid.action == "ok") {
|
|
|
|
// console.log("Authserver ok " + RES.token);
|
|
|
|
// } else {
|
|
|
|
// console.log("Authserver no " + RES.token);
|
|
|
|
// }
|
|
|
|
// RES.error = false;
|
|
|
|
// RES.error_msg = "ok";
|
|
|
|
// res.json(RES);
|
|
|
|
// })();
|
|
|
|
// }
|
|
|
|
// );
|
|
|
|
|
|
|
|
// // ***************************************************
|
|
|
|
// // rest post
|
|
|
|
// // ***************************************************
|
|
|
|
|
|
|
|
// app.post(
|
|
|
|
// "/run",
|
|
|
|
// [
|
|
|
|
// //check('access_token').isLength({ min: 40 }),
|
|
|
|
// //check('llo').isBase64()
|
|
|
|
// ],
|
|
|
|
// cors(corsOptions),
|
|
|
|
// (req, res, next) => {
|
|
|
|
// (async () => {
|
|
|
|
// //console.log(JSON.stringify(req.headers));
|
|
|
|
// //console.log(JSON.stringify(req.body));
|
|
|
|
// //console.log("mongo "+JSON.stringify(req.body));
|
|
|
|
// //console.log("LOG "+JSON.stringify(req.body[0].message));
|
|
|
|
// //console.log("PATH "+JSON.stringify(req.body[0].tailed_path));
|
|
|
|
// for (var i = 0; i < req.body.length; i++) {
|
|
|
|
// //var getpath = await onlogfile(req.body[i].tailed_path)
|
|
|
|
|
|
|
|
// var path = req.body[i].tailed_path;
|
|
|
|
|
|
|
|
// console.log("File", path, "has been added");
|
|
|
|
// var pathfileval = pathmodule.basename(path);
|
|
|
|
// var arrfile = pathfileval.toString().split("-");
|
|
|
|
// var pathfile = arrfile[0];
|
|
|
|
// var indexfind1 = global.pipelines.findIndex(
|
|
|
|
// (x) => x.pathlogfile == pathfileval
|
|
|
|
// );
|
|
|
|
// console.log(
|
|
|
|
// "file11111111111111111111111111111111 " + JSON.stringify(pathfileval)
|
|
|
|
// );
|
|
|
|
// if (indexfind1 === -1) {
|
|
|
|
// (async () => {
|
|
|
|
// console.log(
|
|
|
|
// "file2222222222222222222222222222222222222 " +
|
|
|
|
// JSON.stringify(pathfileval)
|
|
|
|
// );
|
|
|
|
// var token = "d2539e5a7ae1f9f1b0eb2b8f22ca467a86d28407"; // desto
|
|
|
|
// var resdata = await getpipelines(token, pathfile);
|
|
|
|
// //resdata.data.pathlogfile = 'test'
|
|
|
|
// var resob = {};
|
|
|
|
// resob.pathlogfile = pathfileval;
|
|
|
|
// var resobarray = [];
|
|
|
|
// for (let i in resdata.data) {
|
|
|
|
// var resob1 = {};
|
|
|
|
// resob1.data = resdata.data[i].res25swarmlabname;
|
|
|
|
// resob1.user25user = resdata.data[i].res25user;
|
|
|
|
// resob1.res25creator = resdata.data[i].res25creator;
|
|
|
|
// resob1.res25fileforce = resdata.data[i].res25fileforce;
|
|
|
|
// resobarray.push(resob1);
|
|
|
|
// }
|
|
|
|
// resob.data = resobarray;
|
|
|
|
// //var indexfind = global.pipelines.findIndex(x => x.res25swarmlabname==resdata.data[0].res25swarmlabname);
|
|
|
|
// var indexfind = global.pipelines.findIndex(
|
|
|
|
// (x) => x.pathlogfile == pathfileval
|
|
|
|
// );
|
|
|
|
|
|
|
|
// //indexfind === -1 ? global.pipelines.push({resob}) : console.log("object already exists")
|
|
|
|
// indexfind === -1
|
|
|
|
// ? global.pipelines.push(resob)
|
|
|
|
// : console.log("object already exists " + pathfileval);
|
|
|
|
|
|
|
|
// //console.log('info', JSON.stringify(resdata));
|
|
|
|
// //console.log('info------------- ', JSON.stringify(global.pipelines));
|
|
|
|
// })();
|
|
|
|
// }
|
|
|
|
// //
|
|
|
|
// var obj = req.body[i];
|
|
|
|
|
|
|
|
// //var indexfind = global.pipelines.findIndex(x => x.res25swarmlabname==resdata.data.res25swarmlabname);
|
|
|
|
// //indexfind === -1 ? global.pipelines.push(resob) : console.log("object already exists")
|
|
|
|
// var now = new Date();
|
|
|
|
|
|
|
|
// var reslog = new Object();
|
|
|
|
// reslog.log = obj;
|
|
|
|
|
|
|
|
// reslog.date = convertDateToUTC(now);
|
|
|
|
// console.log(reslog);
|
|
|
|
// var pathfileval = pathmodule.basename(reslog.log.tailed_path);
|
|
|
|
// var indexfind = global.pipelines.findIndex(
|
|
|
|
// (x) => x.pathlogfile == pathfileval
|
|
|
|
// );
|
|
|
|
// //indexfind === -1 ? sendlog(reslog,pathfileval) : console.log("object already exists")
|
|
|
|
// indexfind === -1
|
|
|
|
// ? console.log("object not found")
|
|
|
|
// : sendlog(reslog, pathfileval);
|
|
|
|
// console.log("IOT " + JSON.stringify(reslog.log.tailed_path));
|
|
|
|
// console.log("IOTindexfind " + JSON.stringify(indexfind));
|
|
|
|
// console.log("IOTuser " + JSON.stringify(global.pipelines));
|
|
|
|
// // io.in("iot").emit("message", reslog);
|
|
|
|
// // io.emit("logdata", reslog);
|
|
|
|
// }
|
|
|
|
// })();
|
|
|
|
|
|
|
|
// //io.in("iot").emit("message", RES);
|
|
|
|
|
|
|
|
// console.error("socket POST from client");
|
|
|
|
// var RES = new Object();
|
|
|
|
// RES.error = false;
|
|
|
|
// RES.error_msg = "ok";
|
|
|
|
// RES.msg = req.body[0].messsage;
|
|
|
|
|
|
|
|
// res.json(RES);
|
|
|
|
// }
|
|
|
|
// );
|
|
|
|
|
|
|
|
// ***************************************************
|
|
|
|
// socket
|
|
|
|
// ***************************************************
|
|
|
|
|
|
|
|
//function getSHA256ofJSON(input){
|
|
|
|
// return require("crypto").createHash("sha256").update(JSON.stringify(input)).digest("hex");
|
|
|
|
//}
|
|
|
|
|
|
|
|
function sleep(ms) { |
|
|
|
return new Promise((resolve) => setTimeout(resolve, ms)); |
|
|
@ -1403,32 +1144,5 @@ function onCollection(err, collection) { |
|
|
|
}, 8000); |
|
|
|
} |
|
|
|
|
|
|
|
/// ARXIKO MONGO CONNECTION ///
|
|
|
|
// var mongourl =
|
|
|
|
// "mongodb://" +
|
|
|
|
// CONFIG.mongo.user +
|
|
|
|
// ":" +
|
|
|
|
// CONFIG.mongo.password +
|
|
|
|
// "@ondemand_playground_mongo1:27017,ondemand_playground_mongo2:27017,ondemand_playground_mongo3:27017,ondemand_playground_mongo4:27017,ondemand_playground_mongo5:27017,ondemand_playground_mongo6:27017,ondemand_playground_mongo7:27017/swarmlabplaygroundstats?replicaSet=rs1&authSource=swarmlabplaygroundstats";
|
|
|
|
// const OPTS = {
|
|
|
|
// useNewUrlParser: true,
|
|
|
|
// useUnifiedTopology: true,
|
|
|
|
// };
|
|
|
|
// var mongooptions = {
|
|
|
|
// autoReconnect: true,
|
|
|
|
// keepAlive: 1,
|
|
|
|
// connectTimeoutMS: 30000,
|
|
|
|
// socketTimeoutMS: 0,
|
|
|
|
// };
|
|
|
|
|
|
|
|
// MongoClient.connect(mongourl, OPTS, function (err, client) {
|
|
|
|
// if (err) {
|
|
|
|
// console.log(err);
|
|
|
|
// } else {
|
|
|
|
// const db = client.db("swarmlabplaygroundstats");
|
|
|
|
// db.collection("logs", onCollection);
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
|
|
|
|
http.listen(3000, () => console.error("listening on http://localhost:3000/")); |
|
|
|
console.error("socket.io example"); |
|
|
|