Установка и настройка Cacti

Cacti — open-source веб-приложение, система позволяет строить графики при помощи RRDtool. Cacti собирает статистические данные за определённые временные интервалы и позволяет отобразить их в графическом виде.

Официальна страница: cacti.net
Официальный форум и поддержка: forums.cacti.net
Официальная страница с документацией: docs.cacti.net

Автоматическая установка:

sudo apt-get install cacti cacti-spine

Скачиваем Plugin Architecture (PIA) соответствующей версии и распаковываем в директорию cacti с заменой файлов.
В /usr/share/cacti/site/include/global.php изменяем:

$config["rra_path"] = '/var/lib/cacti/rra';

После установки открываем вэб интерфейс: http://ip/cacti
Стандартный логин и пароль: admin/admin
В настройках изменяем стандартный poller cmd.php на spine и путь к нему /usr/local/spine/spine

Для использования русских букв на графиках необходимо загрузить русские шрифты в директорию /usr/local/share/rrdtool/fonts, после чего в Console > Cacti Settings > Paths > RRDTool Default Font Path указать полный путь к шрифтам.
Плагины активируются в Plugin Management.
rrd файлы хранятся в директории: /var/lib/cacti/rra

Изменение времени обновления графиков на 1 минуту вместо 5:
В Data Templates > Interface Traffic установить Step с 300 на 60, потом в traffic_in и traffic_out — Heartbeat с 600 на 120.
В кроне прописать с */5 * * * * на * * * * * .
В Settings > Poller установить Poller Interval и Cron Interval на Every Minute.
В System Utilities нажать Rebuild Poller Cache.
В папке /var/lib/cacti/rra обязательно удалить файлы.

Желаемые параметры php.in

register_argc_argv = On
safe_mode = Off
date.timezone = Europe/Kiev
error_reporting = E_ALL & ~E_DEPRECATED

Вариант ручной установки с использованием своих патчей (лучше использовать вариант выше, вручную собирал очень давно, причем на разных машинах по разному, поэтому в этом описании могут быть неточности и устаревшая информация):

sudo apt-get install php5-gd php5-mysql php5-cgi php5-snmp php-pear php5-ldap snmp snmpd libnet-snmp-perl libsnmp-perl rrdtool librrds-perl libmysqlclient-dev sysv-rc-conf build-essential libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl libldap2-dev libsnmp-dev libgd2-xpm-dev ntp
cd /tmp
wget http://www.cacti.net/downloads/cacti-0.8.7i.tar.gz
tar -zxvf cacti-0.8.7i.tar.gz
mv /tmp/cacti-0.8.7i/ /var/www/cacti
groupadd cacti
useradd -g cacti cactiuser
chown -R cactiuser /var/www/cacti/rra
chown -R cactiuser /var/www/cacti/log
chmod -R 777 /var/www/cacti/log
chmod -R 777 /var/www/cacti/rra

Далее создаем в mysql базу данных и пользователя c полными привилегиями на нее:

mysql -u root -p cacti < /var/www/cacti/cacti.sql
nano /var/www/cacti/include/config.php
nano /var/www/cacti/include/global.php
nano /etc/crontab

И дописываем строчку:

*/1 * * * * www-data /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1

Устанавливаем Spine:

wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7h.tar.gz
tar -zxvf cacti-spine-0.8.7g.tar.gz
mv /tmp/cacti-spine-0.8.7g/ /usr/local/spine
cd /usr/local/spine
aclocal
libtoolize -f
autoheader
autoconf
automake -a
automake
./configure
make
make install
cp /usr/local/spine/spine.conf.dist /usr/local/spine/spine.conf
nano spine.conf

изменяем конфиг как нам нужно

