Гид по технологиям

Установка Cacti на Rocky Linux — пошаговое руководство

• 8 min read • Мониторинг. • Обновлено 19 Nov 2025
Установка Cacti на Rocky Linux
Установка Cacti на Rocky Linux

Логотип Cacti и обзор архитектуры мониторинга

Cacti — это веб‑ориентированный open source инструмент мониторинга и построения графиков на базе PHP и MariaDB/MySQL. Он использует SNMP (Simple Network Management Protocol) для сбора данных и хранит их в движке RRDTool (Round‑Robin Database), который также отвечает за формирование графиков.

Cacti подходит для разных типов компаний: интернет‑провайдеров (широкая поддержка аппаратного мониторинга), провайдеров выделенных серверов (много пользователей с собственными графиками) и инфраструктурных команд, которым требуется графическое представление метрик. Платформа расширяема: доступны шаблоны устройств, графиков и агрегатов, а также плагины. Cacti может работать под Apache/httpd или Nginx.

Что вы получите в этом руководстве

  • Полный список команд для установки зависимостей и сервисов.
  • Настройка PHP и MariaDB под требования Cacti.
  • Импорт схемы базы данных и конфигурация Cacti.
  • Настройка cron‑описи для poller’а и базовая проверка работы.
  • Рекомендации по безопасности (firewall, SELinux) и пост‑установка (Spine).

Важно: в примерах используются адреса и пароли из демонстрации (192.168.1.10, cacti_password). Замените их на реальные значения в продакшн‑среде.

Основные варианты поискового намерения (SEO)

Primary intent: Установка Cacti на Rocky Linux Related variants: Cacti на Rocky Linux, установка Cacti 1.2, мониторинг SNMP Rocky Linux, как установить Cacti, Cacti RRDTool настройка

Предварительные требования

Пример окружения, использованного в руководстве:

  • Операционная система: Rocky Linux 8.4 (Green Obsidian)
  • Адрес сервера: 192.168.1.10
  • Привилегии sudo/root

Перед началом убедитесь, что у вас действующий доступ по SSH и что система обновлена:

sudo dnf update -y
sudo dnf upgrade -y

Шаг 1 — Установка зависимостей

Все команды выполняйте с правами root или через sudo.

  1. Добавьте репозиторий EPEL:
sudo dnf install epel-release

Подтвердите ввод Y и нажмите Enter.

Экран подтверждения установки репозитория EPEL

  1. Установите веб‑сервер httpd (Apache):
sudo dnf install httpd -y

Запустите и включите службу:

sudo systemctl enable --now httpd
sudo systemctl is-enabled httpd
  1. Установите PHP (пример для версии 7.4, доступной в репозитории Rocky):
dnf module enable php:7.4

Подтвердите Y, затем установите пакеты PHP и расширения, требуемые Cacti:

sudo dnf install -y php php-xml php-session php-sockets php-ldap php-gd php-json php-mysqlnd php-gmp php-mbstring php-posix php-snmp php-intl

Отредактируйте основной PHP‑конфиг /etc/php.ini:

nano /etc/php.ini

Настройте timezone и параметры производительности (пример):

date.timezone = Europe/Amsterdam
memory_limit = 512M
max_execution_time = 60

Сохраните и перезапустите httpd:

sudo systemctl restart httpd
  1. Установите SNMP и rrdtool (SNMP собирает данные, rrdtool хранит и отображает их):
sudo dnf install -y net-snmp net-snmp-utils net-snmp-libs rrdtool -y

Запустите и включите агент SNMP:

sudo systemctl enable --now snmpd
sudo systemctl is-enabled snmpd

Пояснение: rrdtool хранит метрики в круговых базах (.rra) — они компактны и подходят для долгосрочного графирования.

Шаг 2 — Установка и настройка MariaDB

Cacti хранит данные конфигурации и части исторических данных в базе данных. MariaDB — рекомендуемый выбор.

  1. Установите мета‑пакет MariaDB:
sudo dnf install -y @mariadb
  1. Отредактируйте конфигурацию MariaDB для соответствия требованиям Cacti. Откройте каталог и файл конфигурации:
cd /etc/my.cnf.d/
nano mariadb-server.cnf

Добавьте под секцией [mysqld] следующие параметры (пример):

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

innodb_file_format = Barracuda
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
# 25% Of Total System Memory
innodb_buffer_pool_size=1GB
# pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_large_prefix=1
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000

log-error                 = /var/log/mariadb/mariadb-error.log
log-queries-not-using-indexes  = 1
slow-query-log            = 1
slow-query-log-file       = /var/log/mariadb/mariadb-slow.log

Сохраните файл и запустите службу MariaDB:

