File Upload
commit
d97f2ae7b4
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"diskusage": "^1.1.3",
|
||||||
|
"express": "^4.18.2",
|
||||||
|
"pm2": "^5.2.2",
|
||||||
|
"systeminformation": "^5.17.1"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
const express = require('express');
|
||||||
|
const os = require('os');
|
||||||
|
const app = express();
|
||||||
|
const diskusage = require('diskusage');
|
||||||
|
const si = require('systeminformation');
|
||||||
|
const hostname = "localhost";
|
||||||
|
const port = "3001";
|
||||||
|
|
||||||
|
async function getNetworkStats() {
|
||||||
|
try {
|
||||||
|
const data = await si.networkStats("eno1");
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getCurrentCPULoad() {
|
||||||
|
try {
|
||||||
|
const data = await si.currentLoad();
|
||||||
|
const { currentLoad } = data;
|
||||||
|
return currentLoad;
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
app.get('/server-stats/', (req, res) => {
|
||||||
|
const cpuServer = os.cpus()[0].model;
|
||||||
|
const totalRam = (os.totalmem() / 1024 ** 3);
|
||||||
|
const ramUsage = (os.totalmem() - os.freemem()) / os.totalmem();
|
||||||
|
diskusage.check('/', async (err, result) => {
|
||||||
|
const totalHddSpace = (result.total / 1024 ** 3);
|
||||||
|
const freeHddSpace = (result.available / 1024 ** 3);
|
||||||
|
const networkStats = await getNetworkStats();
|
||||||
|
const cpuUsage = await getCurrentCPULoad();
|
||||||
|
res.json({
|
||||||
|
cpuServer,
|
||||||
|
cpuUsage,
|
||||||
|
ramUsage,
|
||||||
|
totalRam,
|
||||||
|
totalHddSpace,
|
||||||
|
freeHddSpace,
|
||||||
|
networkStats
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
app.listen(port, hostname, () => {
|
||||||
|
console.log(`Server running at http://${hostname}:${port}/`);
|
||||||
|
})
|
Loading…
Reference in New Issue