como posso recuperar a utilização do disco IO em porcentagens no HP-UX

4

Eu preciso coletar dados sobre a utilização do disco para discos selecionados. Posso usar a ferramenta de monitoramento "glance-plus" para exibir os dados atuais em porcentagens (parece semelhante ao topo), mas preciso coletar esses valores em um arquivo para que eu possa criar gráficos a partir dele.

Infelizmente, isso não é possível em um relance, então eu quis criar um roteiro próprio para essa finalidade. Eu consegui criar um script que coleta o número de blocos de leitura / gravação por segundo, mas eu não sei como eu poderia facilmente converter isso em porcentagens porque eu realmente não sei qual seria a utilização máxima. O roteiro está abaixo:

#!/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'

existe alguma maneira mais fácil de fazer isso no hp-ux, de preferência usando algumas ferramentas livres / padrão

    
por Petr 20.12.2013 / 11:45

1 resposta

4

Observe que relance pode ser roteirizado:

# 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)"

Para usar esse script:

glance -aos /opt/perf/examples/adviser/disk_sar  -j 5

Aqui, BYDSK_UTIL é o% de tempo em que o disco está ocupado durante o intervalo de coleta.

Leia /opt/perf/paperdocs/gp/C/gp-metrics.txt e /opt/perf/paperdocs/ovpa/C/methp.txt para ver as métricas disponíveis.

Se você prefere outras ferramentas. Você pode usar o sar (por padrão no hp-ux) use egrep -f fiters para filtrar no seu disco

por exemplo:
(o awk é ter um carimbo de hora para cada disco)

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
...

Com myfilter contendo os discos que você deseja assistir.

# cat  myfilter
disk1680 
disk1689 
...

adicione um caractere em branco "" após cada nome de disco, caso contrário, disk1 corresponderia ao disco10

    
por 20.12.2013 / 12:01