Доброго времени суток. Сегодня рассмотрим установку сервера для системы мониторинга Zabbix, данная система позволяет контролировать параметры серверов и любых компьютеров так как есть возможность установить агент zabbix на компьютер которые будет под контролем.
И так развертывания сервера мониторинга zabbix на понадобиться произвести подготовку сервера Centos.
1. Актуализировать дату и время и отключить Selinux.
Для этого установим правильную временную зону в мое случае это Екатеринбург.
\cp /usr/share/zoneinfo/Asia/Yekaterinburg /etc/localtime
После этого устанавливаем службу синхронизации времени chrony командой
yum install chrony
Далее разрешаем автозапуск командой и запустим эту службу.
systemctl enable chronyd
systemctl start chronyd
Для работы так же потребуется настроить файервол, так как для работы нам нужны будут открытые порты:
Протокол TCP 80, 443(для работы веб-интерфейса), 10051, 10050,(порты для обмена данными между сервером и агентом Zabbix)
Протокол UDP 10050, 10051
Сделать это можно командой.
firewall-cmd --permanent --add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp}
И после того как получил ответ Success, нужно будет перезапустить файерволл командой
firewall-cmd --reload
Так же нужно будет отключить Selinux проверить отключен он или нет можно командой sestatus получим такой ответ.
Отключаем изменением параметра SELINUX=enforcing на SELINUX=disabled в файле /etc/selinux/config.
2. Теперь нам нужно установить и настроить веб-сервер, СУБД и PHP.
2.1 Установим веб сервер Apache
yum install httpd
После этого разрешим автозапуск службы командой и запустим службу
systemctl enable httpd
systemctl start httpd
2.2 Установим СУБД MariaDB.
yum install mariadb mariadb-server
Так же разрешаем автозапуск и заупскаем службу и дополнительно задаем пароль для суперпользователя СУБД.
systemctl enable mariadb
systemctl start mariadb
mysqladmin -u root password
2.3 Установка PHP.
Так как веб-интерфейс zabbix 5.0 написан на php нам нужно будет установить этот пакет версии не ниже 7.2 и настроить его на веб сервер.
Для этого установим менеджер хранилища пакетов centos-release-scl.
yum install centos-release-scl
В RHEL включим репозиторий RHSCL для вашей системы:
yum-config-manager --enable rhel-server-rhscl-7-rpms
Установим пакет rh-php72
yum install rh-php72 rh-php72-php-fpm -y
разрешим использовать коллекцию rh-php72
scl enable rh-php72 bash
После этого произведем настройки PHP открыв файл /etc/opt/rh/rh-php72/
date.timezone = "Asia/Yekaterinburg" //Установим временную зону
max_execution_time = 300 //максимальное время выполнение скрипта
post_max_size = 16M //Максимальный размер скрипта
max_input_time = 300 //Максимальное время для разбора всех входных данных
max_input_vars = 10000 //Максимальное количество входных переменных в одном запросе
После этого запустим rh-php72-php-fpm
systemctl restart rh-php72-php-fpm
systemctl restart rh-php72-php-fpm
3. Приступим к установке zabbix сервера.
Установка будет произведена из официального репозитория.
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
Далее устанавливаем Zabbix сервер и поддержку Mysql
yum install zabbix-server-mysql zabbix-agent
Включаем Red Hat Software Collections
yum-config-manager --enable rhel-server-rhscl-7-rpms
Отредактируем файл /etc/yum.repos.d/zabbix.repo и включим репозиторий zabbix-frontend.
[zabbix-frontend]
...
enabled=1
...
Установим пакеты веб-интерфейса Zabbix.
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
4. Подготавливаем СУБД для работы с Zabbix.
Для подготовки базы данных для работы с Zabbix нам нужно войти в консоль Mysql данной командой, будет предложено ввести пароль который мы указали для суперпользователя базы данных.
mysql -uroot -p
После этого создадим базу данны и пользователя c паролем для этой баззый данных под которым будем подключаться из zabbix.
create database zabbix character set utf8 collate utf8_bin;
create user 'zabbix'@'localhost' identified BY 'zabbix_db_password';
После этого новоиспеченному пользователю предоставим доступ к базе zabbix, применим привелегии и выйдем из консоли.
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
flush privileges;
quit;
На сервере Zabbix импортируйте начальную схему и данные в базу данных. Вам будет предложено ввести недавно созданный пароль.
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Выключаем опцию log_bin_trust_function_creators после импорта схемы базы данных.
mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
4.1 Для настройки базы данных для сервера Zabbix отредактируем в файле /etc/zabbix/zabbix_server.conf параметр DBPassword
DBPassword=password
4.2 Для настройки php для веб-интерфейса отредактируем файл /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf раскомментируем строку и укажите свой часовой пояс
php_value[date.timezone] = Asia/Yekaterinburg
После всех настроек перезапустим процессы Zabbix и PHP
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
После всех действий открываем браузер и открывает адресс http://Ip_сервера/zabbix, нас встретит окно настроек. Значит настроили все верно. По окончнаию настроек будет окно с вводом Логина и Пароля для входа в веб-интерфейс для управления, по умолчанию Логин Admin и пароль zabbix. Надеюсь данная статья вам была полезна. Всего хорошего.