Zabbix — это универсальная система мониторинга, способный отслеживать динамику работы серверов, сетевого оборудования, быстро реагировать на внештатные ситуации и предупреждать возможные проблемы с нагрузкой. Система мониторинга Zabbix может собирать статистику в указанной рабочей среде и действовать в определенных случаях заданным образом.
Ознакомиться с тарифами VPS хостинга можно тут
Подготовка
В первую очередь необходимо подключить в ОС репозиторий Zabbix
Debian 10
wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bdebian10_all.deb
dpkg -i zabbix-release_6.0-4+debian10_all.deb
apt update
Debian 11
wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bdebian11_all.deb
dpkg -i zabbix-release_6.0-4+debian11_all.deb
apt update
Ubuntu 20.04
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu20.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
apt update
В Ubuntu 20.04 могут быть ошибки вида:
E: The repository 'https://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu focal Release' does not have a Release file.
E: The repository 'https://repo.zabbix.com/zabbix/6.0/ubuntu focal Release' does not have a Release file.
Чтобы их исправить, необходимо в файле /etc/ca-certificates.conf закомментировать сертификат, начинающийся на DST, потом в директории /etc/ssl/certs удалить файл DST_Root_CA_X3.pem и ввести в терминале update-ca-certificates -f -v.
Ubuntu 22.04
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
apt update
Внимание!!!
На сервере должны быть установлены веб-сервер (Apache или NGINX) и СУБД (MySQL или PostgreSQL), а также PHP. Можно взять сервер с предустановленным рецептом LAMP или LEMP.
Установка Zabbix на VPS хостинг
1. Устанавливаем zabbix сервер, веб-интерфейс и агент.
Для веб-сервера Apache и СУБД MySQL:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Для веб-сервера NGINX и СУБД MySQL:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
2. Создайте базу данных (zabbix), пользователя (zabbix) и пароль (password).
Название БД, имя пользователя и пароль введите свои. Для этого нам может потребоваться пароль root от MySQL.
mysql -uroot -p
Введите пароль пользователя root СУБД и нажмите Enter, либо просто нажмите Enter, если пароля нет.
Откроется терминал MySQL (mysql> или MariaDB [(none)]>), в нем поочередно введите:
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> exit;
3. Теперь необходимо импортировать базу данных zabbix:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Вводим пароль пользователя, которого мы создали ранее (password).
4. Заходим в терминал СУБД MySQL и выключаем опцию log_bin_trust_function_creators:
mysql -uroot -p
mysql> set global log_bin_trust_function_creators = 0;
mysql> exit;
5. Необходимо отредактировать файл /etc/zabbix/zabbix_server.conf с помощью любого текстового редактора.
Находим строку
№ DBPassword=
или
DBPassword=
раскомментируем ее и указываем пароль пользователя zabbix:
DBPassword= password
6. Настройка веб-сервера.
Apache: необходимо просто запустить веб-сервер и включить его автозагрузку:
systemctl restart apache2
systemctl enable apache2
NGINX: необходимо отредактировать файл /etc/zabbix/nginx.conf. Раскомментируйте и настройте директивы listen и server_name:
listen 8080;
server_name example.com;
7. Запустите Zabbix и включаем их в автозагрузку:
systemctl restart zabbix-server zabbix-agent
systemctl enable zabbix-server zabbix-agent