From d017f42bf3a6a0abcbf08e9ff7f1fb7f5762c58b Mon Sep 17 00:00:00 2001 From: zeus Date: Tue, 11 May 2021 17:50:02 +0300 Subject: [PATCH] add stats --- llo/connect-new.js | 35 ++++++++++++++++++++++++++++++++--- package.json | 1 + start | 6 ++++-- start-venus-stats | 8 +++++++- 4 files changed, 44 insertions(+), 6 deletions(-) diff --git a/llo/connect-new.js b/llo/connect-new.js index c5a6dae..49d692f 100644 --- a/llo/connect-new.js +++ b/llo/connect-new.js @@ -268,6 +268,38 @@ export NODE_PATH=$(npm root --quiet -g) */ try { var mongoserver = JSON.parse(fs.readFileSync('./hybrid/venus-stats/config.json', 'utf8')) + + try { + var MongoClient = require('mongodb').MongoClient; + var mongourl = `mongodb://${mongoserver.mongo_user}:${mongoserver.mongo_pass}@${mongoserver.mongo_ip}:${mongoserver.mongo_port}`; + const OPTS = { + useNewUrlParser: true, + useUnifiedTopology: true + }; + + MongoClient.connect(mongourl, OPTS, function(err, db) { + if(err){ + console.log(err); + } else { + var dbo = db.db(mongoserver.mongo_db); + //var findcoll = `{"stackid":"${res.bootstrapstackid}"}` + //{EmployeeName : {$regex: "Gu" }} + var limit = 15 + dbo.collection(mongoserver.mongo_coll).find({"stackid":res.bootstrapstackid},{sort:{_id:-1}}).limit(limit).toArray(function(err, result) { + if(err){ + console.log(err); + } else { + console.log(result); + db.close(); + } + }); + } + }); + } catch (err) { + console.error(err); + } + + const myExec = ` docker exec -it swarmlabwg-${res.bootstrapstackid} /bin/bash -c "ip link set ${DEV_NAME} down; ip link del ${DEV_NAME}" sleep 1 @@ -392,10 +424,8 @@ app.post('/hybrid_join_connect', (req, res, next) => { if(RES.action == "connect"){ fs.writeFileSync(`./hybrid/connect/${RES.bootstrapstackid}/swarmlabstatus`, 'wgstatusclient=on'); - var showexecrm = `/bin/sh ./hybrid/connect/${RES.bootstrapstackid}/swarmlabwg` execSync(showexecrm); - var showexec = `docker ps --format '{"ID":"{{ .ID }}", "Image": "{{ .Image }}", "Names":"{{ .Names }}", "Ports":"{{.Ports}}", "Networks":"{{.Networks}}", "Status":"{{.Status}}","RunningFor":"{{.RunningFor}}","CreatedAt":"{{.CreatedAt}}"}' | jq . -s ` exec(showexec, (err, stdout, stderr) => { if (err) { @@ -419,7 +449,6 @@ app.post('/hybrid_join_connect', (req, res, next) => { } RES.debug = datajson - if(results){ RES.error = false RES.error_msg = "ok" diff --git a/package.json b/package.json index bef6a95..df4d765 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "cors": "^2.8.5", "express": "^4.17.1", "helmet": "^4.1.1", + "mongodb": "^3.6.6", "pm2": "^4.5.1", "read-last-lines": "^1.7.2", "simple-git": "^2.31.0", diff --git a/start b/start index 1b15a65..800b595 100755 --- a/start +++ b/start @@ -27,12 +27,14 @@ if [ "$cwdir" != "$wdir" ]; then cd $wdir fi -sudo /bin/bash ./hybrid/connect/get-swarmlab-ca > /dev/null 2>&1 -sudo /bin/bash ./hybrid/connect/get-base-ca > /dev/null 2>&1 +sudo /bin/bash $wdir/hybrid/connect/get-swarmlab-ca > /dev/null 2>&1 +sudo /bin/bash $wdir/hybrid/connect/get-base-ca > /dev/null 2>&1 ./update-agent.sh docker pull hub.swarmlab.io:5480/venusclient:latest +bash ./start-venus-stats + pm2 stop venusclient > /dev/null 2>&1 sleep 1 pm2 start ecosystem.config.js --watch --ignore-watch="node_modules" > /dev/null 2>&1 diff --git a/start-venus-stats b/start-venus-stats index c82f085..429fe74 100755 --- a/start-venus-stats +++ b/start-venus-stats @@ -27,6 +27,8 @@ if [ "$cwdir" != "$wdir" ]; then cd $wdir fi +#echo $wdir + # #files/mongo/ # docker-compose.yml @@ -58,7 +60,7 @@ fi cp -raf $wdir/files/mongo/wg-json $wdir/hybrid/venus-stats cp -raf $wdir/files/mongo/mongod.conf $wdir/hybrid/venus-stats cp -raf $wdir/files/mongo/docker-compose.yml $wdir/hybrid/venus-stats -cp -raf $wdir/files/mongo/files/mongo/venus-stats.js $wdir/hybrid/venus-stats +cp -raf $wdir/files/mongo/venus-stats.js $wdir/hybrid/venus-stats swuser=swarmlab @@ -125,3 +127,7 @@ setconfig=$(jq \ echo $setconfig > $wdir/hybrid/venus-stats/config.json +cd ./hybrid/venus-stats/ +./start +cd $wdir +