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

Список утиліт

rrdtool утиліта для роботи з кільцевою базою даних

rrdcached демон для кешування даних

librrd набір бібліотек

rrdbuild інструменти для збірки програм

rrdcgi інструменти для створення вебсторінок з графіками на основі шаблонів

rrdcreate програми для створення нових баз даних

rrddump утиліта здійснює дамп інформації в форматі XML

rrdfetch утиліти для отримання інформації з кільцевої бази даних

rrdfirst утиліта яка повертає перший набір даних, так званий RRA ()

rrdflushcached скидання кешу для конкретної бази

rrdgraph набір утиліт для забезпечення графічних функцій

rrdgraph_data функції попередньої підготовки даних для rrdgraph

rrdgraph_examples приклади використання rrdgraph

rrdgraph_graph інтерфейс командного рядка () для rrdgraph

rrdgraph_libdbi вибірка інформації за допомогою libdbi для подальшої візуалізації

rrdgraph_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

– моніторинг кластерів та ґрідів lighttpd

Monitorix

Zenoss Core

Зноски

Посилання RRDtool homepage RRDtool screenshot gallery RRDtool tutorial