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 (то, что он выполняет консолидацию во время обновления, ускоряя построение графиков).

Другие вопросы по тегам