Общее описание 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.