在Ubuntu系統(tǒng)中開啟sar日志記錄功能,可通過以下步驟實(shí)現(xiàn)系統(tǒng)性能數(shù)據(jù)的持續(xù)采集與存儲。sar(System Activity Reporter)作為sysstat工具包的核心組件,能夠以時間序列方式記錄CPU、內(nèi)存、磁盤I/O等關(guān)鍵指標(biāo),適用于故障排查與性能優(yōu)化場景。
一、安裝sysstat工具包
-
執(zhí)行安裝命令
sudo apt update && sudo apt install sysstat
安裝完成后,系統(tǒng)將自動創(chuàng)建
/var/log/sysstat/
目錄,用于存儲二進(jìn)制格式的性能數(shù)據(jù)文件(如sar01
、sar02
等)。 -
驗(yàn)證安裝狀態(tài)
輸入man sar
查看手冊頁是否存在,或運(yùn)行sar -V
顯示版本號(當(dāng)前主流版本為12.5.0+)。
二、配置日志采集參數(shù)
-
編輯主配置文件
使用文本編輯器打開/etc/default/sysstat
:sudo nano /etc/default/sysstat
將
ENABLED="false"
修改為ENABLED="true"
,啟用后臺服務(wù)。 -
調(diào)整采集頻率
系統(tǒng)默認(rèn)通過/etc/cron.d/sysstat
定時任務(wù)執(zhí)行數(shù)據(jù)采集。查看該文件內(nèi)容:sudo cat /etc/cron.d/sysstat
其中
*/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
表示每10分鐘采集一次,保留1天數(shù)據(jù)。可根據(jù)需求調(diào)整時間間隔(如改為*/5
實(shí)現(xiàn)5分鐘粒度)。 -
設(shè)置日志保留周期
修改/etc/sysstat/sysstat
配置文件中的HISTORY
參數(shù),例如:HISTORY=7
表示保留7天的歷史數(shù)據(jù)。調(diào)整后需重啟sysstat服務(wù)生效。
三、啟動并驗(yàn)證服務(wù)
-
啟動數(shù)據(jù)采集服務(wù)
sudo systemctl start sysstat
設(shè)置開機(jī)自啟:
sudo systemctl enable sysstat
-
檢查運(yùn)行狀態(tài)
執(zhí)行systemctl status sysstat
確認(rèn)服務(wù)處于active狀態(tài)。若出現(xiàn)錯誤,檢查/var/log/sysstat/
目錄權(quán)限(建議屬主為root,權(quán)限755)。 -
手動觸發(fā)首次采集
運(yùn)行sudo /usr/lib/sysstat/sa1 1 1
立即生成第一條記錄,隨后等待定時任務(wù)自動執(zhí)行后續(xù)采集。
四、查看與分析日志
- 使用sar命令查詢數(shù)據(jù)
- 查看當(dāng)天CPU使用率:
sar -u -f /var/log/sysstat/sar$(date +%d)
- 查看內(nèi)存使用情況:
sar -r -f /var/log/sysstat/sar$(date +%d)
- 查看磁盤I/O統(tǒng)計(jì):
sar -d -f /var/log/sysstat/sar$(date +%d)
- 查看當(dāng)天CPU使用率:
- 日志文件管理
系統(tǒng)每日生成一個文件(如sar05
對應(yīng)5號),通過ls /var/log/sysstat/
可查看歷史文件列表。若需長期歸檔,建議結(jié)合logrotate工具配置壓縮策略。
五、注意事項(xiàng)
⚠️ 權(quán)限要求:操作需root權(quán)限,普通用戶可通過sudo提權(quán)執(zhí)行相關(guān)命令。
🔄 版本兼容性:Ubuntu 20.04及以上版本均適用,舊版本需確認(rèn)軟件源支持。
📊 性能影響:默認(rèn)采集頻率對系統(tǒng)負(fù)載影響極低(CPU占用率<0.1%),高頻采集(如1分鐘粒度)需評估資源消耗。
🔍 數(shù)據(jù)精度:sar記錄的是瞬時采樣值,對于突發(fā)性性能波動可能無法完整捕捉,建議結(jié)合其他監(jiān)控工具(如top、iostat)綜合分析。
通過上述步驟,即可在Ubuntu系統(tǒng)中構(gòu)建完整的sar日志體系,為性能調(diào)優(yōu)提供可靠的數(shù)據(jù)支撐。