sudo systemctl enable --now mariadb
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Запуск и проверка статуса службы MariaDB

  1. Заполните таблицы временных зон (нужно для корректной обработки timezone в графиках):
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Введите пароль root MariaDB, когда будет предложено.

Шаг 3 — Создание базы данных и пользователя Cacti

Войдите в MySQL оболочку:

mysql -u root -p

Выполните следующие SQL‑команды:

create database if not exists cacti;
CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cacti_password';
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost';
GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost';
FLUSH PRIVILEGES;
exit

Замените cacti_password на надёжный пароль в реальном окружении. Права SELECT на таблицу time_zone_name позволяют cacti корректно работать с часовыми поясами.

Создание базы данных cacti в MariaDB

Шаг 4 — Установка Cacti из EPEL

Пакеты Cacti доступны в репозитории EPEL. Версия в EPEL может отличаться от актуальной на сайте Cacti (пример: 1.2.17 в EPEL vs 1.2.19 на сайте).

Установите пакет Cacti:

sudo dnf install cacti

Подтвердите Y для установки.

Установка пакета Cacti через DNF

Исходники и веб‑файлы Cacti будут доступны в /usr/share/cacti/.

Импортируйте схему базы данных:

mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql

Введите пароль для cactiuser.

Отредактируйте конфигурационный файл Cacti, чтобы указать данные подключения к БД:

nano /usr/share/cacti/include/config.php

Пример настроек:

$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cacti_password';
$database_port = '3306';

Сохраните изменения.

Шаг 5 — Настройка доступа и poller

По умолчанию Cacti доступен только локально. Для внешнего доступа измените конфигурацию Apache для Cacti:

nano /etc/httpd/conf.d/cacti.conf

Замените директиву ограничения доступа:

Require all granted

Перезапустите httpd:

sudo systemctl restart httpd

Разрешите poller (планировщик) — он собирает данные каждые 5 минут. Отредактируйте cron‑файл:

nano /etc/cron.d/cacti

Расположите или раскомментируйте строку:

*/5 * * * *     apache  /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Если используется firewalld, разрешите HTTP и перезагрузите:

firewall-cmd add-service=http --permanent
firewall-cmd --reload

Примечание по SELinux

Если SELinux включён (Enforcing), добавьте соответствующие контексты и разрешения для Cacti и rrdtool. Простейшие команды для диагностики и временного перевода в permissive:

sestatus
sudo setenforce 0    # временно переключить в permissive (только для отладки)

Для постоянной работы следует настроить политики SELinux, а не отключать его.

Шаг 6 — Мастер установки Cacti (веб‑интерфейс)

Откройте браузер и перейдите по адресу:

http://192.168.1.10/cacti/

  1. На странице входа введите логин admin и пароль admin.

Страница входа Cacti

  1. Система потребует смены пароля администратора — установите надёжный пароль.

Смена пароля администратора Cacti

  1. Примите лицензию GPL и нажмите Begin.

Лицензионное соглашение Cacti GPL

  1. Проверьте, чтобы все системные проверки прошли успешно (зелёный статус).

Проверки системы для Cacti

  1. Выберите New Primary Server (первичный сервер) и следуйте шагам мастера: проверка прав на директории, пути бинарников (можно оставить по умолчанию), параметры whitelist для валидации входных данных, шаблоны и локализация.

Проверки прав доступа Cacti

Настройка путей бинарников для Cacti

Whitelist валидации входных данных Cacti

Выбор профиля по умолчанию Cacti

Шаблоны при установке Cacti

Проверка локализации базы данных и системы

Подтвердите установку и дождитесь завершения процесса.

Подтверждение установки Cacti

Процесс установки займёт несколько минут.

Процесс установки Cacti

После завершения нажмите Get Started, чтобы попасть на панель администратора.

Панель администратора Cacti

Подождите 15–20 минут (в зависимости от настроек poller), пока Cacti соберёт начальные данные. Затем откройте меню Graphs, чтобы увидеть графики сервера.

Пример графика нагрузки Cacti

Если графики отображаются — установка прошла успешно.

Постустановочные шаги и рекомендации

  • Установите Spine — многопоточный сборщик данных, рекомендованный для больших сред.
  • Настройте регулярные резервные копии базы данных и каталога с rrd‑файлами.
  • Настройте HTTPS для веб‑интерфейса и примените HSTS, чтобы защитить панель управления.
  • Ограничьте доступ по IP к административным страницам, если возможно.

