Пост

Установка Zabbix 4.2 и MySQL-сервер Percona 8 на Centos 7

Установка Zabbix 4.2 и MySQL-сервер Percona 8 на Centos 7

Zabbix — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым. Для хранения данных используется MySQL, PostgreSQL, SQLite или Oracle Database, веб-интерфейс написан на PHP.

Подготовка к установке Zabbix

Подключаем репозитории EPEl и REMI

1
2
$ sudo yum -y install epel-release
$ sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Устанавливаем необходимые утилиты

1
$ sudo yum -y install htop nano mc wget zip unzip yum-utils

Подключаем репозиторий Zabbix и обновляемся

1
2
$ rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
$ sudo yum update

Web-интерфейс Zabbix требует дополнительные пакеты, которые отсутствуют в базовой установке. Необходимо активировать репозиторий опциональных rpm пакетов в системе

1
$ sudo yum-config-manager --enable rhel-7-server-optional-rpms

Установка Percona 8

Подключаем репозиторий Percona и переключаемся на версию Percona 8

1
2
$ rpm -ivh https://repo.percona.com/yum/percona-release-latest.noarch.rpm
$ sudo percona-release setup ps80

Устанавливаем Percona Server, запускаем его и добавляем в автозагрузку

1
2
3
$ sudo yum -y install percona-server-server
$ sudo systemctl start mysqld
$ sudo systemctl enable mysqld

Смотрим дефолтный root-пароль

1
2
$ grep -i password /var/log/mysqld.log
2019-08-07T10:03:19.576146Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: f.pjp.N?S1&q

Меняем его

1
2
$ sudo mysql_secure_installation
%your_password%

Подключаемся к MySQL, создаем базу, пользователя и задаем пароль

1
2
3
4
5
$ mysql -uroot -p'%your_password%'
> create database zabbix character set utf8 collate utf8_bin;
> create user 'zabbix'@'localhost' IDENTIFIED BY '%your_password%';
> grant all privileges on zabbix.* to 'zabbix'@'localhost';
> quit;

Установка Zabbix

Устанавливаем Zabbix

1
$ sudo yum -y install zabbix-server-mysql zabbix-web-mysql

Импортируем изначальную схему и данные сервера на MySQL

1
$ zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Возможные ошибки.
У меня в определенном моменте выскочила ошибка:

Authentication plugin ‘caching_sha2_password’ cannot be loaded

Решение:
Подключаемся к базе и выполняем команду

1
2
3
$ mysql -uroot -p'%your_password%'
> ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY '%your_password%';
> quit;

Прописываем настройки подключения к базе в конфигурационном файле Zabbix

1
2
3
4
5
$ sudo nano /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=%your_password%

Запускаем Zabbix-Сервер и добавляем его в автозагрузку

1
2
$ sudo systemctl start zabbix-server
$ sudo systemctl enable zabbix-server

Конфигурация Apache для Zabbix Web-интерфейса располагается в /etc/httpd/conf.d/zabbix.conf. В ней надо раскомментировать и прописать наше значение date.timezone

1
2
3
4
$ sudo nano /etc/httpd/conf.d/zabbix.conf
...
php_value date.timezone Europe/Moscow
...

Перезапускаем Web-сервер Apache

1
$ sudo systemctl restart httpd

Открываем в Firewall порты 80 и 443

1
2
3
$ sudo firewall-cmd --zone=public --permanent --add-port=443/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
$ sudo firewall-cmd --reload

Теперь можно завершать установку Zabbix через Web-интерфейс. Для этого открываем браузер и переходим: http://%ip-adress%/zabbix

Настройка SELinux

Если состояние SELinux в принудительном режиме, необходимо выполнить следующие команды, чтобы разрешить соединения между Zabbix Web-интерфейсом и сервером:

1
2
$ sudo setsebool -P httpd_can_connect_zabbix on
$ sudo setsebool -P httpd_can_network_connect_db on

Возможные ошибки.
При запуске Zabbix сервера в логах выскакивает ошибка:

cannot start alert manager service: Cannot bind socket to “/var/run/zabbix/zabbix_server_alerter.sock”

Это связано с SELinux, отключаем его:

1
2
3
$ sudo setenforce 0
$ sudo nano /etc/selinux/config
SELINUX=disabled

UPD: На одном из форумов нашел решение, но не проверял его

1
$ sudo grep AVC /var/log/audit/audit.log* | audit2allow -M systemd-allow; semodule -i systemd-allow.pp

Установка Zabbix агента

Устанавливаем Zabbix агент, запускаем его и добавляем в автозагрузку

1
2
3
$ sudo yum -y install zabbix-agent
$ sudo systemctl start zabbix-agent
$ sudo systemctl enable zabbix-agent

Административный доступ в Zabbix по-умолчанию:

Login: Admin
Password: zabbix

Авторский пост защищен лицензией CC BY 4.0 .