centos

如何通过JS日志监控CentOS系统状态

小樊
47
2025-07-16 21:06:28
栏目: 编程语言

要通过JavaScript日志监控CentOS系统状态,你可以使用Node.js的os模块来收集系统信息,并将其记录到日志文件中。以下是一个简单的示例,展示了如何使用Node.js创建一个脚本来监控CentOS系统的CPU使用率、内存使用情况和磁盘空间,并将这些信息记录到日志文件中。

首先,确保你已经在CentOS系统上安装了Node.js。如果没有,请访问Node.js官方网站下载并安装。

然后,创建一个名为system_monitor.js的文件,并在其中输入以下代码:

const fs = require('fs');
const os = require('os');
const path = require('path');

// 创建日志文件的路径
const logFilePath = path.join(__dirname, 'system_status.log');

// 获取系统信息
function getSystemInfo() {
  const cpuUsage = os.loadavg();
  const totalMemory = os.totalmem();
  const freeMemory = os.freemem();
  const usedMemory = totalMemory - freeMemory;
  const diskSpace = os.totalfs_sizeSync('/');
  const freeDiskSpace = os.totalfs_freeSync('/');

  return {
    cpuUsage,
    totalMemory,
    usedMemory,
    freeMemory,
    diskSpace,
    freeDiskSpace
  };
}

// 将系统信息记录到日志文件中
function logSystemInfo() {
  const systemInfo = getSystemInfo();
  const logEntry = `${new Date().toISOString()} - CPU: ${systemInfo.cpuUsage}, Memory: ${systemInfo.usedMemory} / ${systemInfo.totalMemory}, Disk: ${systemInfo.freeDiskSpace} / ${systemInfo.diskSpace}\n`;

  fs.appendFile(logFilePath, logEntry, (err) => {
    if (err) {
      console.error('Error writing to log file:', err);
    }
  });
}

// 每隔一段时间(例如,每分钟)记录一次系统信息
setInterval(logSystemInfo, 60000);

// 立即记录一次系统信息
logSystemInfo();

保存文件后,在终端中运行以下命令以启动脚本:

node system_monitor.js

这将开始监控你的CentOS系统,并将系统状态记录到system_status.log文件中。你可以根据需要调整setInterval函数中的时间间隔。

要查看日志文件,可以使用cattail命令:

cat system_status.log

tail -f system_status.log

这将显示实时更新的日志内容。

0
看了该问题的人还看了