要通过JavaScript日志监控Debian系统的状态,你可以使用Node.js的child_process
模块来执行系统命令并获取输出。以下是一个简单的示例,展示了如何使用JavaScript监控Debian系统的CPU使用率、内存使用情况和磁盘空间。
首先,确保你已经安装了Node.js。如果没有,请访问Node.js官网下载并安装。
然后,创建一个名为monitor.js
的文件,并将以下代码粘贴到文件中:
const { exec } = require('child_process');
// 获取CPU使用率
function getCpuUsage() {
exec('top -bn1 | grep load', (error, stdout, stderr) => {
if (error) {
console.error(`执行错误: ${error}`);
return;
}
const loadAverage = stdout.trim().split(' ')[8];
console.log(`CPU使用率: ${loadAverage}`);
});
}
// 获取内存使用情况
function getMemoryUsage() {
exec('free -m | grep Mem', (error, stdout, stderr) => {
if (error) {
console.error(`执行错误: ${error}`);
return;
}
const memoryInfo = stdout.trim().split(' ');
const totalMemory = memoryInfo[1];
const usedMemory = memoryInfo[2];
const freeMemory = memoryInfo[3];
console.log(`内存使用情况: 总计 ${totalMemory}MB, 已用 ${usedMemory}MB, 空闲 ${freeMemory}MB`);
});
}
// 获取磁盘空间
function getDiskSpace() {
exec('df -h | grep /$', (error, stdout, stderr) => {
if (error) {
console.error(`执行错误: ${error}`);
return;
}
const diskSpaceInfo = stdout.trim().split(/\s+/);
const totalSpace = diskSpaceInfo[1];
const usedSpace = diskSpaceInfo[2];
const availableSpace = diskSpaceInfo[3];
console.log(`磁盘空间: 总计 ${totalSpace}, 已用 ${usedSpace}, 可用 ${availableSpace}`);
});
}
// 每隔一段时间(例如:5秒)执行一次监控
setInterval(() => {
getCpuUsage();
getMemoryUsage();
getDiskSpace();
}, 5000);
保存文件后,在终端中运行以下命令启动监控脚本:
node monitor.js
这将每隔5秒输出一次Debian系统的CPU使用率、内存使用情况和磁盘空间。
请注意,这个示例仅用于演示目的,实际应用中可能需要更详细的监控和错误处理。另外,你可以根据需要修改setInterval
中的时间间隔。