RRDtool: Создание базы

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску

При создании базы надо определить с несколькими числовыми параметрами:

  • Шаг замера. Этим будет определяться разрешение базы (и графиков) по оси времени. Это максимальная частота, с которой данные могут заноситься в базу.
  • Период замера. Коэффициент, умножаемый на шаг замера и определяющий разрешение для данного конкретного графика.
  • Количество замеров. Максимальное количество замеров для данного графика, после чего ячейки начинают заполняться сначала.
  • Тип замера. Если за период частоты замера (?) делается несколько измерений, то данный параметр определяет, что будет заноситься в базу. Примеры - AVERAGE (среднее значение), MAX (максимальное), MIN (минимальное), LAST (последнее полученное), TOTAL (сумма значений). // Примечание: это то, как я понял данный параметр, возможно я неправ

Остальные задаваемые параметры определяют имя файла базы данных и название блоков данных в базе (одна база может содержать замеры сразу нескольких параметров).

Пример расчёта RRA-строки

Допустим, разрешение базы (шаг) выбран равным 10 секунд, соответственно, замеры делаются тоже раз в 10 секунд. Необходимо отображать месячный интервал с достаточной степенью подробности. Месяц - это 86400*31=2678400 секунд, делим на шаг (10 сек.), получаем 267840 шагов. Можно было бы сделать базу с отношением 1:267840, тогда период в месяц можно было бы просмотреть с шагом в 10 секунд, но обычно это не требуется, да и база получится приличных размеров. Поэтому увеличиваем период замера и пропорционально сокращаем количество замеров, например, до 70:3827. В итоге мы получим одно внесение данных на 70ш*10сек=700 секунд и таких замеров у нас будет 3827, что в сумме даст нам покрытие в 3827*700/86400=31 день. Можно взять количество замеров с запасом, чтобы на графике можно было отобразить один день из предыдущего месяца, например 70:4000 (что даст нам в итоге 32 дня)

Создание баз

Простой вариант:

rrdtool create \ # Собственно, команда
mytestfile.rrd \ # Имя файла создаваемой базы
--step 60 \ # Разрешение базы по временной шкале в секундах, по-умолчанию 300 сек.
DS:sourcename1:GAUGE:120:U:U \ # Описание источника данных (DataSource): название переменной, тип измеряемых значений (GAUGE для обычных значений, для которых не требуется производить расчетов, например, показания температуры), максимально допустимый интервал между замерами (иначе значение объявляется неопределенным, обычно ставится двойным от --step), минимальное и максимальное значение данных (выходящие за пределы отбрасываются), либо U (для неопределенного).
RRA:AVERAGE:0.5:1:600 # Описание архива: тип замера, хз что, частота замера, количество замеров.

Более полный вариант:

см. примеры скриптов.

Ссылки