Установка Cacti на CentOS 7
Инструкция по установке системы для мониторинга серверов и сетевых устройств Cacti на виртуальный сервер под управлением Centos 7.
Что такое Cacti?
Cacti — это инструмент с открытым исходным кодом для мониторинга сервера, визуализации собранных данных и построения графиков, написан на PHP/MySQL. Cacti использует RRDTool (инструмент для работы с базами данных Round-Robin) для хранения данных и генерации графики, сборка периодических данных происходит через Net-SNMP — набор приложений для реализации SNMP (Simple Network Management Protocol).
Настройка репозиториев
Необходимо отключить функции безопасности SELinux, для этого с помощью текстового редактора, например vi откройте следующий системный файл:
Измените значение параметра SELINUX на disabled:
Перезагрузите виртуальный сервер, чтобы изменения вступили в силу:
Настройте репозиторий EPEL:
Установите репозиторий Remi:
rpm -Uvh remi-release-7.rpm
Выведите список доступных репозиториев:
Установка компонентов
В первую очередь необходимо установить веб-сервер Apache:
systemctl start httpd
Установите утилиты RRDTool и SNMP, для дальнейшей обработки и визуализации данных:
systemctl start snmpd
Далее установите MariaDB и запустите сервис:
systemctl start mariadb
Запустите скрипт, с помощью которого задайте пароль администратора и дополнительные параметры безопасности:
Запустите следующую команду, чтобы установить несколько компонентов PHP:
Создание базы данных Cacti
Подключитесь к СУБД MariaDB:
С помощью следующих команд создайте БД и пользователя, задав надежный пароль:
CREATE USER 'fosslinuxuser'@'localhost' IDENTIFIED BY 'password';
Предоставьте привилегии пользователю:
FLUSH PRIVILEGES;
Созданный пользователь базы данных должен иметь доступ к таблице mysql.time_zone_name. Поэтому необходимо импортировать mysql_test_data_timezone.sql в базу данных MySQL:
Выполните вход в MariaDB:
Предоставьте доступ пользователю базы данных cacti и обновите привилегии:
FLUSH PRIVILEGES;
Оптимизация базы данных
Для повышения производительности нужно изменить параметры базы данных. Откройте файл конфигурации.
Вставьте следующие строки в секцию [mysqld]:
plugin-load=BLACKHOLE=ha_blackhole.so
blackhole=FORCE
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8mb4
max_heap_table_size = 128M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_per_table = on
innodb_buffer_pool_size = 512M
innodb_doublewrite = off
innodb_additional_mem_pool_size = 80M
innodb_lock_wait_timeout = 50
innodb_flush_log_at_trx_commit = 2
innodb_file_format = Barracuda
innodb_large_prefix = 1
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
Перезапустите СУБД для применения изменений:
Установка и конфигурация Cacti
Установите Cacti используя yum:
Импортируйте файл базы данных cacti по умолчанию в созданную базу данных.
Примечание: версия Cacti может отличаться.
Импортируйте SQL-файл:
Отредактируйте файл конфигурации Cacti, указав базу данных, пароль, пользователя и пр.:
Измените следующие параметры:
$database_default = 'fosslinuxcacti';
$database_hostname = 'localhost';
$database_username = 'fosslinuxuser';
$database_password = 'password';
$database_port = '3306';
$database_ssl = false;
Настройка Apache
Выполнить настройку Apache необходимо для удаленного подключения:
Замените строку Require host localhost на Require all granted и Allow from localhost на Allow from all.
Файл будет выглядеть следующем образом:
<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>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Directory>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Directory>
Далее откройте файл конфигурации PHP:
Измените значения следующих параметров:
memory_limit = 800M
max_execution_time = 360
Перезапустите запущенные сервисы:
systemctl restart mariadb.service
systemctl restart snmpd.service
Не забудьте настроить Firewall, чтобы подключиться Cacti:
firewall-cmd --reload
Подключение к веб-интерфейсу Cacti
Перейдите в браузере по следующему адресу:
Например:
При первом подключении используйте логин и пароль admin/admin:
Вам сразу же необходимо будет изменить значения по умолчанию:
Далее необходимо выбрать язык и принять пользовательское соглашение:
На следующем шаге будет выполнена проверка наличия зависимостей и необходимых конфигураций PHP и MySQL:
Выберите тип установки, можно оставить значение по умолчанию:
Далее будет выполнена проверка прав и доступов:
Выберите профиль по умолчанию и подсети для сканирования:
На следующих шагах вы можете выбрать все шаблоны и таблицы:
Подтвердите установку:
По завершении установки отобразится лог с ошибками, если они имели место быть:
Далее вы можете зайти в панель Cacti и приступать к мониторингу:
Пример графиков со статистикой: