Cacti – open-source утилита, которая позволяет мониторить состояние вашего сервера или любого сетевого устройства по протоколу SNMP. Cacti собирает статистические данные за определённые временные интервалы и позволяет отобразить их в графическом виде. Вы сможете наблюдать за загрузкой CPU сервера, отслеживать загрузку памяти за определенный период времени и т.д..Протестировать и посмотреть, что же из себя представляет Cacti и другие программы/сервисы/АТС вы можете перейдя в раздел Тестирование.
В сегодняшней статье мы расскажем, как устанавливать Cacti на CentOS 7. Для начала расскажем,что же такое Cacti.
Подключаем репозиторий EPEL
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Устанавливаем все необходимое для Cacti
yum -y install httpd httpd-devel mariadb-server php php-cli php-mysql php-pear-Net-SMTP net-snmp-utils rrdtool php-snmp gcc mariadb-devel net-snmp-devel autoconf automake libtool dos2unix patch nano
Запускаем Apache:
systemctl restart httpd.service
Запускаем MySQL:
systemctl restart mariadb.service
Запускаем Crond:
systemctl restart crond.service
Запускаем snmpd:
systemctl start snmpd.service
Добавляем в автозапуск:
systemctl enable httpd.service
systemctl enable mariadb.service
systemctl enable crond.service
systemctl enable snmpd.service
Устанавливаем Cacti
yum install cacti
Добавим символическую ссылку для cacti-0.8.8b:
ln -s cacti-0.8.8b cacti
Теперь переходим к настройке MySQL:
/usr/bin/mysql_secure_installation
- Enter current password for root (enter for none): - Set root password? [Y/n] < Y>
- Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
- Remove anonymous users? [Y/n] < Y>
- Disallow root login remotely? [Y/n] < n>
- Remove test database and access to it? [Y/n]
- Reload privilege tables now? [Y/n] < Y>
Создадим базу данных для Cacti с привилегиями для cacti:
#mysql -u root -p
MariaDBcreate database cacti;
MariaDB>GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'password';
MariaDB>flush privileges;
MariaDB>quit;
Импортируем структуру Cacti в ее базу:
mysql -ucacti -ppassword < /usr/share/doc/cacti-0.8.8b/cacti.sql
Если при импортировании возникнет ошибка ERROR 1046 (3D000) at line 5: No database selected, то открываем /usr/share/doc/cacti-0.8.8b/cacti.sql
и добавляем в начало use cacti;. Должно получится следующее:
--
-- Table structure for table `cdef`
--
use cacti;
CREATE TABLE cdef (
id mediumint(8) unsigned NOT NULL auto_increment,
hash varchar(32) NOT NULL default '',
name varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=MyISAM;
И заново выполняем
mysql -ucacti -ppassword < /usr/share/doc/cacti-0.8.8b/cacti.sql
Перейдем в /etc/cacti/ и настроим доступ Cacti в базу данных, изменив hostname/username/password на ваши значения:
nano db.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "password";
$database_port = "3306";
$database_ssl = false;
Установим патчи:
wget http://www.cacti.net/downloads/patches/0.8.8b/security.patchpatch -p1 -N < security.patch
Теперь нам нужно настроить Apatche. Переходим в /etc/httpd/conf.d/cacti.conf и изменяем в соответствии со следующими настройками:
Alias /cacti /usr/share/cacti
# httpd 2.4
Require all granted
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
Перезапускаем Apache:
systemctl restart httpd.service
Настраиваем Firewall:
iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
service iptables save
если у вас FirewallD
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
Создадим задачу Cron для Cacti::
echo "*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1" >> /etc/cron.d/cacti
Переходим на страницу http://ваш_ip/cacti и, если вы настроили все правильно, то вы должны увидеть следующее:

Нажимаем Next.
Оставляем New installation и нажимаем Next

В следующем окне Cacti проверить наличие всех необходимых пакетов. Оставьте данные в этих полях по умолчанию и нажмите Finish

Первоначальная настройка закончена. В следующем окне введите имя пользователя admin и пароль admin.
На следующей странице нам предложат поменять пароль администратора. Меняем пароль и попадаем в панель управления Cacti:
Сразу после задания нового пароля Вы попадете в интерфейс управления Cacti.
На этом наша настройка закончена. В ближайших статьях мы расскажем как настроить Cacti для мониторинга серверов и оборудования.
Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.