74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
const { LogType } = require("loguix")
|
|
const fs = require("fs")
|
|
const path = require("path")
|
|
const { __glob } = require("./global-variables")
|
|
const clog = new LogType("Serveur Metrics")
|
|
const osutils = require("os-utils")
|
|
const os = require("os")
|
|
const { statfs } = require("fs")
|
|
const config = require("./config")
|
|
|
|
|
|
|
|
module.exports.getMetrics = async function(server) {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
if(server == "Alpha") {
|
|
var resp = "NULL"
|
|
const space = statfs("/", (err, stats) => {
|
|
if (err) {
|
|
throw err
|
|
}
|
|
|
|
|
|
|
|
osutils.cpuUsage(function(cpuUsage) {
|
|
resp = {
|
|
cpu: Math.round(cpuUsage * 1000),
|
|
usedram: osutils.totalmem() - osutils.freemem(),
|
|
totalram: osutils.totalmem(),
|
|
usedisk: stats.blocks - stats.bfree,
|
|
totaldisk: stats.blocks,
|
|
name: server
|
|
}
|
|
|
|
resolve(resp)
|
|
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
} else if(server == "Omega") {
|
|
|
|
const key = config.getFile().OMEGA_KEY;
|
|
|
|
fetch("http://omega.raphix.fr:4000/metrics?key="+key, {
|
|
method: "GET",
|
|
headers: {
|
|
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
|
|
"Accept-Encoding": "gzip, deflate",
|
|
"Accept-Language": "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7",
|
|
"Cache-Control": "no-cache",
|
|
"Connection": "keep-alive"
|
|
}
|
|
})
|
|
.then(response => response.json())
|
|
.then(raw => {
|
|
raw.name = server;
|
|
resolve(raw);
|
|
})
|
|
.catch(error => {
|
|
|
|
reject(error);
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
} |