网络知识
如何通过JS日志监控Debian服务器状态
2025-07-12 15:58  点击:1

要通过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服务器以便远程访问,或者将数据存储在数据库中以便进一步分析。