Установка и настройка cacti 0.8.8f с нуля под Ubuntu 12.04

от автора

Помню время, когда мне поставили таск – установить и настроить cacti с 95th Percentile графиками и возможностью агрегирования графиков. И эти воспоминания нагнали на меня печаль… Сначала пробовал установить и настроить cacti через ppa репы – вылезла куча проблем с симлинками, правами и т.п. Потом ставил напрямую с официальных реп – проблем меньше, но нужно было поиграться с патчами, так как версия программы немного устаревшая. Искал инструкции по установке с исходников, но под Ubuntu все было очень сыро и сталкивался с теми же проблемами. И тогда решился взяться за официальная документация, которая писала о том, что нужно ставить в целом независимо от дистрибутива.
Решил поделиться набранным опытом по установке cacti 0.8.8f (последняя на данный момент версия) под дистрибутивом Ubuntu 12.04.
Устанавливаем нужные пакеты.

root@cacti:~# apt-get install apache2 php5 php5-mysql php5-snmp snmp php5-gd rrdtool mysql-server php5-ldap zip unzip   

Далее проверяем, или у нас есть все нужные для роботы cacti php модули. Их должно быть, как минимум семь.

root@cacti:~# php -m | egrep '^(mysql|snmp|xml|session|sockets|ldap|gd)$' gd ldap mysql session snmp sockets xml 

Все нужные модули есть. Теперь качаем исходный код cacti и распакуем в локальную папку. На данный момент – это версия 0.8.8f.

root@cacti:~# wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz root@cacti:~# tar xzvf cacti-0.8.8f.tar.gz 

Переходим к подготовки mysql базы данных. Для начала создадим БД.

root@cacti:~# mysqladmin -p -u root create cacti         Enter password: 

Следующим делом нужно заполнить структуру новосозданной cacti базы.

root@cacti:~# mysql -p -u root cacti < cacti-0.8.8f/cacti.sql  Enter password: 

И добавить юзера с правами на администрирование.

root@cacti:~# mysql -p -u root -e 'GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY "your_password"; flush privileges;'    Enter password: 

Работа с базой данных завершена, теперь осталось прописать настройки коннекта к БД в конфигурации cacti.

root@cacti:~# vim cacti-0.8.8f/include/config.php … $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "your_password"; $database_port = "3306"; $database_ssl = false; … 

Далее переносим странички cacti в папку /var/www (в папку, где будут храниться исходники сайта) и выставляем владельца и группу www-data (пользователь, от которого запущен веб-сервер).

root@cacti:~# rsync -aP cacti-0.8.8f/ /var/www/cacti/ root@cacti:~# chown -R www-data:www-data /var/www/cacti 

Еще нужно добавить cron для работы poller-a и поставить ему права на исполнение.

root@cacti:~# echo '*/5 * * * * www-data php /var/www/cacti/poller.php > /dev/null 2>&1' > /etc/cron.d/cacti root@cacti:~# chmod +x /var/www/cacti/poller.php 

Последним штрихом перезагружаем веб-сервер.

root@cacti:~# /etc/init.d/apache2 restart  * Restarting web server apache2           ... waiting                                                            [ OK ] 

Последующая установка cacti будет проходить через веб-интерфейс по ссылке http://<server_ip>/cacti/.
При переходе, вы должны увидеть следующею картину.

image

Читаем и жмем Далее. Теперь у нас спрашивают, чего мы хотим сделать – обновить или установить cacti. В нашем случаи – установить. Выбираем и жмем Далее.

image

Теперь вы должны увидеть и подредактировать (если нужно) пути к rrdtool, php, snmp и т.п.

image

Если все гуд – жмем Далее и смотрим на удачное завершение установки cacti.

image

Теперь вводим логин и пароль установленный по умолчанию – admin/admin, и вам сразу понадобиться изменить пароль по умолчанию.

image

После введения нового пароля вы попадете в cacti GUI. Теперь cacti готов к работе.
Далее установим spine поллер под cacti 0.8.8f. Качаем и распаковуем в локальную папку.

root@cacti:~# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8f.tar.gz root@cacti:~# tar xzvf cacti-spine-0.8.8f.tar.gz 

Устанавливаем нужные для компиляции и работы пакеты.

root@cacti:~# apt-get install libmysqlclient-dev libsnmp-dev automake libtool make 

Компилируем.

root@cacti:~# cd cacti-spine-0.8.8f root@cacti:~/cacti-spine-0.8.8f# aclocal root@cacti:~/cacti-spine-0.8.8f# libtoolize --force root@cacti:~/cacti-spine-0.8.8f# autoheader root@cacti:~/cacti-spine-0.8.8f# autoconf root@cacti:~/cacti-spine-0.8.8f# automake root@cacti:~/cacti-spine-0.8.8f# ./configure root@cacti:~/cacti-spine-0.8.8f# make root@cacti:~/cacti-spine-0.8.8f# make install make[1]: Entering directory `/home/vagrant/cacti-spine-0.8.8f' test -z "/usr/local/spine/bin" || /bin/mkdir -p "/usr/local/spine/bin"   /bin/bash ./libtool   --mode=install /usr/bin/install -c spine '/usr/local/spine/bin' libtool: install: /usr/bin/install -c spine /usr/local/spine/bin/spine test -z "/usr/local/spine/etc" || /bin/mkdir -p "/usr/local/spine/etc"  /usr/bin/install -c -m 644 spine.conf.dist '/usr/local/spine/etc' make[1]: Leaving directory `/home/vagrant/cacti-spine-0.8.8f' 

