本文介绍如何利用JavaScript监控Linux系统日志。我们将使用Node.JS的fs模块结合tail命令实现实时监控。
准备工作:
- 确保已安装Node.js。若未安装,请访问Node.js官网下载安装。
代码实现:
创建一个名为logMonitor.js的JavaScript文件,并写入以下代码:
const fs = require('fs'); const path = require('path'); // 日志文件路径 (请根据实际情况修改) const logFilePath = '/var/log/syslog'; // 打开日志文件 const logFile = fs.openSync(logFilePath, 'r'); // 监控日志文件变化 fs.watchFile(logFilePath, { interval: 1000 }, (curr, prev) => { const content = fs.readFileSync(logFilePath, { encoding: 'utf-8' }); const newContent = content.substring(prev.size); console.log(newContent); });
运行脚本:
在终端中运行以下命令:
node logMonitor.js
该脚本将实时监控/var/log/syslog文件,并将新增日志内容输出到控制台。 您可以根据需要修改logFilePath变量来监控其他日志文件。
重要提示:
此方法仅适用于本地日志监控。对于远程服务器日志监控,建议使用tail -f命令结合ssh等远程连接工具。 请注意权限问题,确保脚本具有读取指定日志文件的权限。