Thank you for reading this post, don't forget to subscribe!
Zabbix — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым. Для хранения данных используется MySQL, PostgreSQL, SQLite или Oracle Database, веб-интерфейс написан на PHP.
Подготовка к установке Zabbix
Подключаем репозитории EPEl и REMI
1 2 |
[root@localhost]# yum -y install epel-release [root@localhost]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm |
Устанавливаем необходимые утилиты
1 |
[root@localhost]# yum -y install htop nano mc wget zip unzip yum-utils |
Подключаем репозиторий Zabbix и обновляемся
1 2 |
[root@localhost]# rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm [root@localhost]# yum update |
Веб-интерфейс Zabbix требует дополнительные пакеты, которые отсутствуют в базовой установке. Необходимо активировать репозиторий опциональных rpm пакетов в системе
1 |
[root@localhost]# yum-config-manager --enable rhel-7-server-optional-rpms |
Установка MySQL-сервер Percona 8
Подключаем репозиторий Percona и переключаемся на версию Percona 8
1 2 |
[root@localhost]# rpm -ivh https://repo.percona.com/yum/percona-release-latest.noarch.rpm [root@localhost]# percona-release setup ps80 |
Устанавливаем Percona-server, запускаем его и добавляем в автозагрузку
1 2 3 |
[root@localhost]# yum -y install percona-server-server [root@localhost]# systemctl start mysqld [root@localhost]# systemctl enable mysqld |
Смотрим дефолтный root-пароль
1 2 |
[root@zabbix ~]# 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 |
[root@localhost]# mysql_secure_installation %your_password% |
Подключаемся к MySQL, создаем базу, пользователя и задаем пароль
[codesyntax lang="php"]
1 2 3 4 5 |
[root@localhost]# mysql -uroot -p'%your_password%' mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user 'zabbix'@'localhost' IDENTIFIED BY '%your_password%'; mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost'; mysql> quit; |
[/codesyntax]
Установка Zabbix
Устанавливаем Zabbix
1 |
[root@localhost]# yum -y install zabbix-server-mysql zabbix-web-mysql |
Импортируем изначальную схему и данные сервера на MySQL
1 |
[root@localhost]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix |
Возможные ошибки.
У меня в определенном моменте выскочила ошибка:
Authentication plugin ‘caching_sha2_password’ cannot be loaded
Решение:
Подключаемся к базе и выполняем команду:
[root@localhost]# mysql -uroot -p'%your_password%'
mysql> ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY '%your_password%';
mysql> quit;
Прописываем настройки подключения к базе в конфигурационном файле Zabbix
1 2 3 4 5 |
[root@localhost]# nano /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=%your_password% |
Запускаем Zabbix-Сервер и добавляем его в автозагрузку
1 2 |
[root@localhost]# systemctl start zabbix-server [root@localhost]# systemctl enable zabbix-server |
Конфигурация Apache для Zabbix веб-интерфейса располагается в /etc/httpd/conf.d/zabbix.conf. В ней надо раскоментировать и прописать наше значение date.timezone
1 2 3 4 |
[root@localhost]# nano /etc/httpd/conf.d/zabbix.conf ... php_value date.timezone Europe/Moscow ... |
Перезапускаем web-сервер Apache
1 |
[root@localhost]# systemctl restart httpd |
Открываем в файерволле порты 80 и 443
1 2 3 |
[root@localhost]# firewall-cmd --zone=public --permanent --add-port=443/tcp [root@localhost]# firewall-cmd --zone=public --permanent --add-port=80/tcp [root@localhost]# firewall-cmd --reload |
Теперь можно завершать установку Zabbix через вэб-интерфейс. Для этого открываем браузер и переходим: http://%ip-adress%/zabbix
Настройка SELinux
Если состояние SELinux в принудительном режиме, необходимо выполнить следующие команды, чтобы разрешить соединения между Zabbix веб-интерфейсом и сервером:
1 2 |
[root@localhost]# setsebool -P httpd_can_connect_zabbix on [root@localhost]# 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»
Это связано с SELinix, отключаем его:
1 2 3 |
[root@localhost]# setenforce 0 [root@localhost]# nano /etc/selinux/config SELINUX=disabled |
UPD: На одном из форумов нашел решение, но не проверял его
1 |
[root@localhost]# grep AVC /var/log/audit/audit.log* | audit2allow -M systemd-allow; semodule -i systemd-allow.pp |
Установка Zabbix агента
Устанавливаем Zabbix-агент, запускаем его и добавляем в автозагрузку
1 2 3 |
[root@localhost]# yum -y install zabbix-agent [root@localhost]# systemctl start zabbix-agent [root@localhost]# systemctl enable zabbix-agent |
Админский доступ в Zabbix по-умолчанию:
Login: Admin
Password: zabbix