RRDtool — набір утиліт для роботи з RRD Round-Robin Database, кільцевою базою даних. Створені Тобі Отікером (Tobias Oetiker), для збереження, обробки та візуалізації динамічних послідовностей даних, таких як температура, завантаження процесора, тощо. Всі дані зберігаються в кільцевій базі даних, розмір якої зростає не значно, опираючись на старі дані. В базу даних вносяться консолідовані підсумки, старі дані при цьому затираються новими.

RRDtool
RRDtool дозволяє створювати графіки на основі RRD-баз даних
Тип Berkeley DB
система управління базами даних і утиліта
Автор Tobias Oetiker
Розробник Tobias Oetikerd
Стабільний випуск 1.4.5 (27 грудня 2010)
Версії 1.8.0 (14 березня 2022)[1]
Операційна система UNIX-подібні операційні системи
Мова програмування Сі, Perl
Ліцензія GNU General Public License
Репозиторій github.com/oetiker/rrdtool-1.x
Вебсайт oss.oetiker.ch/rrdtool/

Список утиліт ред.

rrdtool
утиліта для роботи з кільцевою базою даних
rrdcached
демон для кешування даних
librrd
набір бібліотек
rrdbuild
інструменти для збірки програм
rrdcgi
інструменти для створення вебсторінок з графіками на основі шаблонів
rrdcreate
програми для створення нових баз даних
rrddump
утиліта здійснює дамп інформації в форматі XML
rrdfetch
утиліти для отримання інформації з кільцевої бази даних
rrdfirst
утиліта яка повертає перший набір даних, так званий RRA (англ. round robin archive)
rrdflushcached
скидання кешу для конкретної бази
rrdgraph
набір утиліт для забезпечення графічних функцій
rrdgraph_data
функції попередньої підготовки даних для rrdgraph
rrdgraph_examples
приклади використання rrdgraph
rrdgraph_graph
інтерфейс командного рядка (англ. Command Line Interface, CLI) для rrdgraph
rrdgraph_libdbi
вибірка інформації за допомогою libdbi для подальшої візуалізації
rrdgraph_rpn
інструмент стекової обробки в форматі зворотнього польського запису (англ. Reverse Polish Notation, RPN)
rrdinfo
виводить інформацію про конкретну базу даних
rrdlast
утиліта, яка повертає останній набір даних, так званий RRA
rrdlastupdate
повертає найактуальнішу інформацію на поточний момент
rrdresize
змінює розмір RRA і створює новий файл типу .rrd
rrdrestore
відновлює дані з раніше створеного дампа в форматі XML
rrdtune
утиліта для настройки основних параметрів RRD
rrdupdate
внесення нового набору даних в базу
rrdxport
експортує дані (в XML формат) з однієї або декількох баз

Приклад використання ред.

#!/bin/bash
varpath='/var/www/html/mg'
dev_ip='10.0.2.8'
v_temp=`snmpwalk -v1 -c public $dev_ip 1.3.6.1.4.1.318.1.1.10.2.3.2.1.4| tr -d ' '|cut -d ':' -f 4`
if [ -f  $varpath/temperature.rrd ]; then
    rrdtool update $varpath/temperature.rrd N:$v_temp
else
    rrdtool create $varpath/temperature.rrd --step 300 \
	 DS:temp:GAUGE:600:0:60   RRA:AVERAGE:0.5:1:1200   \
	 RRA:MIN:0.5:12:2400   RRA:MAX:0.5:12:2400 \
	 RRA:AVERAGE:0.5:12:2400
fi 
rrdtool graph $varpath/r1-day.png \
	-w 450 -h 100  \
	-t "Temp Device"
	-v "temp"
	DEF:temp=$varpath/temperature.rrd:temp:AVERAGE LINE:temp:"temp\n" \
	GPRINT:temp:MAX:"Max\: %1.0lf\t\n" \
	GPRINT:temp:MIN:"Min\: %1.0lf\t"

В результаті виконання отримаємо графік зміни температури пристрою з IP-адресою dev_ip у вигляді файлу зображення у форматі .png, за шляхом varpath, пізніше графік можна вставити в HTML сторінку чи надіслати поштою.

Програми, що використовують RRDtool ред.

Зноски ред.

  1. Release 1.8.0 — 2022.

Посилання ред.