Cacti является настраиваемой, масштабируемой сетью и мониторинга ресурсов системы, основанной на наборе RRDTool. Она работает на системах, начиная от простых установок LAN, групповых локальных сетей центров обработки данных. Cacti обеспечивает управление пользователями, а также получение данных из нескольких источников, интерфейс простой в использовании. Данное руководство устанавливает Cacti на сервер CentOS 7.
Начало работы
Для завершения этого руководства, вам потребуется следующее:
- 1 Узел (Облачный или выделенный сервер) под управлением CentOS 7.
Лучше устанавливать Cacti на работающем сервере, как только вы ознакомитесь с процессом, поскольку мониторинг имеет решающее значение для производительности серверов.
Руководство
Давайте обновим все установленные пакеты. Это не только устраняет любые известные исправления безопасности, но он также решает проблемы в базовой системе CentOS.
yum update -y
Cacti зависит от Apache, PHP, MariaDB (MySQL), и связанные с ним необходимые модули, чтобы PHP и Apache работали вместе. Мы установим следующие.
yum install nano httpd httpd-devel mariadb-server php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli -y
SNMP также имеет решающее значение в стеке Cacti. Мы установим Net-SNMP, модуль PHP-Snmp так как PHP может извлекать данные SNMP, и, наконец, RRDtool.
yum install php-snmp net-snmp-utils net-snmp-libs rrdtool -y
Давайте запустим различные компоненты необходимые Cacti. Мы начнем с запуска Apache, MariaDB и SNMP.
systemctl start httpd.service systemctl start snmpd.service systemctl start mariadb.service
Все они должны быть настроены на запуск при загрузке. Здесь мы настроим эти компоненты для запуска при загрузке сервера.
systemctl enable httpd.service systemctl enable snmpd.service systemctl enable mariadb.service
Теперь мы должны обеспечить доступ к Cacti. Оставляя решения мониторинга открытыми для публичного просмотра представляет собой угрозу безопасности. Следующий шаг добавляет пароль аутентификации для Cacti.
mysql_secure_installation
Cacti необходима база данных, которая теперь будет создана. Мы также создадим пользователя Cacti и предоставлять ему все привилегии базы данных.
mysql -u root -p MariaDB> CREATE DATABASE cactidb; MariaDB> CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cactipassword'; MariaDB> GRANT ALL PRIVILEGES ON cactidb.* TO 'cactiuser'@'localhost'; MariaDB> FLUSH PRIVILEGES; MariaDB> exit
Наконец, время, чтобы установить сам Cacti.
yum install epel-release -y yum install cacti -y
Cacti поставляется с дампом базы данных cacti.sql, которая должна быть импортирована в MySQL. Нам необходимо найти, где она храниться для выполнения импорта.
rpm -ql cacti|grep cacti.sql /usr/share/doc/cacti-0.8.8h/cacti.sql
Теперь мы импортируем схему, которую мы только что нашли. Эта команда загружает cacti.sql дамп в базу данных, которую мы создали ранее.
mysql -u cactiuser -p cactidb < /usr/share/doc/cacti-0.8.8h/cacti.sql
Cacti должен знать, как подключиться к базе данных. Мы должны добавить имя базы данных и учетные данные в файл конфигурации базы данных.
nano /etc/cacti/db.php [...] database_default = "cactidb"; database_hostname = "localhost"; database_username = "cactiuser"; database_password = "cactipassword"; [...]
Apache должен быть доступен из сети, поэтому мы можем просматривать статистику Cacti. Отредактируйте /etc/httpd/conf.d/cacti.conf.
nano /etc/httpd/conf.d/cacti.conf
Измените две строки:
<Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require host localhost <---- This one </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from localhost <---- This one </IfModule> </Directory>
Получиться:
<Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from all </IfModule> </Directory>
Перезапустите Apache, он примет изменения конфигурации, которые мы только что сделали.
systemctl restart httpd.service
Существует запись crontab для Cacti, которая должна быть активирована для того, чтобы создать свои графики. Раскомментируйте строку в /etc/cron.d/cacti.
nano /etc/cron.d/cacti
#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Получиться:
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Для того, чтобы Cacti протоколировал свои результаты, нам нужно создать пустой cacti.log.
mkdir /var/log/cacti touch /var/log/cacti/cacti.log
Остальные этапы установки выполняются с помощью веб-интерфейса. Посетите http://your_ip/Cacti, чтобы завершить процесс.
При запросе имени пользователя и пароля, введите “admin” для обоих. Они должны быть изменены как можно скорее.
Вывод
Этот сервер CentOS 7 теперь контролируется Cacti. Хотя результаты мониторинга пустого сервера не страшно интересно, истинная полезность мониторинга быстро становится очевидным, когда он используется на производственном сервере управляющей фактическую нагрузку. Если это руководство было полезным для Вас, любезно поделиться ею с другими, которые также могут быть заинтересованы в данной информации.