本文介紹如何利用JavaScript監(jiān)控Linux系統(tǒng)日志。我們將使用Node.JS的fs模塊結(jié)合tail命令實現(xiàn)實時監(jiān)控。
準(zhǔn)備工作:
- 確保已安裝Node.js。若未安裝,請訪問Node.js官網(wǎng)下載安裝。
代碼實現(xiàn):
創(chuàng)建一個名為logMonitor.js的JavaScript文件,并寫入以下代碼:
const fs = require('fs'); const path = require('path'); // 日志文件路徑 (請根據(jù)實際情況修改) const logFilePath = '/var/log/syslog'; // 打開日志文件 const logFile = fs.openSync(logFilePath, 'r'); // 監(jiān)控日志文件變化 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
該腳本將實時監(jiān)控/var/log/syslog文件,并將新增日志內(nèi)容輸出到控制臺。 您可以根據(jù)需要修改logFilePath變量來監(jiān)控其他日志文件。
重要提示:
此方法僅適用于本地日志監(jiān)控。對于遠(yuǎn)程服務(wù)器日志監(jiān)控,建議使用tail -f命令結(jié)合ssh等遠(yuǎn)程連接工具。 請注意權(quán)限問題,確保腳本具有讀取指定日志文件的權(quán)限。