Monitoring
如何在 HP-UX 上以百分比形式檢索磁碟 IO 使用率
我需要收集有關選定磁碟的磁碟使用率數據。我可以使用glance-plus 監控工具以百分比顯示目前數據(它看起來類似於top),但我需要將這些值收集到一個文件中,以便我可以從中創建圖表。
不幸的是,這不可能一目了然,所以我想為此創建一些自己的腳本。我設法創建了一個腳本,該腳本收集每秒讀/寫的塊數,但我不知道如何輕鬆將其轉換為百分比,因為我真的不知道最大使用率可能是多少。腳本如下:
#!/bin/sh list=`iostat 10 2 | grep -v ' 0' | grep -v 'device' | grep -vE '^ *$' | sed 's/^........ *//' | sed 's/ .*//'` value=0 for rt in `echo $list` do value=`expr $rt + $value` done echo `expr $value / 10`
有沒有更簡單的方法可以在 hp-ux 上執行此操作,最好使用一些免費/預設工具
請注意,glance可以編寫腳本:
# cat /opt/perf/examples/adviser/disk_sar #The following glance adviser disk loop shows disk activity comparable #to sar -d data. #Note that values will differ between sar and glance because of differing #data sources, calculation methods, and collection intervals. headersprinted = 0 # For each disk, if there was activity, print a summary: disk loop { if BYDSK_PHYS_IO_RATE > 0 then { # print headers if this is the first active disk found this interval: if headersprinted == 0 then { print "-------- device %util queue r+w/s KB/s msecs-avserv" headersprinted = 1 } print GBL_STATTIME, " ",BYDSK_DEVNAME|15, BYDSK_UTIL|7|2, BYDSK_REQUEST_QUEUE|8|2, BYDSK_PHYS_IO_RATE|8|0, BYDSK_PHYS_BYTE_RATE|8|0, BYDSK_AVG_SERVICE_TIME|16|2 } } if headersprinted == 0 then print GBL_STATTIME, " (no disk activity this interval)"
要使用該腳本:
glance -aos /opt/perf/examples/adviser/disk_sar -j 5
這裡 BYDSK_UTIL 是收集間隔期間磁碟繁忙的時間百分比。
閱讀*/opt/perf/paperdocs/gp/C/gp-metrics.txt* 和*/opt/perf/paperdocs/ovpa/C/methp.txt*以查看可用的指標。
如果您更喜歡其他工具。您可以使用sar(預設情況下在 hp-ux 上)用於
egrep -f fiters
過濾您的磁碟例如:
(awk 是為每個磁碟設置一個時間戳)
sar -d 5 10 | awk '/^[0-9]/ {t=$1} {sub("^........",t,$0); print }' | egrep -f myfilter 11:56:15 device %busy avque r+w/s blks/s avwait avserv 11:57:17 disk1680 23.76 0.50 200 3200 0.00 1.19 11:57:17 disk1689 0.99 0.50 1 507 0.00 5.45 11:57:17 disk1694 41.58 0.50 237 3786 0.00 1.75 11:57:17 disk1696 0.00 0.50 1 16 0.00 2.07 11:57:17 disk1707 0.99 0.50 1 16 0.00 5.82 11:57:17 disk1709 4.95 0.50 2 2044 0.00 24.10 11:57:17 disk1712 3.96 0.50 2 1980 0.00 23.69 ...
使用 myfilter 包含您要觀看的磁碟。
# cat myfilter disk1680 disk1689 ...
在每個磁碟名稱後添加一個空白字元“”,否則 disk1 將匹配 disk10