UniSet 2.32.1
(RRDServer) Реализация RRD хранилища

Общее описание RRDServer

"RoundRobinDatabase" - реализация циклического хранилища. Процесс реализует циклическое хранение данных (от датчиков) и позволяет конфигурировать любое количество rrd-баз и входящих в них "источников".

Настройка RRDServer

Пример секции конфигурации:

<RRDServer1 name="RRDServer1">
<rrd filename="rrdtest.rrd" filter_field="rrd" filter_value="1" step="5" ds_field="rrd1_ds" overwrite="0">
<item rra="RRA:AVERAGE:0.5:1:4320"/>
<item rra="RRA:MAX:0.5:1:4320"/>
</rrd>
<rrd filename="rrdtest2.rrd" filter_field="rrd" filter_value="2" step="10" ds_field="rrd2_ds" overwrite="0">
<item rra="RRA:AVERAGE:0.5:1:4320"/>
<item rra="RRA:MAX:0.5:1:4320"/>
</rrd>
</RRDServer1>

Где:

  • filename - имя создаваемого rrd-файла
  • filter_field - поле у датчика, определяющее, что его нужно сохранять в БД
  • filter_value - значение filter_field, определяющее, что датчик нужно сохранять в БД
  • ds_field - поле определяющее, параметр задающий формат хранения. Если ds_field не задано, то будет браться filter_field+filter_value+'_ds'.
  • step - период обновления данных (в секундах)
  • overwrite - [0,1]. Пересоздавать ли БД, если файл уже существует.

При этом в секции <sensors> у датчиков прописываются параметры относящиеся к источнику:

<sensors>
...
<item id="54" iotype="AI" name="AI54_S" textname="AI sensor 54" rrd="1" rrd1_ds="GAUGE:20:U:U"/>
<item id="55" iotype="AI" name="AI55_S" textname="AI sensor 55" rrd="1" rrd1_ds="GAUGE:20:U:U"/>
<item id="56" iotype="AI" name="AI56_S" textname="AI sensor 56" rrd="2" rrd2_ds="COUNTER:20:U:U"/>
<item id="57" iotype="AI" name="AI57_S" rrd2_ds_dsname='A57MyRRDName' textname="AI sensor 57" rrd="2" rrd2_ds="DERIVE:20:U:U"/>
...
</sensors>

Именование параметров

По умолчанию в качестве имени параметра берётся поле 'ds_field'_dsname='', если это поле не указано, то берётся name датчика.

Предупреждения
Имя не может превышать RRDServer::RRD_MAX_DSNAME_LEN.