Оригинальный автор(ы) | Тобиас Отикер |
---|---|
Первоначальный выпуск | 16 июля 1999 г ( 1999-07-16 ) |
Стабильный релиз | 1.9.0 / 2024-07-29 [1] |
Репозиторий |
|
Написано в | С |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | oss.oetiker.ch/rrdtool/ |
RRDtool ( инструмент циклической базы данных ) предназначен для обработки данных временных рядов , таких как пропускная способность сети , температура или загрузка ЦП . Данные хранятся в базе данных на основе циклического буфера , поэтому объем системного хранилища остается постоянным с течением времени.
Он также включает инструменты для извлечения циклических данных в графическом формате, для которого он изначально и предназначался. Существуют привязки для нескольких языков программирования, например Perl , Python , Ruby , Tcl , PHP и Lua . Существует независимая полная реализация Java , называемая rrd4j.
RRDtool предполагает наличие переменных во времени данных в интервалах определенной длины. Этот интервал, обычно называемый step , указывается при создании файла RRD и не может быть изменен впоследствии. Поскольку данные не всегда могут быть доступны в нужное время, RRDtool автоматически интерполирует любые представленные данные, чтобы соответствовать своим внутренним временным шагам.
Значение для определенного шага, которое было интерполировано, называется первичной точкой данных ( PDP ). Несколько PDP могут быть объединены в соответствии с функцией консолидации ( CF ) для формирования консолидированной точки данных ( CDP ). Типичные функции консолидации — среднее , минимум, максимум.
После консолидации данных полученный CDP сохраняется в архиве round-robin ( RRA ). Архив round-robin хранит фиксированное количество CDP и указывает, сколько PDP следует объединить в один CDP и какой CF использовать. Общее время, охватываемое RRA, можно рассчитать следующим образом:
По истечении этого времени архив «замкнется»: следующая вставка перезапишет самую старую запись. Такое поведение в данном контексте называется «круговым перебором» и является причиной названия программы. Однако это отличается от общепринятого определения в компьютерной науке, которое представляет собой метод распределения ресурсов между несколькими потребителями или процессами.
Чтобы охватить несколько временных интервалов и/или использовать несколько функций консолидации, файл RRD может содержать несколько RRA. Функция извлечения данных RRDtool автоматически выбирает архив с наивысшим разрешением, который все еще охватывает запрошенный временной интервал. Этот механизм также используется графической подсистемой RRDtool.
Цвет | Значение |
---|---|
Красный | Релиз больше не поддерживается |
Зеленый | Релиз все еще поддерживается |
Синий | Будущий релиз |
В следующей таблице содержится история выпусков RRDtool , показывающая его основные выпуски.
Номер версии | Дата | Ссылки | Заметные изменения |
---|---|---|---|
1.0 | 16 июля 1999 г. | Полные заметки о выпуске, Анонс | Первый релиз. По сути MRTG "сделан правильно". |
1.1 | 25 апреля 2005 г. | Полные заметки о выпуске, Анонс | libart; вывод EPS, PDF и SVG; VDEF; тенденции; процентили; updatev; прогнозирование Холта-Уинтерса; COMPUTE; изменение формата .rrd. |
1.3 | 11 июня 2008 г. | Полные заметки о выпуске, Анонс | Более безопасный и быстрый доступ к файлам; cairo/pango; сглаживание; TEXTALIGN; пунктирные линии; новый HWPREDICT; libxml; i18n; XML-дамп; |
1.4 | 27 октября 2009 г. | Полные заметки о выпуске, Анонс | Демон кэширования; VDEF PERCENTNAN; CDEF PREDICT & PREDICTSIGMA; libDBI; позиционирование легенд графиков; привязки Lua ; ширина 3D-границы; и многое другое... |
1.5 | 16 апреля 2015 г. | Полные заметки о выпуске, Анонс | Использование данных из функций обратного вызова; Заполнение новых файлов rrd данными из старых; Привязки .NET |
1.6 | 9 мая 2016 г. | Полные заметки о выпуске, Анонс | Безопасность потока |
1.7 | 17 мая 2017 г. | Полные заметки о выпуске | Результаты аудита кода; переработка привязок Python; различные другие мелкие улучшения функций |
1.8 | 13 марта 2022 г. | Полные заметки о выпуске | Функция ROUND для rrd RPN, поддержка vcpkg для сборок MSVC, first_weekday для порта Windows, платформа x64 для сборки win32, --add-jsontime для graphv, добавление --utc в graph, автоматизированное тестирование для сборок win32, поддержка команды TUNE в rrdcached |