Linux
如何設置伺服器以監控一段時間內的資源使用情況並生成報告
我正在做一個研究項目,我們通常在伺服器上開始工作,大約需要一兩天的時間來執行,然後我們去看看結果。問題在於,在某些情況下,我們正在使伺服器資源匱乏,並且由於某些作業失敗,它正在影響我們的結果。
我想生成一份報告,我們可以回顧一下以確定伺服器資源的使用情況,並將其與作業交叉引用。
我試過用 atop 做這個(使用它的 rawfile 格式)但是在不同的機器上讀取這種格式有很多問題(即不同版本的 linux 或 atop 等)
所以我想知道是否有更優雅的解決方案?最終,我需要能夠深入了解每個程序級別的資源消耗,並查看用於實例化程序的命令(如 htop 中的命令列。)
您可能可以從
sar -f /var/log/sysstat/sa6
看昨天系統大雅
以及
vmstat
這使您能夠開始將問題縮小到小時。從那裡您可以開始查看伺服器日誌以查看是否有錯誤。在日誌上使用 grep 並查找您的程序名稱和關鍵字,例如問題、錯誤。
您應該嘗試一下
nmon
,您可以從 EPEL 儲存庫中獲取它。您可以安排一個 cron 作業來創建每日報告,例如,這將在每天早上 7 點生成一份報告:
- name: nmon cron cron: name: "Generate nmon daily at 7:00" minute: "0" hour: "7" job: "/bin/nmon -fT -s300 -c290 -m /root/nmon" user: root cron_file: nmon
報告的大小各不相同,例如第一個來自測試伺服器,第二個來自 Oracle 生產伺服器:
[root@xxxxxx379 ~]# du -sh nmon/xxxxxx379_201108_0700.nmon 316K nmon/xxxxxx379_201108_0700.nmon [root@xxxx203 ~]# du -sh nmon/xxxx203_201108_0700.nmon 1.8M nmon/xxxx203_201108_0700.nmon
然後,您可以通過多種方式繪製統計數據(輸出為 csv)。