Из полученного вывода видно, что бинарник spin-a лежит по пути /usr/local/spine/bin/spine, а конфигурация находиться здесь — /usr/local/spine/etc/spine.conf.dist. Чтобы cacti мог его использовать, нужно переименовать и отредактировать spine.conf и прописать путь к spine в GUI. Для начала переименуем файл конфигураций и добавим доступ к базе.

root@cacti:~/cacti-spine-0.8.8f# mv /usr/local/spine/etc/{spine.conf.dist,spine.conf} root@cacti:~/cacti-spine-0.8.8f# vim /usr/local/spine/etc/spine.conf … DB_Host         localhost DB_Database     cacti DB_User         cactiuser DB_Pass         your_password DB_Port         3306 … 

Теперь сразу проверим spine конфигурацию с консоли.

root@cacti:/usr/local/spine/bin# cd /usr/local/spine/bin/ root@cacti:/usr/local/spine/bin# ./spine -V 5 -R 

Если вы не получите ни единой строчки вывода – значит проблемы с доступом к базе (пересмотрите конфигурацию spine.conf).
Теперь осталось прописать путь к spine и выбрать в качестве поллера по умолчанию. Логинимся в веб-интерфейс cacti и переходим в Configuration -> Settings -> Paths или по прямой ссылке http://<server_ip>/cacti/settings.php?tab=path, прописываем путь к spine (в нашем случаи /usr/local/spine/bin/spine) и Сохраняем все.

image

Осталось активировать новый тип поллера. Идем во вкладку Poller и выбираем spine.

image

Сохраняем, ждем 5-10 минут и смотрим логи на наличие ошибок Utilities -> System Utilities -> View Cacti Log File.

image

Как видно, проблем нет – и все данные нормально обновляться новым методом spine.
В cacti версии 0.8.8f продолжает присутствовать проблема с 64 битными счетчиками для 95th Percentile и Total Bandwidth графиков. Чтобы ее исправить, нужно добавить новый темплейт. Я его когда-то нашел и скачал на cacti форуме, но где точно – уже не могу найти. Можете его скачать здесь.
Теперь его просто нужно добавить в cacti. Переходим в Import/Export -> Import Templates или по ссылке http://<server_ip>/cacti/templates_import.php, выбираем файл и жмем Import.

image

И получаем такой результат.

image

Теперь, при создании графиков по статистике сетевых интерфейсов у нас появится In/Out Bits with 95th Percentile (64-bit Counters) и In/Out Bits with Total Bandwidth (64-bit Counters).

image

На последок добавим aggregate и weathermap плагины.
Aggregate. Этот плагин используется в cacti для объединения нескольких графиком в один. К примеру, если нужно увидеть сколько входящего и исходящего трафика генерирует весь CDN в целом, а не его отдельный сервер.
Переходим в папку с cacti плагинами и качаем aggregate последней версии.

root@cacti:~/cacti-spine-0.8.8f# cd /var/www/cacti/plugins/ root@cacti:/var/www/cacti/plugins# wget http://docs.cacti.net/_media/plugin:aggregate-v0.75.tgz -O aggregate-v0.75.tgz  

Распаковуем и удаляем архив, также не забываем сменить владельца и группу для всех файлов.

root@cacti:/var/www/cacti/plugins# tar xzvf aggregate-v0.75.tgz  aggregate/ aggregate/setup.php aggregate/aggregate_functions.php aggregate/color_templates_items.php aggregate/aggregate.php aggregate/color_templates.php aggregate/README aggregate/aggregate_manual.pdf aggregate/LICENSE aggregate/color_html.php  root@cacti:/var/www/cacti/plugins# rm aggregate-v0.75.tgz root@cacti:/var/www/cacti/plugins# chown -R www-data:www-data aggregate/ 

Теперь осталось перейти в веб-интерфейс, установить и активировать плагин.
Идем в Configuration -> Plugin Management и нажимаем на стрелочку в поле Actions напротив Aggregate плагина для установки.

image

После чего нужно нажать на зеленую стрелочку для активации.

image

Плагин активирован. Как им пользоваться можете посмотреть в прилагаемом с исходниками мануале.

Weathermap. Этот плагин используется в cacti для построения карты сети с визуализацией всех сетевых хопов и загрузки каналов. Есть много статей с описанием и примерами, поэтому рассмотрим только установку и активацию.
Переходим в папку с cacti плагинами и качаем weathermap архив.

root@cacti:/var/www/cacti/plugins# wget http://network-weathermap.com/files/php-weathermap-0.97c.zip 

Распаковуем и удаляем архив.

root@cacti:/var/www/cacti/plugins# unzip php-weathermap-0.97c.zip root@cacti:/var/www/cacti/plugins# rm php-weathermap-0.97c.zip 

Меняем владельца и группу для всех файлов и включаем визуальный редактор weathermap.

root@cacti:/var/www/cacti/plugins# chown -R www-data:www-data weathermap/ root@cacti:/var/www/cacti/plugins# vim weathermap/editor.php ... $ENABLED=true; ...   

Теперь только осталось перейти в веб-интерфейс и активировать плагин.
Идем в Configuration -> Plugin Management и нажимаем на стрелочку в поле Actions напротив Weathermap плагина для активации.

image

Плагин активирован. Как им пользоваться можете посмотреть на официальных страничках проекта.
Осталось только добавить хосты для мониторинга – пробуйте.

ссылка на оригинал статьи https://habrahabr.ru/post/277375/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *