Cacti - это бесплатный и мощный инструмент для мониторинга и построения графиков работы сети под Linux. Это внешнее средство для RRDtool, предназначенное для опроса служб через заданные интервалы времени и построения графиков полученных данных. Cacti предоставляет веб-интерфейс, с помощью которого можно отслеживать производительность системы, загрузку процессора и использование пропускной способности сети в виде графиков. Он написан на языке PHP и использует для хранения данных базу данных MySQL/MariaDB.
В этом руководстве мы покажем, как установить инструмент мониторинга Cacti на Ubuntu 22.04.
Необходимые условия
- Сервер под управлением Ubuntu 22.04 с оперативной памятью не менее 2 ГБ.
- На сервере настроен пароль root.
Начало работы
Прежде всего, рекомендуется обновить системные пакеты до последней версии. Обновить их можно с помощью следующей команды:
1 2 | apt update apt upgrade -y |
После обновления всех пакетов установите другие зависимости, необходимые для работы Cacti, с помощью следующей команды:
1 | apt-get install snmp php-snmp rrdtool librrds-perl unzip git gnupg2 -y |
После установки всех зависимостей можно переходить к следующему шагу.
Установка Apache, PHP и MariaDB
Прежде всего, необходимо установить в систему веб-сервер Apache, сервер баз данных MariaDB, PHP и другие необходимые расширения PHP. Установить их можно с помощью следующей команды:
1 | apt-get install apache2 mariadb-server php php php-mysql php-intl libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y |
После установки всех пакетов отредактируйте файл php.ini и измените настройки по умолчанию.
1 | nano /etc/php/8.1/apache2/php.ini |
Измените следующие строки:
1 2 3 | memory_limit = 512M max_execution_time = 360 date.timezone = UTC |
Сохраните и закройте файл, после чего откройте другой файл php.ini:
1 | nano /etc/php/8.1/cli/php.ini |
Измените следующие строки:
1 2 3 | memory_limit = 512M max_execution_time = 360 date.timezone = UTC |
Сохраните и закройте файл, затем перезапустите службу Apache для применения изменений:
1 | systemctl restart apache2 |
После этого можно переходить к следующему шагу.
Создание базы данных и пользователя для Cacti
Далее необходимо создать базу данных и пользователя для Cacti. Сначала войдите в оболочку MariaDB, выполнив следующую команду:
1 | mysql |
После входа создайте базу данных и пользователя для Cacti с помощью следующей команды:
1 2 | create database cacti; GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY '[password]'; |
Затем обновите привилегии и выйдите из оболочки MariaDB с помощью следующей команды:
1 2 | flush privileges; exit; |
Далее необходимо отредактировать конфигурационный файл MariaDB и изменить некоторые настройки. Это можно сделать, отредактировав файл /etc/mysql/mariadb.conf.d/50-server.cnf.
1 | nano /etc/mysql/mariadb.conf.d/50-server.cnf |
Добавьте следующие строки в раздел [mysqld]:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | collation-server = utf8mb4_unicode_ci max_heap_table_size = 128M tmp_table_size = 64M join_buffer_size = 64M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_buffer_pool_size = 1024M innodb_flush_log_at_timeout = 3 innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000 sort_buffer_size = 10K innodb_doublewrite = OFF |
Сохраните и закройте файл, после чего перезапустите службу MariaDB для применения изменений:
1 | systemctl restart mariadb |
Далее импортируйте файл mysql_test_data_timezone.sql в базу данных mysql с помощью следующей команды:
1 | mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql |
Далее войдите в MySQL и предоставьте пользователю cacti доступ к таблице mysql.time_zone_name:
1 | mysql |
После входа в систему выполните следующую команду для предоставления доступа:
1 2 | GRANT SELECT ON mysql.time_zone_name TO cacti@localhost; ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; |
Затем обновите привилегии и выйдите из оболочки MariaDB, выполнив следующую команду:
1 2 | flush privileges; exit; |
После этого можно переходить к следующему шагу.
Установка и настройка Cacti
Сначала загрузите последнюю версию Cacti в вашу систему с помощью следующей команды:
1 | wget https://www.cacti.net/downloads/cacti-latest.tar.gz |
После загрузки Cacti распакуйте загруженный файл с помощью следующей команды:
1 | tar -zxvf cacti-latest.tar.gz |
Затем переместите извлеченный каталог в корневой каталог Apache с помощью следующей команды:
1 | mv cacti-1.2.23 /var/www/html/cacti |
Далее измените право собственности на каталог cacti на www-data с помощью следующей команды:
1 | chown -R www-data:www-data /var/www/html/cacti/ |
Далее импортируйте данные Cacti в базу данных Cacti с помощью следующей команды:
1 | mysql -u root -p cacti < /var/www/html/cacti/cacti.sql |
Далее отредактируйте конфигурационный файл Cacti и определите настройки базы данных:
1 | nano /var/www/html/cacti/include/config.php |
Измените следующие строки в соответствии с вашей базой данных:
1 2 3 4 5 6 7 | $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "[password]"; $database_port = "3306"; $database_ssl = false; |
Сохраните и закройте файл, после чего создайте Cron-файл для Cacti.
1 | nano /etc/cron.d/cacti |
Добавьте следующую строку:
1 | */5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1 |
Сохраните и закройте файл, после чего создайте файл журнала для Cacti с помощью следующей команды:
1 2 | touch /var/www/html/cacti/log/cacti.log chown -R www-data:www-data /var/www/html/cacti/ |
После завершения работы можно переходить к следующему шагу.
Создание виртуального хоста Apache
Далее необходимо создать файл конфигурации виртуального хоста Apache для Cacti. Создать его можно с помощью следующей команды:
1 | nano /etc/apache2/sites-available/cacti.conf |
Добавьте следующие строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Alias /cacti /var/www/html/cacti <Directory /var/www/html/cacti> Options +FollowSymLinks AllowOverride None <IfVersion >= 2.3> Require all granted </IfVersion> <IfVersion < 2.3> Order Allow,Deny Allow from all </IfVersion> AddType application/x-httpd-php .php <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag short_open_tag On php_flag register_globals Off php_flag register_argc_argv On php_flag track_vars On # эта настройка необходима для некоторых локалей php_value mbstring.func_overload 0 php_value include_path . </IfModule> DirectoryIndex index.php </Directory> |
После завершения работы сохраните и закройте файл. Затем включите виртуальный хост Cacti с помощью следующей команды:
1 | a2ensite cacti |
Далее перезапустите службу Apache для применения изменений:
1 | systemctl restart apache2 |
Вы также можете проверить состояние Apache с помощью следующей команды:
1 | systemctl status apache2 |
Вы должны получить следующее сообщение:
На данном этапе веб-сервер Apache настроен на обслуживание Cacti. Теперь можно переходить к следующему шагу.
Доступ к веб-интерфейсу Cacti
Теперь откройте веб-браузер и зайдите в веб-интерфейс Cacti, используя URL http://your-server-ip/cacti. Вы будете перенаправлены на страницу входа в систему Cacti:
Введите имя пользователя и пароль по умолчанию admin / admin и нажмите на кнопку Login. Должно появиться окно изменения пароля Cacti:
Введите пароль по умолчанию, новый пароль и нажмите на кнопку Save. Должна появиться страница лицензионного соглашения Cacti:
Примите лицензионное соглашение и нажмите на кнопку Начать. Должна появиться страница проверки предварительной установки:
Убедитесь, что все пакеты установлены, и нажмите на кнопку Next. Должна появиться следующая страница:
Выберите тип установки и нажмите кнопку Next. Должна появиться страница проверки прав доступа к каталогам:
Щелкните на кнопке Next. Должна появиться следующая страница.
Щелкните на кнопке Next. Должна появиться страница Проверка вводимых данных:
Установите флажок и нажмите кнопку Next. Должна появиться страница Профилей:
Выберите необходимый шаблон и нажмите кнопку Next. Должна появиться следующая страница:
Щелкните на кнопке Next. Должна появиться следующая страница:
Подтвердите установку и нажмите на кнопку Install. После завершения установки на экране появится следующая страница:
Нажмите на кнопку Get Started. На следующей странице должна появиться приборная панель Cacti:
Заключение
Поздравляем! Вы успешно установили и настроили инструмент сетевого мониторинга Cacti на Ubuntu 22.04. Теперь вы можете установить агент Cacti на клиентские машины, добавить их к серверу Cacti и начать мониторинг.