debian

如何通过JS日志监控Debian状态

小樊
48
2025-08-23 14:50:17
栏目: 编程语言

要通过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中的时间间隔。

0
看了该问题的人还看了