debian

如何通过JS日志监控Debian服务器性能

小樊
51
2025-09-02 15:23:04
栏目: 云计算

要通过JavaScript日志监控Debian服务器的性能,你可以使用Node.js来创建一个简单的监控脚本。以下是一个基本的步骤指南:

  1. 安装Node.js: 如果你的Debian服务器上还没有安装Node.js,你可以通过以下命令安装它:

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  2. 创建监控脚本: 创建一个新的JavaScript文件,例如 monitor.js,并使用以下代码作为起点:

    const fs = require('fs');
    const os = require('os');
    
    // 设置日志文件路径
    const logFile = '/var/log/server_performance.log';
    
    // 获取系统信息
    function getSystemInfo() {
      const cpuUsage = os.loadavg();
      const totalMemory = os.totalmem();
      const freeMemory = os.freemem();
      const usedMemory = totalMemory - freeMemory;
      const memoryUsage = (usedMemory / totalMemory * 100).toFixed(2) + '%';
      const hostname = os.hostname();
    
      return {
        timestamp: new Date().toISOString(),
        cpuUsage,
        memoryUsage,
        hostname
      };
    }
    
    // 写入日志
    function writeLog(data) {
      const logEntry = `${data.timestamp} - CPU Load: ${data.cpuUsage}, Memory Usage: ${data.memoryUsage}, Hostname: ${data.hostname}\n`;
      fs.appendFile(logFile, logEntry, (err) => {
        if (err) throw err;
        console.log('Performance data logged.');
      });
    }
    
    // 监控间隔(毫秒)
    const interval = 5000; // 每5秒记录一次
    
    // 开始监控
    setInterval(() => {
      const systemInfo = getSystemInfo();
      writeLog(systemInfo);
    }, interval);
    
    console.log('Server performance monitoring started.');
    
  3. 运行监控脚本: 在终端中运行你的脚本:

    node monitor.js
    
  4. 设置脚本开机自启动(可选): 如果你想让这个监控脚本在服务器重启后自动运行,你可以使用 pm2 或者其他进程管理工具来管理你的Node.js应用。

    安装 pm2

    sudo npm install pm2 -g
    

    使用 pm2 启动你的脚本并设置为开机自启动:

    pm2 start monitor.js --name server-monitor
    pm2 startup
    pm2 save
    
  5. 查看日志: 你可以通过以下命令查看日志文件的内容:

    cat /var/log/server_performance.log
    

请注意,这个脚本只是一个基本的性能监控示例。根据你的需求,你可能需要添加更多的监控指标,比如磁盘I/O、网络流量、进程信息等。你也可以考虑使用更高级的监控工具,如Prometheus、Grafana等,它们提供了更丰富的功能和更好的可视化界面。

0
看了该问题的人还看了