AIX下用nmon進(jìn)行監(jiān)控和分析實(shí)戰(zhàn)
[導(dǎo)讀]AIX下用nmon進(jìn)行監(jiān)控和分析實(shí)戰(zhàn)
AIX下用nmon進(jìn)行監(jiān)控和分析實(shí)戰(zhàn)
nmon從這里下載:
https://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser
1、準(zhǔn)備:
1)用root用戶登錄到系統(tǒng)中
2)建目錄:#mkdir /nmon/script
3)確定版本:#oslevel,以便確定用哪個(gè)腳本,我是用530
# oslevel -s
5300-09-01-0847
4)把nmon12e_aix530用ftp上傳到/nmon/script
5)執(zhí)行授權(quán)命令:#chmod +x nmon12e_aix530
2、使用:
1)直接使用:
./nmon/nmon12e_aix536 -f -N -m /nmon/log -s 30 -c 2880
表示:
-f 按標(biāo)準(zhǔn)格式輸出文件:_YYYYMMDD_HHMM.nmon
-N include NFS sections
-m 切換到路徑去保存日志文件
-s 每隔n秒抽樣一次,這里為30
-c 取出多少個(gè)抽樣數(shù)量,這里為2880,即監(jiān)控=2880*(30/60/60)=24小時(shí)
根據(jù)小時(shí)計(jì)算這個(gè)數(shù)字的公式為:c=h*3600/s,比如要監(jiān)控10小時(shí),每隔30秒采樣一次,則c=10*3600/30=1200
2)用crontab定期使用:
A、執(zhí)行命令:#crontab -e
B、在最后一行添加如下命令:
0 8 * * 1,2,3,4,5 /nmon/script/nmon12e_aix530 -f -N -m /nmon/log -s 30 -c 1200
表示:
周一到周五,從早上08點(diǎn)開(kāi)始,監(jiān)控10個(gè)小時(shí)(到18:00整為止),輸出到/nmon/log
3、分析
1)會(huì)在/tmp/nmon生成*.nmon的文件把它下載到你的電腦上
2)打開(kāi)nmon analyser v339.xls,把宏的安全性設(shè)成最低,打開(kāi)下載好的*.nmon文件。
并且保存為一個(gè)文件,生成的是視圖模式的,非常直觀!

