寫了一個nmon的腳本,用來定時運行nmon,並且生成日誌文件.
1.首先你需要創建一個標準的目錄結構,裏面有bin log scripts
其中bin存放nmon可執行文件,log爲執行nmon產生的結果目錄,scripts爲nmon的腳本.
例如:
mkdir -p /root/nmon/{bin,log,scripts}
將nmon可執行文件上傳到bin下,並且賦予執行權限.文件名必須是nmon,你可以做個軟連接
2.在scripts下創建nmon.sh腳本,用來定時執行nmon命令:
scripts腳本內容如下:
#指定nmon的主目錄
export NMON_DIR=/root/nmon
#INTERVAL SECONDS 設置nmon每次執行的時間間隔,單位爲秒
export INTERVAL=10
#DURATION hours 設置每次nmon執行的時間,即每隔多長時間產生一個新的nmon日誌文件,單位爲小時
export DURATION=4
#NMON logfile keep days 設置nmon 日誌文件的保留時間,單位爲天
export KEEP_TIME=7
COUNT=$((${DURATION}*3600/${INTERVAL}))
while true
do
NMON_PID=`ps -ef |grep ${NMON_DIR}/bin/nmon |grep -v grep |wc -l`
if [ "$NMON_PID" -ge 1 ]
then
sleep 10
find ${NMON_DIR}/log -ctime +${KEEP_TIME} -name "*.nmon" |xargs rm -rf
continue
else
${NMON_DIR}/bin/nmon -s${INTERVAL} -c${COUNT} -f -m ${NMON_DIR}/log
fi
done
例如上面的配置中:
nmon每間隔10s鍾執行一次.每4個小時產生一個nmon的日誌文件.日誌文件保留7天.
3.將腳本在後臺運行
nohup /root/nmon/scritps/nmon.sh &
效果就是每隔10s執行一次nmon抓取操作系統性能參數,且每4小時產生一個日誌文件.
說明:爲啥要每隔4小時產生一個文件呢,因爲如果你不設置時間限制,nmon產生的日誌文件會越來越大,最後用excel分析的時候可能就沒法分析了,通過時間間隔減少每隔文件的大小.