要通過JavaScript日志監控Debian系統的狀態,你可以使用Node.js的child_process模塊來執行系統命令并獲取輸出。以下是一個簡單的示例,展示了如何使用JavaScript監控Debian系統的CPU使用率、內存使用情況和磁盤空間。
首先,確保你已經安裝了Node.js。如果沒有,請訪問Node.js官網下載并安裝。
然后,創建一個名為monitor.js的文件,并將以下代碼粘貼到文件中:
const { exec } = require('child_process');
// 獲取CPU使用率
function getCpuUsage() {
exec('top -bn1 | grep load', (error, stdout, stderr) => {
if (error) {
console.error(`執行錯誤: ${error}`);
return;
}
const loadAverage = stdout.trim().split(' ')[8];
console.log(`CPU使用率: ${loadAverage}`);
});
}
// 獲取內存使用情況
function getMemoryUsage() {
exec('free -m | grep Mem', (error, stdout, stderr) => {
if (error) {
console.error(`執行錯誤: ${error}`);
return;
}
const memoryInfo = stdout.trim().split(' ');
const totalMemory = memoryInfo[1];
const usedMemory = memoryInfo[2];
const freeMemory = memoryInfo[3];
console.log(`內存使用情況: 總計 ${totalMemory}MB, 已用 ${usedMemory}MB, 空閑 ${freeMemory}MB`);
});
}
// 獲取磁盤空間
function getDiskSpace() {
exec('df -h | grep /$', (error, stdout, stderr) => {
if (error) {
console.error(`執行錯誤: ${error}`);
return;
}
const diskSpaceInfo = stdout.trim().split(/\s+/);
const totalSpace = diskSpaceInfo[1];
const usedSpace = diskSpaceInfo[2];
const availableSpace = diskSpaceInfo[3];
console.log(`磁盤空間: 總計 ${totalSpace}, 已用 ${usedSpace}, 可用 ${availableSpace}`);
});
}
// 每隔一段時間(例如:5秒)執行一次監控
setInterval(() => {
getCpuUsage();
getMemoryUsage();
getDiskSpace();
}, 5000);
保存文件后,在終端中運行以下命令啟動監控腳本:
node monitor.js
這將每隔5秒輸出一次Debian系統的CPU使用率、內存使用情況和磁盤空間。
請注意,這個示例僅用于演示目的,實際應用中可能需要更詳細的監控和錯誤處理。另外,你可以根據需要修改setInterval中的時間間隔。