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