RRD valor do status pdp

2

Alguém pode me explicar o campo ds [fan_speed] .value neste RRD?

rrdtool info dá:

rrd_version = "0003"
step = 300
last_update = 1360341382
ds[fan_speed].type = "GAUGE"
ds[fan_speed].minimal_heartbeat = 600
ds[fan_speed].min = 0.0000000000e+00
ds[fan_speed].max = 1.0000000000e+02
ds[fan_speed].last_ds = "60"
ds[fan_speed].value = 4.9200000000e+03 ********* ???
ds[fan_speed].unknown_sec = 0
...
rra[2].cf = "AVERAGE"
rra[2].rows = 700
rra[2].cur_row = 295
rra[2].pdp_per_row = 6
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = 6.0000000000e+01
rra[2].cdp_prep[0].unknown_datapoints = 0

(O mesmo valor é mostrado usando 'rrdtool dump' em "PDP Status".)

O que é isso?

(Normalmente, os ventiladores neste dispositivo estão em 60 (%), o que é mostrado, por exemplo, em rra [2] .cdp_prep [0] .value = 6.0000000000e + 01)

Obrigado.

    
por Marki 08.02.2013 / 17:40

1 resposta

3

É assim que a RRD está acompanhando o valor ajustado no tempo para o período da etapa.

Você armazenou pela última vez um valor, 60, na hora 1360341382. Sua etapa é 300, portanto, seu último tempo de agregação de RRD foi 1360341300, 82 segundos atrás. Seu valor anterior também foi provavelmente 60, dada a constante que você disse que essas ventoinhas são, então a RRD considera que desde que você armazenou 60 anteriormente e armazenou 60 em 1360341382, para os 82 segundos entre 1360341300 e 1360341382, o valor foi sempre 60. 60 * 82 é 4920, o valor que você vê armazenado.

Por que a RRD faz isso? Bem, se ele quiser saber qual é o valor médio para esse período de 82 segundos, tudo o que tem a fazer é dividir o valor pelo número de segundos para obter 60. Se você vir mais tarde, em 1360341464 (82 segundos depois para fazer a matemática fácil) e armazenar o valor de 50, RRD irá adicionar 55 * 82 (55 porque considera a média para este período de 82 segundos para estar a meio caminho entre 60 e 50) para este valor e armazená-lo. Agora você terá 9430 nos primeiros 164 segundos do período de agregação. Se RRD quer mostrar a você a média para o período de 164, leva apenas 9430 e divide 164 para chegar a 57,5.

Como o RRD agrega em step limites, para tornar sua vida simples, ele cria um valor armazenado para o período de agregação (nesse caso, 300 segundos). Ele levará qualquer valor que tenha economizado para o período de 300 segundos e será dividido por 300. Essa será a média da etapa, e é isso que é armazenado e usado para agregações maiores. O campo value é o valor intermediário que ele usa para manter o total ponderado por tempo que pode usar quando atingir o limite da próxima etapa. Essa é uma otimização para agilizar o trabalho de agregação.

    
por 08.02.2013 / 20:16

Tags