Thank you for reading this post, don't forget to subscribe!
Cacti - это открытый графический инструмент мониторинга сети и систем. Cacti регулярно получает от наблюдаемых систем данные и строит по ним графики используя RRDtool. Обычно используется для графического отображения изменения во времени таких метрик как пропускная способность, нагрузка на CPU, дисковое пространство и т.д. Для обращения к сервиса Cacti использует SNMP протокол.
Установку системы мониторинга будем производить на операционную систему СentOs7
Установка необходимых пакетов
Установка веб-сервера Apache:
sudo yum install -y httpd httpd-devel
Установка СУБД Mariadb:
sudo install -y mariadb-server
Установка PHP:
sudo yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-snmp
Изменяем временную зону для PHP, в файле /etc/php.ini в разделе "Date" раскомментируем строку date.timezone и присваиваем ей значение
1 |
date.timezone = Europe/Moscow |
Установка SNMP:
sudo yum install net-snmp-utils net-snmp-libs
Установка RRDTools:
sudo yum install rrdtool
Запустим установленные сервисы и добавим их в автозагрузку:
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl start snmpd
sudo systemctl enable snmpd
sudo systemctl start httpd
sudo systemctl enable httpd
Установка Cacti
Подключаем репозиторий EPEL
sudo yum install -y epel-release
Устанавливаем пакет cacti
sudo yum install -y cacti
Настройка сервисов
настройка СУБД Mariadb
Запускаем скрипт предварительной настройки Mariadb
sudo mysql_secure_installation
Вводим пароль root и отвечаем на все вопросы "Yes"
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we"ll need the current password for the root user. If you"ve just installed MariaDB, and you haven"t set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on… Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y … Success! Normally, root should only be allowed to connect from "localhost". This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y … Success! By default, MariaDB comes with a database named "test" that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database… … Success! - Removing privileges on test database… … Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y … Success! Cleaning up… All done! If you"ve completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
Создадим базу данных и пользователя для cacti
mysql -u root -p
1 2 3 |
MariaDB [(none)]> <strong>CREATE DATABASE cactidb;</strong> Query OK, 1 row affected (0.00 sec) |
1 2 3 4 |
MariaDB [(none)]> <strong>GRANT ALL PRIVILEGES ON cactidb.* TO -> "cacti_user"@"localhost" IDENTIFIED BY "1111";</strong> Query OK, 0 rows affected (0.00 sec) |
1 2 3 |
MariaDB [(none)]> <strong>FLUSH PRIVILEGES;</strong> Query OK, 0 rows affected (0.00 sec) |
1 2 3 |
MariaDB [(none)]> <strong>exit</strong> Bye |
Установка таблиц caacti в базу данных
Найдем расположение sql файла для cacti
sudo rpm -ql cacti | grep cacti.sql
Устанавливаем таблицы
mysql -u root -p cactidb < /usr/share/doc/cacti-1.1.26/cacti.sql
Настроим подключение cacti к базе данных в файле /etc/cacti/db.php
cat /etc/cacti/db.php
1 2 3 4 5 6 7 8 9 10 |
... $database_type = "mysql"; $database_default = "cactidb"; $database_hostname = "localhost"; $database_username = "cacti_user"; $database_password = "1111"; $database_port = "3306"; $database_ssl = false; ... |
Настройка веб-сервера Apache
Идем в файле настройки виртуального хоста для cacti /etc/httpd/conf.d/cacti.conf и правим секцию с разрешение доступа:
cat /etc/httpd/conf.d/cacti.conf
1 2 3 4 5 6 7 8 9 10 11 |
... Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require all granted </IfModule> </Directory> ... |
Перезапускаем веб-сервер
httpd -t
1 2 |
Syntax OK |
sudo systemctl restart httpd
Настройка cron для работы Cacti
В файле /etc/cron.d/cacti раскомментируем строку
1 2 |
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1 |
Установка Cacti
Заходим на веб-интерфейс сервера и продолжаем установку http://ip-адрес/cacti
Принимаем лицензионное соглашение
Далее перехоим к странице проверки предустановочных настроек, если будет ошибки о поддержке mysql timezone тогда выполним следующие действия:
Добавим пользователю баззы данных cacti_user привелегию "SELECT" для двух таблиц из базы данных mysql
1 2 3 |
MariaDB [mysql]> <strong>GRANT SELECT ON mysql.time_zone TO "cacti_user"@"localhost";</strong> Query OK, 0 rows affected (0.00 sec) |
1 2 3 |
MariaDB [mysql]> <strong>GRANT SELECT ON mysql.time_zone_name TO "cacti_user"@"localhost";</strong> Query OK, 0 rows affected (0.00 sec) |
Выполним следующий скрипт:
sudo mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Теперь можно продолжить настройку Cacti
Жмем далее
Выбираем тип установки "New Primary Server"
Страница с указанием расположения файлов необходимых для работы Cacti
Проверка разрешения доступа к директориям
Выбор шаблонов для установки
Жмем "Finish"
После окончания установки попадаем в окно входа в систему, вводим учетные данные администратора cacti, по-умолчанию admin пароль admin
Нам будет предложено ввести новый пароль для администратора (пароль должен содержать не меньше 8 символов и один специальный символ)
Cacti успешно установлен