Sua pergunta é bem definida, mas você não está dando muitas informações sobre o seu ambiente, como você está monitorando no momento ou quais ferramentas gráficas você está usando. No entanto, dado que o SNMP é usado universalmente para isso, presumo que você o esteja usando e tenha pelo menos alguma familiaridade com ele.
Embora (o mais perto que eu possa dizer) o tempo de CPU Steal não esteja atualmente disponível a partir do snmpd, você pode estendê-lo você mesmo com os comandos UCD-SNMP-MIB::extOutput
e exec
.
A maneira mais fácil (que encontrei) de obter o tempo de roubo é de iostat
. Usando a seguinte construção podemos obter apenas o tempo de roubo:
$ iostat -c | awk 'NR==4 {print $5}'
0.00
Portanto, acrescente o seguinte ao seu snmpd.conf:
exec cpu_steal_time /usr/bin/iostat -c | /usr/bin/awk 'NR==4 {print %5}'
(Como alternativa, você pode colocar o comando em um script wrapper e chamar o wrapper de dentro de snmpd.conf
.)
Cada exec
de chamada em snmpd.conf
é indexada a partir de 1. Então, se você tiver apenas uma única instrução exec, será necessário pesquisar UCD-SNMP-MIB::extOutput.1
. Se esta for a quinta declaração exec, então faça o polling UCD-SNMP-MIB::extOutput.5
, etc.
O OID numérico para UCD-SNMP-MIB::extOutput
é .1.3.6.1.4.1.2021.8.1.101
, por isso, se você estiver no índice 1, será .1.3.6.1.4.1.2021.8.1.101.1
e o índice 5 será .1.3.6.1.4.1.2021.8.1.101.5
, etc.
Em seguida, você cria um gráfico que pesquisa o SNMPD OID do tipo medidor, variando de 0 a 100. Isso deve lhe dar alguns gráficos bonitos.