RRD-графики в Zenoss, показывающие NaN на больших временных диапазонах
Я пытаюсь создать источник данных COMMAND JSON для мониторинга некоторых значений, например, из такого сценария:
print json.dumps({
'values': {
'': {'random': random()},
},
'events': []
})
И когда я только начинаю zencommand, создается соответствующий rrd файл, но значения cur, avg и max на графике показывают мне NaN. Эти NaN заменяются фактическими числами, когда я приближаюсь к текущему моменту времени, который не очень далек от начала мониторинга.
Почему он не показывает правильные значения min, max и avg, пока я не увеличил масштаб? Это как-то связано с консолидацией? Я читаю http://www.vandenbogaerdt.nl/rrdtool/min-avg-max.php, но эта страница ничего не говорит о значениях NaN.
И есть ли способ быстрее увеличить текущую отметку времени, чтобы увидеть некоторые данные быстрее?
1 ответ
Когда вы уменьшите масштаб, вы увидите RRA с более низкой гранулярностью (Round Robin Archives). Они не заполняются до тех пор, пока не будет достаточно данных с более высокой степенью детализации; так, например, если у вас есть RRA с гранулярностью 5 минут, RRA с гранулярностью 1 час и RRA с гранулярностью 1 день, и вы собрали данные за последние 45 минут, то вы увидите ~8 точек данных на своем "дневном" графике (который использует 5 минут RRA), но ничего в вашем "ежемесячном" (который будет использовать 1-часовой RRA) или вашем "годовом" (который использует 1-дневный RRA).
Это относится к любому RRA; AVG, LAST, MAX и т. Д. До тех пор, пока не будет завершено консолидированное временное окно и не будет собран полный набор первичных точек данных для консолидации, значение точки консолидированных данных не определено.
RRDTool выбирает RRA для использования на основе запрошенной ширины данных графика и ширины пикселей, а также запрошенных функций консолидации. Хотя есть способы заставить RRDtool использовать RRA с более высокой степенью детализации, чем необходимо, и консолидировать на лету, это неэффективно и медленно. Это также делает бессмысленным использование RRA с более низкой гранулярностью и отбрасывает одно из главных преимуществ RRDtool (то, что он выполняет консолидацию во время обновления, ускоряя построение графиков).