Как установить Cacti с помощью Cacti-Spine в Debian и Ubuntu
В этом руководстве мы узнаем, как установить и настроить инструмент мониторинга сети Cacti в последних версиях Debian и Ubuntu 16.04 LTS. В рамках этого руководства Cacti будет собрана и установлена из исходных файлов.
Cacti — это инструмент мониторинга с открытым исходным кодом, созданный для мониторинга сетей, особенно сетевых устройств, таких как коммутаторы, маршрутизаторы, серверы, через протокол SNMP. Cacti взаимодействует с конечными пользователями и может управляться через веб-интерфейс.
Требования
- Стек LAMP установлен в Debian 9
- Стек LAMP установлен в Ubuntu 16.04 LTS
Шаг 1. Установите и настройте необходимые компоненты для Cacti
1. В Debian 9 откройте файл списка исходных кодов для редактирования и добавьте репозитории contrib и несвободные в файл, изменив следующие строки:
nano /etc/apt/sources.list
Добавьте следующие строки в файл sources.list.
deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main
2. После этого обязательно обновите систему, выполнив приведенную ниже команду.
apt update
apt upgrade
3. Убедитесь, что в вашем стеке LAMP присутствуют следующие расширения PHP.
apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt
4. Затем отредактируйте файл конфигурации PHP и измените настройку часового пояса в соответствии с физическим местоположением вашего сервера, введя приведенную ниже команду.
echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini
5. Затем войдите в базу данных MariaDB или MySQL из установленного стека LAMP и создайте базу данных для установки Cacti. > выполнив следующие команды.
Замените имя базы данных кактусов, пользователя и пароль в соответствии с вашими собственными конфигурациями и выберите надежный пароль для базы данных кактусов.
mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit
6. Кроме того, введите приведенные ниже команды, чтобы разрешить пользователю Cacti выбирать разрешения для настройки MySQL data.timezone, введя приведенные ниже команды.
mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost'
7. Затем откройте файл конфигурации сервера MySQL и добавьте в конец файла следующие строки.
nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
nano /etc/mysql/mysql.conf.d/mysqld.cnf [For MySQL]
Добавьте следующие строки в конец файла 50-server.cnf или mysqld.cnf.
max_heap_table_size = 98M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_buffer_pool_size = 485M
innodb_doublewrite = off
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
Для базы данных MariaDB также добавьте следующую строку в конец файла 50-server.cnf:
innodb_additional_mem_pool_size = 80M
8. Наконец, перезапустите службы MySQL и Apache, чтобы применить все настройки и проверить состояние обеих служб, выполнив следующие команды.
systemctl restart mysql apache2
systemctl status mysql apache2
Шаг 2. Загрузите и подготовьте установку Cacti.
9. Начните установку Cacti из исходных кодов, загрузив и распаковав последнюю версию архива Cacti и скопировав все извлеченные файлы в корень веб-документа Apache, выполнив следующие команды.
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz
cp -rf cacti-1.1.27/* /var/www/html/
10. Удалите файл index.html из каталога /var/www/html, создайте файл журнала Cacti и предоставьте Apache права на запись в Интернет. корневой путь.
rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/
11. Затем отредактируйте файл конфигурации кактусов и измените следующие строки, как показано в примере ниже.
nano /var/www/html/include/config.php
Пример файла Cacti config.php. Замените имя базы данных кактусов, пользователя и пароль соответственно.
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port = '3306';
$database_ssl = false;
$url_path = '/';
12. Затем заполните базу данных кактусов сценарием cacti.sql из каталога /var/www/html/, выполнив приведенную ниже команду.
mysql -u cactiuser cacti -p < /var/www/html/cacti.sql
13. Теперь установите некоторые дополнительные ресурсы, поскольку движок Cacti собирает данные устройств по протоколу SNMP и отображает графику с помощью RRDtool. Установите их все, выполнив следующую команду.
apt install snmp snmpd snmp-mibs-downloader rrdtool
14. Убедитесь, что служба SNMP запущена и работает, перезапустив демон snmpd, выполнив приведенную ниже команду. Также проверьте состояние демона snmpd и его открытые порты.
systemctl restart snmpd.service
systemctl status snmpd.service
ss -tulpn| grep snmp
Шаг 3. Загрузите и установите Cacti-Spine
15. Cacti-Spine — это написанная на C замена стандартного опросчика cmd.php. Cacti-Spine обеспечивает более быстрое выполнение. Чтобы скомпилировать пул Cacti-Spine из исходных кодов, установите в своей системе указанные ниже необходимые зависимости.
---------------- On Debian 9 ----------------
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev
---------------- On Ubuntu ----------------
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev
16. После установки вышеуказанных зависимостей загрузите последнюю версию архива Cacti-Spine, распакуйте архив и скомпилируйте cacti-spine, выполнив следующую серию команд. .
wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz
cd cacti-spine-1.1.27/
17. Скомпилируйте и установите Cacti-Spine из исходных кодов, выполнив следующие команды.
./bootstrap
./configure
make
make install
18. Затем убедитесь, что двоичный файл Spine принадлежит учетной записи root, и установите бит suid для утилиты Spine, выполнив следующие команды.
chown root:root /usr/local/spine/bin/spine
chmod +s /usr/local/spine/bin/spine
19. Теперь отредактируйте файл конфигурации Cacti Spine и добавьте имя базы данных Cacti, пользователя и пароль в файл конфигурации Spine, как показано в примере ниже.
nano /usr/local/spine/etc/spine.conf
Добавьте следующую конфигурацию в файл spine.conf.
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0
Шаг 4. Настройка мастера установки Cacti
20. Чтобы установить Cacti, откройте браузер и перейдите к IP-адресу или доменному имени вашей системы по следующему URL-адресу.
http://your_IP/install
Сначала установите флажок Принять лицензионное соглашение и нажмите кнопку Далее, чтобы продолжить.
21. Затем проверьте соответствие системным требованиям и нажмите кнопку Далее, чтобы продолжить.
22. В следующем окне выберите Новый основной сервер и нажмите кнопку Далее, чтобы продолжить.
23. Затем проверьте расположение и версии критически важных двоичных файлов и измените двоичный путь Spine на /usr/local/spine/bin/spine. Когда вы закончите, нажмите кнопку Далее, чтобы продолжить.
24. Затем проверьте, установлены ли все разрешения для каталога веб-сервера (установлены разрешения на запись), и нажмите кнопку Далее, чтобы продолжить.
25. На следующем шаге проверьте все шаблоны и нажмите кнопку Готово, чтобы завершить процесс установки.
26. Войдите в веб-интерфейс Cacti, используя учетные данные по умолчанию, показанные ниже, и измените пароль администратора, как показано на следующих снимках экрана.
Username: admin
Password: admin
27. Затем перейдите в Консоль -> Конфигурация -> Настройки -> Опрос и измените Тип опроса с cmd.php< в двоичный файл Spine и прокрутите вниз до кнопки Сохранить, чтобы сохранить конфигурацию.
28. Затем перейдите в Консоль -> Конфигурация -> Настройки -> Пути и добавьте следующий путь к файлу конфигурации Cacti-Spine:
/usr/local/spine/etc/spine.conf
Нажмите кнопку Сохранить, чтобы применить конфигурацию.
29. Последней настройкой, позволяющей опросчику Cacti начать сбор данных с контролируемых устройств, является добавление новой задачи crontab для опроса каждого устройства через SNMP каждые 5 минут.
Задание crontab должно принадлежать учетной записи www-data.
crontab -u www-data -e
Добавьте запись файла Cron:
*/5 * * * * /usr/bin/php /var/www/html/poller.php
30. Подождите несколько минут, пока Cacti соберет данные, и перейдите в Графики -> Дерево по умолчанию, и вы должны увидеть графики, собранные для ваших отслеживаемых устройств.
Вот и все! Вы успешно установили и настроили Cacti с помощью средства объединения Cacti-Spine из исходных кодов в последних выпусках Debian 9 и Ubuntu 16.04. LTS сервер.