cd /var/www/cacti
wget http://www.cacti.net/downloads/patches/0.8.7g/data_source_deactivate.patch
wget http://www.cacti.net/downloads/patches/0.8.7g/graph_list_view.patch
wget http://www.cacti.net/downloads/patches/0.8.7g/html_output.patch
wget http://www.cacti.net/downloads/patches/0.8.7g/ldap_group_authenication.patch
wget http://www.cacti.net/downloads/patches/0.8.7g/script_server_command_line_parse.patch
wget http://www.cacti.net/downloads/patches/0.8.7g/ping.patch
wget http://www.cacti.net/downloads/patches/0.8.7g/poller_interval.patch
patch -p1 -N < data_source_deactivate.patch patch -p1 -N < graph_list_view.patch
patch -p1 -N < html_output.patch patch -p1 -N < ldap_group_authenication.patch patch -p1 -N < script_server_command_line_parse.patch
patch -p1 -N < ping.patch patch -p1 -N < poller_interval.patch cd /usr/local/spine
wget http://www.cacti.net/downloads/spine/patches/0.8.7g/unified_issues.patch patch -p1 -N < unified_issues.patch

Ставим патч Plugin Architecture (PIA):

http://www.cacti.net/downloads/pia/
http://docs.cacti.net/manual:087:1_installation.9_pia
cd /tmp
wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
# wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz
tar -zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cp -r /tmp/cacti-plugin-arch/files-0.8.7g/* /var/www/cacti
cd /var/www/cacti
patch -p1 -N --dry-run < /tmp/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff
patch -p1 -N < /tmp/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff
nano /var/www/cacti/include/global.php

Именяем настройки как нам нужно

nano /var/www/cacti/include/config.php
изменяем $url_path на /cacti/
mysql -u root -p cacti < /tmp/cacti-plugin-arch/pa.sql

Ставим плагины которые нам нужны:

cd plugins
wget http://docs.cacti.net/_media/plugin:settings-v0.7-1.tgz
# http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz
mv plugin\:settings-v0.7-1.tgz settings-v0.7-1.tgz
tar -zxvf settings-v0.7-1.tgz
wget http://docs.cacti.net/_media/plugin:monitor-v1.2-1.tgz
# http://docs.cacti.net/_media/plugin:monitor-v1.3-1.tgz
mv plugin\:monitor-v1.2-1.tgz monitor-v1.2-1.tgz
tar -zxvf monitor-v1.2-1.tgz
mysql -u root -p cacti < /var/www/cacti/plugins/monitor/monitor.sql
wget http://docs.cacti.net/_media/plugin:discovery-v1.5-1.tgz
mv plugin\:discovery-v1.5-1.tgz discovery-v1.5-1.tgz
tar -zxvf discovery-v1.5-1.tgz
mysql -u root -p cacti < /var/www/cacti/plugins/discovery/discover.sql
wget http://docs.cacti.net/_media/plugin:mactrack-v2.9-1.tgz
mv plugin\:mactrack-v2.9-1.tgz mactrack-v2.9-1.tgz
tar -zxvf mactrack-v2.9-1.tgz
mysql -u root -p cacti < /var/www/cacti/plugins/mactrack/mactrack.sql
wget http://docs.cacti.net/_media/plugin:spikekill-v1.3-2.tgz
mv plugin\:spikekill-v1.3-2.tgz spikekill-v1.3-2.tgz
tar -zxvf spikekill-v1.3-2.tgz
download this file http://www.mediafire.com/?iefyesb24ppsbwl and transfer it to your linux box to /var/www/cacti/plugins tar -xf npc-2.0.4.tar.gz 

Стандартный владелец и права на файлы:

sudo chown www-data:www-data /etc/cacti/debian.php
sudo chmod 755 /etc/cacti/debian.php
sudo chown www-data:www-data /var/lib/cacti/rra
chown -R www-data:www-data /var/www/cacti 

Дополнительные заметки:
mysql-cacti-templates: http://code.google.com/p/mysql-cacti-templates
crunchtools: http://code.google.com/p/crunchtools

Страница Weathermap4rrd: http://weathermap4rrd.tropicalex.net
http://www.network-weathermap.com
Ручной вариант запуска weathermap4rrd

weathermap4rrd -c /etc/weathermap4rrd/weathermap.conf

Смотрите также: Установка Zabbix в Linux Ubuntu

Оставьте комментарий

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

Больше на IT Blog

Оформите подписку, чтобы продолжить чтение и получить доступ к полному архиву.

Continue reading