要通过JavaScript日志监控Debian服务器状态,你可以使用Node.js的child_process
模块来执行系统命令并获取输出。以下是一个简单的示例,展示了如何使用Node.js脚本监控Debian服务器的CPU使用率、内存使用率和磁盘空间。
首先,确保你已经在Debian服务器上安装了Node.js。如果没有,请访问Node.js官方网站下载并安装。
然后,创建一个名为server_monitor.js
的文件,并将以下代码粘贴到其中:
const { exec } = require('child_process');
// 获取CPU使用率
function getCpuUsage(callback) {
exec('top -bn1 | grep load', (error, stdout, stderr) => {
if (error) {
console.error(`Error: ${error}`);
return;
}
const cpuUsage = stdout.trim().split(' ')[8];
callback(cpuUsage);
});
}
// 获取内存使用率
function getMemoryUsage(callback) {
exec('free -m | grep Mem', (error, stdout, stderr) => {
if (error) {
console.error(`Error: ${error}`);
return;
}
const memoryUsage = stdout.trim().split(' ')[2] / stdout.trim().split(' ')[1] * 100;
callback(memoryUsage);
});
}
// 获取磁盘空间使用率
function getDiskUsage(callback) {
exec('df -h | grep /', (error, stdout, stderr) => {
if (error) {
console.error(`Error: ${error}`);
return;
}
const diskUsage = stdout.trim().split(' ')[4].replace('%', '');
callback(diskUsage);
});
}
// 定期监控服务器状态
function monitorServerStatus() {
getCpuUsage((cpuUsage) => {
console.log(`CPU Usage: ${cpuUsage}%`);
});
getMemoryUsage((memoryUsage) => {
console.log(`Memory Usage: ${memoryUsage.toFixed(2)}%`);
});
getDiskUsage((diskUsage) => {
console.log(`Disk Usage: ${diskUsage}%`);
});
setTimeout(monitorServerStatus, 5000); // 每5秒监控一次
}
monitorServerStatus();
保存文件后,在终端中运行以下命令启动脚本:
node server_monitor.js
这将每5秒输出一次服务器的CPU、内存和磁盘空间使用情况。
请注意,这个示例仅用于演示目的,实际生产环境中可能需要更详细的监控和错误处理。你可以根据需要修改和扩展此脚本,例如将输出发送到Web服务器以便远程访问,或者将数据存储在数据库中以便进一步分析。