參考:
附錄一:crontab參數(shù):
參考:https://tech.ddvip.com/2008-11/122629526990895.html
f1 f2 f3 f4 f5 program
minute hour day_of_month month weekday command這些字段接收以下值:
minute 0 到 59
hour 0 到 23
day_of_month 1 到 31
month 1 到 12
weekday 0 到 6(星期天到星期六)
其中f1 是表示分鐘,f2 表示小時(shí),f3 表示一個(gè)月份中的第幾日,f4 表示月份,f5 表示一個(gè)星期中的第幾天。program 表示要執(zhí)行的程序。
當(dāng) f1 為 * 時(shí)表示每分鐘都要執(zhí)行 program,f2 為 * 時(shí)表示每小時(shí)都要執(zhí)行程序,其馀類推
當(dāng) f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內(nèi)要執(zhí)行,f2 為 a-b 時(shí)表示從第 a 到第 b 小時(shí)都要執(zhí)行,其馀類推
當(dāng) f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其馀類推
當(dāng) f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執(zhí)行,其馀類推
附錄二:nmon參數(shù):
參考https://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser
nmon:
-f spreadsheet output format [note: default -s300 -c288]
Output file is _YYYYMMDD_HHMM.nmon
-F same as -f but user supplied filename
-c number of snapshots
-d requests disk service and wait times (DISKSERV and DISKWAIT)
-i Ignore processes using less than this amount of CPU when generating TOP section – useful for reducing data volumes
-g file containing disk group definitions
-l number of hdisks per sheet - defaults to 150, maximum 250. See notes
-m
NMON changes to this directory before saving the file-r goes into spreadsheet file [default hostname]
-s interval between snap shots
-x capacity planning (15 mins for 1 day = -fdt -s900 -c96)
-t include top processes in the output
-T as –t plus saves command line arguments in UARG section
-A include data for async I/O (PROCAIO) sections
-D prevents DISK sections being produced (useful when Disk Groups are being used because there are too many hdisks to process)
-E stops ESS sections being produced (necessary when Disk Groups are being used because there are too many vpaths to process)
-J prevents JFS sections being produced (prevents Excel errors when you have more than 255 filesystems)
-L includes LARGEPAGE section
-N include NFS sections
-S include WLM sections with subclasses
-W include WLM sections without subclasses
-Y include SUMMARY section (very efficient alternative to –t if PID level data is not required)
example: nmon_aix51 -F asterix.nmon -r Test1 -s6 -c12
posted on 2009-02-19 20:24 IT進(jìn)行時(shí) 閱讀(4975) 評(píng)論(4) 編輯 收藏
評(píng)論
# re: AIX下用nmon進(jìn)行監(jiān)控和分析實(shí)戰(zhàn) 2009-03-25 15:46 無(wú)名網(wǎng)
寫(xiě)得不錯(cuò),很多的文章一樣的問(wèn)題那就是沒(méi)有說(shuō)當(dāng)nmon收到參數(shù)以的都是以daemon的形式運(yùn)行的。開(kāi)始的時(shí)候我就認(rèn)為他沒(méi)有工作,后來(lái)對(duì)產(chǎn)生的文件進(jìn)行監(jiān)控才發(fā)一它是以daemon的形式運(yùn)行的。 回復(fù) 更多評(píng)論
下面是cronatab 服務(wù)的man :
Examples
1 To copy a file called mycronjobs into the /var/spool/cron/crontabs directory, enter the following:
crontab mycronjobs
The file will be copied as:
/var/spool/cron/crontabs/
where is your current user name.
2 To write the time to the console every hour on the hour, enter:
0 * * * * echo The hour is `date` .
>/dev/console
3 To run the calendar command at 6:30 a.m. every Monday, Wednesday, and Friday, enter:
30 6 * * 1,3,5 /usr/bin/calendar
4 To run the calendar command every day of the year at 6:30, enter the following:
30 6 * * * /usr/bin/calendar
5 To run a script called maintenance every day at midnight in August, enter the following:
0 0 * 8 * /u/harry/bin/maintenance
6 To define text for the standard input to a command, enter:
0 16 * 12 5 /usr/sbin/wall%HAPPY HOLIDAY!%Remember to
turn in your time card.
The text following the % (percent sign) defines the standard input to the wall command as:
HAPPY HOLIDAY!
Remember to turn in your time card.
https://tech.ddvip.com/2008-11/122629526990895.html
名稱 : crontab
使用權(quán)限 : 所有使用者
使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
說(shuō)明 :
crontab 是用來(lái)讓使用者在固定時(shí)間或固定間隔執(zhí)行程序之用,換句話說(shuō),也就是類似使用者的時(shí)程表。-u user 是指設(shè)定指定 user 的時(shí)程表,這個(gè)前提是你必須要有其權(quán)限(比如說(shuō)是 root)才能夠指定他人的時(shí)程表。如果不使用 -u user 的話,就是表示設(shè)定自己的時(shí)程表。
參數(shù) :
crontab -e : 執(zhí)行文字編輯器來(lái)設(shè)定時(shí)程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請(qǐng)先設(shè)定 VISUAL 環(huán)境變數(shù)來(lái)指定使用那個(gè)文字編輯器(比如說(shuō) setenv VISUAL joe)
crontab -r : 刪除目前的時(shí)程表
crontab -l : 列出目前的時(shí)程表
crontab file [-u user]-用指定的文件替代目前的crontab。
時(shí)程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分鐘,f2 表示小時(shí),f3 表示一個(gè)月份中的第幾日,f4 表示月份,f5 表示一個(gè)星期中的第幾天。program 表示要執(zhí)行的程序。
當(dāng) f1 為 * 時(shí)表示每分鐘都要執(zhí)行 program,f2 為 * 時(shí)表示每小時(shí)都要執(zhí)行程序,其馀類推
當(dāng) f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內(nèi)要執(zhí)行,f2 為 a-b 時(shí)表示從第 a 到第 b 小時(shí)都要執(zhí)行,其馀類推
當(dāng) f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其馀類推
當(dāng) f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執(zhí)行,其馀類推
使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來(lái)設(shè)定時(shí)程表。
例子1 :
Quote:#每天早上7點(diǎn)執(zhí)行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月內(nèi), 每天的早上 6 點(diǎn)到 12 點(diǎn)中,每隔3個(gè)小時(shí)執(zhí)行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信給 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 點(diǎn) 20 分, 2 點(diǎn) 20 分, 4 點(diǎn) 20 分....執(zhí)行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
當(dāng)程序在你所指定的時(shí)間執(zhí)行后,系統(tǒng)會(huì)寄一封信給你,顯示該程序執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請(qǐng)?jiān)诿恳恍锌找桓裰蠹由?> /dev/null 2>&1 即可
例子2 :
Quote:#每天早上6點(diǎn)10分
10 6 * * * date
#每?jī)蓚€(gè)小時(shí)
0 */2 * * * date
#晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí),早上8點(diǎn)
0 23-7/2,8 * * * date
#每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn)
0 11 4 * mon-wed date
#1月份日早上4點(diǎn)
0 4 1 jan * date
執(zhí)行步驟如下:
Quote:crontab -e
添加如下內(nèi)容
0 0 * * * /nmon/nmon.ksh
在nmon目錄下創(chuàng)建nmon.ksh文件,用vi編輯器編輯
Quote:cd /nmon/
/nmon/nmon_aix53 -fdt -s 90 -c 960