Установка и настройка RRDtool в CentOS 6.
RRD это аббревиатура для Round Robin Database. RRD это система для хранения и отображения данных временного ряда, таких как пропускная способность сети, температура, загруженность сервера. Данные хранятся в очень компактном виде и не расширяются со временем очень значительно, а данные выводятся в виде удобных графиков.
Устанавливаем необходимые зависимости, для того, что бы было возможно установить RRDtool
#yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel
Переходим в папку /opt/. Сюда будет устанавливаться программа RRDtool
#cd /opt
Скачиваем архив с исходными кодами
Распаковываем
#tar -zxvf rrdtool.tar.gz
Вводим команды:
# export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
# cd rrdtool-1.4.8/
Конфигурируем:
# ./configure
Если команда ./configure выполняется с ошибкой.
configure: error: in `/opt/rrdtool-1.4.8':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
…
То решается проблема установкой компилятора gcc:
#yum install gcc
Правильное завершение команды ./configure
…
Type 'make' to compile the software and use 'make install' to
install everything to: /opt/rrdtool-1.4.8.
... that wishlist is NO JOKE. If you find RRDtool useful
make me happy. Go to http://tobi.oetiker.ch/wish and
place an order.
-- Tobi Oetiker <tobi@oetiker.ch>
----------------------------------------------------------------
Сборка пакета:
# make
Если команда выполнилась с ошибкой:
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
make[3]: *** [perl-piped/Makefile] Ошибка 2
make[3]: Leaving directory `/opt/rrdtool-1.4.8/bindings'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/opt/rrdtool-1.4.8/bindings'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/opt/rrdtool-1.4.8'
make: *** [all] Ошибка 2
То решается проблема установкой пакета perl-ExtUtils-MakeMaker
# yum install perl-ExtUtils-MakeMaker
Теперь команда make выполняется без ошибок.
Далее - установка пакета RRDtool
# make install
Установка программы происходит в /opt/rrdtool-1.4.8/bin/
Для удобства дальнейшей работы делаем символическую ссылку:
#ln -s /opt/rrdtool-1.4.8/bin/rrdtool /usr/bin/rrdtool
Для проверки работы идем в папку с исходниками и запускаем для проверки скрипт stripes.pl
# cd /opt/rrdtool-1.4.8/examples/
# ./stripes.pl
Создастся файл stripes.png, который перемещаем в корень WEB-сервера, командой
# cp stripes.png /var/www/html/stripes.png
Открыв браузер и обратившись к серверу так:http://10.200.16.230/stripes.png , где 10.200.16.230 – IP адрес сервера, на котором работаем. мы увидим сгенерированный рисунок:
Значит все работает.
Иногда при выполнении скрипта stripes.pl, выходят ошибки:
# ./stripes.pl
(process:20256): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
(process:20256): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
This script has created stripes.png in the current directory
This demonstrates the use of the TIME and % RPN operators
Демонстрационный файл создается, но текст на рисунке не отображается:
Проблема решается установкой пакета dejavu-lgc-sans-fonts
#yum install dejavu-lgc-sans-fonts Теперь генерация рисунка происходит успешно.