RRD - Как обойти ограничение MIN и MAX RRA на NaN для неконсолидированных CDP - PullRequest
0 голосов
/ 03 августа 2020

Допустим, у меня есть RRD с 3 источниками данных: rtt_min, rtt_avg и rtt_max, где хранятся данные из тестов времени прохождения пакетов в оба конца. Объяснение каждого DS в некоторой степени очевидно:

  • rtt_min - минимальное значение всех времен RTT во время одного теста.
  • rtt_avg - среднее значение всех времен RTT во время одного теста.
  • rtt_max - максимальное значение всех времен RTT во время одного теста.

Эти древовидные значения с плавающей запятой сохраняются в файле RRD после каждого теста (предположим, частота такая же, как значение шага RRD). Моя цель - построить график значения rtt_avg, а также rtt_min и rtt_max в качестве граничных значений. Есть два очевидных сценария ios:

  1. Я могу построить график AVERAGE для каждого DS, который даст точные результаты для RRA, где каждая строка имеет один PDP (1CDP = 1PDP; последние данные без консолидации). Но для старых данных средние значения для rtt_min и rtt_max не будут тем, что я хочу, так как мне нужно построить график минимальных и максимальных значений для этих двух источников данных, а функция AVERAGE для этого не лучшая *. 1028 *

  2. Я могу построить графики rtt_min:MIN, rtt_avg:AVERAGE и rtt_max:MAX, которые будут вести себя так, как я хочу для консолидированных (старых) данных, отображая минимальные, средние и максимальные значения DS для консолидированного интервала , но предоставит данные с низким разрешением для последних данных для rtt_min и rtt_max. Это связано с тем, что MIN и MAX CDP являются NaN в 1PDP RRA. Только после консолидации эти CDP имеют значение, но их использование дает данные с более низким разрешением, поскольку для каждого CDP существует несколько PDP. И эти два выглядели бы странно рядом с rtt_avg, которое имеет более высокое разрешение.

Мне нужна комбинация обоих. Поскольку MIN и MAX равны NaN для RRA 1PDP, существует ли простой способ построить график rtt_max:LAST для периода, в котором есть данные в LAST, а для более старых данных использовать rtt_max:MAX? Единственное решение, которое я могу придумать прямо сейчас, - это каким-то образом вычислить время, для которого у нас есть данные в LAST, и построить график MAX до этого времени и LAST после.

1 Ответ

1 голос
/ 03 августа 2020

Я могу построить графики rtt_min: MIN, rtt_avg: AVERAGE и rtt_max: MAX, которые будут вести себя так, как я хочу

Это то, что вам следует сделать; используйте другой CF для типов MIN и MAX.

, но предоставит данные с низким разрешением для последних данных для rtt_min и rtt_max. Это связано с тем, что CDP MIN и MAX являются NaN в RRA 1PDP.

Это не должно быть так. Для RRA 1PDP значения MIN и MAX должны дать тот же результат, что и AVERAGE. Единственная причина, по которой я могу думать, что это может происходить, заключается в том, что вы неверно определили свои RRA или DS с неправильным xff или тактовым биением. кейс. Раньше я без проблем использовал MAX и MIN на 1pdp-RRA.

Одна потенциальная проблема заключается в том, что иногда самое последнее значение в RRA неизвестно (NaN), потому что оно не устанавливается до этого временного интервала. полностью пройден, и получена новая выборка данных. Раньше я извлекал время последнего обновления для RRD и использовал его в качестве базового времени графика, а не «сейчас», чтобы избежать этого. Если ваша частота обновлений относительно небольшая, это не должно быть проблемой.

...