温馨提示×

如何通过JS日志监控Linux服务器状态

小樊
48
2025-07-20 12:19:29
栏目: 云计算

通过JavaScript日志监控Linux服务器状态,通常需要以下几个步骤:

  1. 在Linux服务器上安装Node.js: 如果你的Linux服务器还没有安装Node.js,你需要先安装它。你可以使用以下命令来安装Node.js:

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs 

    这里使用的是Node.js 14.x版本,你可以根据需要选择其他版本。

  2. 创建一个Node.js脚本来监控服务器状态: 创建一个新的JavaScript文件,例如monitor.js,并编写脚本来收集服务器状态信息。以下是一个简单的示例脚本:

    const fs = require('fs'); const os = require('os'); const exec = require('child_process').exec; // 获取CPU使用率 function getCpuUsage() { return new Promise((resolve, reject) => { exec('top -bn1 | grep load', (error, stdout) => { if (error) { reject(error); return; } const load = stdout.split('load average: ')[1].split(',')[0]; resolve(load); }); }); } // 获取内存使用情况 function getMemoryUsage() { return new Promise((resolve, reject) => { exec('free -m | grep Mem', (error, stdout) => { if (error) { reject(error); return; } const totalMemory = stdout.split('Mem:')[1].split(' ')[1]; const usedMemory = stdout.split('Mem:')[1].split(' ')[2]; resolve({ totalMemory, usedMemory }); }); }); } // 获取磁盘使用情况 function getDiskUsage() { return new Promise((resolve, reject) => { exec('df -h | grep /$', (error, stdout) => { if (error) { reject(error); return; } const diskUsage = stdout.split(' ')[10]; resolve(diskUsage); }); }); } // 记录日志 function logToFile(message) { const timestamp = new Date().toISOString(); const logEntry = `${timestamp}: ${message}\n`; fs.appendFile('/var/log/server_status.log', logEntry, (err) => { if (err) throw err; }); } // 主函数 async function monitorServer() { try { const cpuUsage = await getCpuUsage(); const memoryUsage = await getMemoryUsage(); const diskUsage = await getDiskUsage(); logToFile(`CPU Usage: ${cpuUsage}`); logToFile(`Memory Usage: ${memoryUsage.totalMemory}MB / ${memoryUsage.usedMemory}MB`); logToFile(`Disk Usage: ${diskUsage}`); } catch (error) { logToFile(`Error: ${error.message}`); } } // 每隔一段时间监控一次 setInterval(monitorServer, 60000); // 每分钟监控一次 
  3. 运行Node.js脚本: 在终端中运行你的Node.js脚本:

    node monitor.js 

    你可以将这个脚本设置为系统服务,以便在服务器启动时自动运行。

  4. 查看日志文件: 你可以随时查看/var/log/server_status.log文件来获取服务器的状态信息。

通过这种方式,你可以使用JavaScript日志监控Linux服务器的状态,并将相关信息记录到日志文件中。

0