Мини‑методология: быстрый план развертывания Cacti в продакшен

  1. Подготовка: тестовый сервер с тем же OS, обновления и репозитории.
  2. Установка зависимостей и базовой конфигурации (PHP, SNMP, rrdtool).
  3. Настройка БД и создание пользователя с минимально необходимыми правами.
  4. Установка Cacti, импорт схемы, веб‑мастер установки.
  5. Настройка Spine и отладки poller’а.
  6. Резервное копирование и мониторинг самого Cacti.

Контрольный список по ролям

Администратор системы:

  • Установлены EPEL, httpd, PHP, net‑snmp, rrdtool.
  • Сервисы httpd, snmpd, mariadb запущены и включены.
  • Firewall настроен и открыт порт 80/443.

Инженер БД:

  • MariaDB настроена с рекомендованными параметрами InnoDB.
  • Загружены timezone таблицы.
  • Создана база cacti и пользователь с правами.

Сетевой инженер:

  • SNMP настроен на целевых устройствах.
  • Проверены community/credentials.

Оператор мониторинга:

  • Пройдён веб‑мастер Cacti и создан первый хост/шаблон.
  • Подтверждена работа poller’а (проверка cron и логов).

Критерии приёмки

  • Веб‑интерфейс Cacti доступен по HTTPS/HTTP и требует аутентификации администратора.
  • Poller запускается каждые 5 минут (строка в /etc/cron.d/cacti раскомментирована).
  • Первичные графики заполнены данными через 15–30 минут после старта poller’а.
  • Резервная копия базы данных сделана и проверена (тестовый restore).

Тесты и приёмка (короткий набор тесткейсов)

  • Тест 1: Вход в веб‑интерфейс под admin/admintemp -> смена пароля успешна.
  • Тест 2: Ping и SNMP‑walk с сервера на хост -> данные получаются.
  • Тест 3: Проверка cron — запуск poller.php вручную возвращает статус без ошибок.
  • Тест 4: Просмотр созданного графика — данные за последние 30 минут отображаются.

Частые проблемы и способы устранения

Проблема: 500 Internal Server Error в вебе Cacti.
Решение: проверьте журналы /var/log/httpd/error_log и /var/log/php-fpm (если используется). Убедитесь, что права на /usr/share/cacti правильные и PHP‑расширения установлены.

Проблема: poller не собирает данные.
Решение: проверьте /etc/cron.d/cacti, запустите /usr/bin/php /usr/share/cacti/poller.php вручную и просмотрите вывод; проверьте логи Cacti (обычно в /var/log/httpd или в самой директории cacti).

Проблема: пустые графики (нет RRD данных).
Решение: проверьте права на каталог rrd (обычно /var/lib/cacti/rra) и пользователя Apache (apache) — он должен иметь право писать. Также проверьте SELinux контексты.

Проблема: MariaDB медленно отвечает.
Решение: проверьте innodb_buffer_pool_size и другие параметры в mariadb-server.cnf; настройте в соответствии с объёмом памяти сервера.

Безопасность и GDPR‑заметки

  • Не храните пароли в открытом виде в скриптах; используйте защищённые секреты/властности доступа.
  • Ограничьте доступ к административной панели по IP или VPN.
  • Шифруйте веб‑интерфейс через TLS и используйте сильные TLS‑настройки.
  • Если вы храните персональные данные (например, IP, имена пользователей), убедитесь, что политика хранения данных и доступ соответствуют требованиям GDPR/локальному законодательству.

Короткая справка по Spine

Spine — это высокопроизводительный многопоточный сборщик данных для Cacti. В больших установках Spine даёт существенный выигрыш в скорости по сравнению со штатным php poller’ом. Рекомендован к использованию на серверах с большим количеством хостов/графиков.

1‑строчный глоссарий

  • SNMP: протокол сбора сетевой телеметрии.
  • RRDTool: инструмент для хранения и графического отображения временных рядов в круговой базе.
  • Poller: процесс, который периодически собирает метрики и записывает их в RRD.

Рекомендации по мониторингу Cacti

  • Настройте внешний мониторинг самого сервера Cacti (uptime, доступность веба, доступность MariaDB, нагрузка poller’а).
  • Автоматизируйте резервное копирование и тест восстановления.
  • Планируйте масштабирование: при росте числа хостов переходите на Spine и рассматривайте отдельный сервер БД.

Заключение

Поздравляем — вы установили Cacti на Rocky Linux и прошли базовую настройку: PHP, MariaDB, SNMP, rrdtool, импорт схемы и веб‑мастер установки. Следующий шаг — установка Spine для повышения производительности, а также добавление хостов и шаблонов под ваши устройства.

Важно: замените все демонстрационные пароли на надёжные, настройте HTTPS и политику доступа перед вводом в продакшен.

Ключевые действия далее: установка Spine, настройка резервного копирования, настройка HTTPS и доработка шаблонов для ваших устройств.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро