Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Zabbix на Ubuntu Server.

Zabbix - это решение распределенного мониторинга корпоративного класса с открытыми исходными кодами.

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 20.04 LTS.

Подробно о том, как установить Ubuntu Server 20.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 20.04 LTS”.

Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.

Для установки OpenSSH на сервер вы можете воспользоваться командой:

sudo apt install openssh-server

Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY - свободно распространяемым клиентом для различных протоколов удаленного доступа, включая SSH, Telnet, rlogin.

В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.

Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к вашему серверу:

  • 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
  • 443 - для доступа к веб-интерфейсу Zabbix.
  • 10050 - для работы Zabbix Agent.
  • 10051 - для работы Zabbix Trapper.

Подключаемся к серверу, на который планируется установить Zabbix.

Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.

Теперь необходимо загрузить и установить пакет конфигурации репозитория Zabbix.

Загрузим пакет конфигурации репозитория Zabbix с помощью команды:

wget https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb

Установка Zabbix на Ubuntu Server

Установим пакет конфигурации репозитория Zabbix с помощью команды:

sudo dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb

Установка Zabbix на Ubuntu Server

Обновим локальный индекс пакетов до последних изменений в репозиториях с помощью команды:

sudo apt update

Установка Zabbix на Ubuntu Server

Теперь установим пакеты, необходимые для работы Multicraft, с помощью команды:

sudo apt install -y apache2 apt-transport-https certbot python3-certbot-apache mysql-server zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent

Обратите внимание, в данном руководстве в качестве системы для управления базами данных будет использоваться MySQL, а в качестве веб-сервера - Apache.

Установка Zabbix на Ubuntu Server

Включаем модуль веб-сервера Apache под названием “rewrite” с помощью команды:

sudo a2enmod rewrite

Обратите внимание, модуль “rewrite” является одним из самых часто используемых модулей веб-сервера Apache и предоставляет гибкий и мощный способ манипулирования URL-адресами.

Установка Zabbix на Ubuntu Server

Теперь нужно создать файл виртуального хоста (в Nginx называется блок), с которым в дальнейшем будет работать Zabbix.

Создадим файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:

sudo vim /etc/apache2/sites-available/zabbix.heyvaldemar.net.conf

В данном руководстве для доступа к панели управления Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.

Установка Zabbix на Ubuntu Server

Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.

В данном руководстве для доступа к Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.

Установка Zabbix на Ubuntu Server

Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.

Установка Zabbix на Ubuntu Server

Активируем созданный виртуальный хост с помощью команды:

sudo a2ensite zabbix.heyvaldemar.net.conf

В данном руководстве для доступа к панели управления Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.

Установка Zabbix на Ubuntu Server

Деактивируем виртуальный хост, созданный по умолчанию, с помощью команды:

sudo a2dissite 000-default.conf

Установка Zabbix на Ubuntu Server

Убедимся, что в синтаксисе нового конфигурационного файла Apache нет ошибок, с помощью команды:

sudo apache2ctl configtest

Установка Zabbix на Ubuntu Server

Перезапустим Apache, чтобы применить внесенные изменения, с помощью команды:

sudo systemctl restart apache2

Установка Zabbix на Ubuntu Server

Проверим, что Apache успешно запустился, с помощью команды:

sudo systemctl status apache2

Установка Zabbix на Ubuntu Server

Теперь, чтобы повысить уровень безопасности веб-сервера, необходимо получить криптографический сертификат для домена или субдомена, по которому ваш Zabbix будет доступен из сети Интернет.

Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.

В данном руководстве для доступа к панели управления Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.

Запросим криптографический сертификат с помощью команды:

sudo certbot --apache -d zabbix.heyvaldemar.net

Установка Zabbix на Ubuntu Server

Далее указываем адрес электронной почты, на который Let’s Encrypt будет присылать уведомления об истечении срока криптографического сертификата, и нажимаем на кнопку “Enter”.

Установка Zabbix на Ubuntu Server

На следующем этапе необходимо прочитать и принять условия использования предоставляемых сервисов.

Нажимаем на кнопку “a”, затем “Enter”, если вы согласны с условиями использования предоставляемых сервисов.

Установка Zabbix на Ubuntu Server

На следующем этапе необходимо выбрать: хотите ли вы поделиться указанным ранее адресом электронной почты с Electronic Frontier Foundation для получения информационных рассылок.

Нажимаем на кнопку “n”, затем “Enter”.

Установка Zabbix на Ubuntu Server

На следующем этапе необходимо выбрать: хотите ли вы, чтобы в конфигурационный файл Apache были автоматически добавлены параметры для автоматического перенаправления HTTP-трафика на HTTPS.

Нажимаем на кнопку “2”, затем “Enter”.

Установка Zabbix на Ubuntu Server

Обратите внимание, криптографические сертификаты, полученные через центр сертификации Let’s Encrypt, действительны в течение девяноста дней. Certbot автоматически добавляет скрипт для обновления сертификата в планировщик задач, и скрипт запускается два раза в день, автоматически обновляя любой криптографический сертификат, срок действия которого истекает в течение тридцати дней.

Проверить работоспособность процесса обновления криптографического сертификата можно с помощью команды:

sudo certbot renew --dry-run

Установка Zabbix на Ubuntu Server

Теперь настроим MySQL для последующей работы с Zabbix.

Для начала необходимо запустить скрипт “mysql_secure_installation”, который предназначен для обеспечения базового уровня безопасности MySQL.

Запускаем скрипт с помощью команды:

sudo mysql_secure_installation

Установка Zabbix на Ubuntu Server

Далее необходимо ответить на несколько вопросов для обеспечения базового уровня безопасности MySQL.

Первый вопрос о том, хотите ли вы воспользоваться плагином для проверки надежности пароля, который необходимо будет задать позже для пользователя “root”, обладающего правами администратора в MySQL.

Нажимаем на кнопку “y”, затем “Enter”.

Установка Zabbix на Ubuntu Server

На следующем этапе необходимо выбрать уровень проверки сложности пароля, который необходимо будет задать позже для пользователя “root”, обладающего правами администратора в MySQL.

В данном руководстве мы будем рассматривать самый высокий уровень проверки надежности пароля для пользователя “root”.

Нажимаем на кнопку “2”, затем “Enter”.

Установка Zabbix на Ubuntu Server

На следующем этапе необходимо указать надежный пароль для пользователя “root”, обладающего правами администратора в MySQL.

Указываем надежный пароль для пользователя “root” и нажимаем на кнопку “Enter”.

Установка Zabbix на Ubuntu Server

Далее указываем пароль для пользователя “root” еще раз и нажимаем на кнопку “Enter”.

Установка Zabbix на Ubuntu Server

Следующий вопрос о том, хотите ли вы перейти к следующему шагу по настройке базового уровня безопасности MySQL с полученным значением надежности пароля.

Обратите внимание, если указанный вами пароль будет иметь значение “Estimated strength of the password” менее 100, то значит, что указанный вами ранее пароль для пользователя “root” не достаточно надежный, и нужно указать более надежный пароль.

В данном руководстве значение “Estimated strength of the password” равно 100, что говорит о том, что указанный ранее пароль является достаточно надежным.

Нажимаем на кнопку “y”, затем “Enter”.

Установка Zabbix на Ubuntu Server

Следующий вопрос о том, хотите ли вы удалить анонимных пользователей.

Нажимаем на кнопку “y”, затем “Enter”.

Установка Zabbix на Ubuntu Server

Следующий вопрос о том, хотите ли вы отключить возможность удаленного подключения к MySQL для пользователя “root”.

Нажимаем на кнопку “y”, затем “Enter”.

Установка Zabbix на Ubuntu Server

Следующий вопрос о том, хотите ли вы удалить тестовые базы данных.

Нажимаем на кнопку “y”, затем “Enter”.

Установка Zabbix на Ubuntu Server

Теперь необходимо применить внесенные изменения.

Нажимаем на кнопку “y”, затем “Enter”.

Установка Zabbix на Ubuntu Server

Теперь необходимо создать базу данных, которую в дальнейшем будет использовать Zabbix, а также пользователя с необходимыми правами в эту базу данных.

Подключаемся к консоли управления MySQL с помощью команды:

sudo mysql -u root -p

Установка Zabbix на Ubuntu Server

Указываем пароль от учетной записи “root”, заданный ранее, и нажимаем на кнопку “Enter”.

Установка Zabbix на Ubuntu Server

В данном руководстве в качестве имени базы данных для Zabbix будет использоваться “zabbixdb”.

Создадим базу данных, которую в дальнейшем будет использовать Zabbix, с помощью команды:

CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin;

Установка Zabbix на Ubuntu Server

В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, будет использоваться “zabbixdbuser” с паролем “c@e3]Y88n)63}^4w^43]”.

Создаем пользователя и назначаем ему пароль с помощью команды:

CREATE USER 'zabbixdbuser'@'localhost' IDENTIFIED BY 'c@e3]Y88n)63}^4w^43]';

Установка Zabbix на Ubuntu Server

Выдаем новому пользователю права на ранее созданную базу данных с помощью команды:

GRANT ALL ON zabbixdb.* TO 'zabbixdbuser'@'localhost';

Установка Zabbix на Ubuntu Server

Применим внесенные изменения с помощью команды:

FLUSH PRIVILEGES;

Установка Zabbix на Ubuntu Server

Отключаемся от консоли управления MySQL с помощью команды:

quit

Установка Zabbix на Ubuntu Server

Теперь необходимо настроить схему и импортировать данные в ранее созданную базу данных для работы Zabbix.

В данном руководстве в качестве имени базы данных для работы Zabbix используется “zabbixdb”.

В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, используется “zabbixdbuser”.

Настроим схему и импортируем данные в ранее созданную базу данных с помощью команды:

zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbixdbuser -p zabbixdb

Установка Zabbix на Ubuntu Server

Указываем пароль от учетной записи “zabbixdbuser”, заданный ранее и нажимаем на кнопку “Enter”.

Установка Zabbix на Ubuntu Server

Теперь необходимо внести изменения в конфигурационный файл Zabbix, открыв его в текстовом редакторе с помощью команды:

sudo vim /etc/zabbix/zabbix_server.conf

Установка Zabbix на Ubuntu Server

В данном руководстве база данных для работы Zabbix находится на одном сервере с Zabbix.

Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, находим параметр “DBHost” и раскомментируем его, удалив символ “#”. Затем указываем для параметра значение “localhost”.

В данном руководстве в качестве имени базы данных для работы Zabbix используется “zabbixdb”.

Находим параметр “DBName” и указываем для параметра значение “zabbixdb”.

В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, используется “zabbixdbuser”.

Находим параметр “DBUser” и указываем для параметра значение “zabbixdbuser”.

Находим параметр “DBPassword” и раскомментируем его, удалив символ “#”. Затем в качестве значения для параметра указываем пароль, присвоенный пользователю “zabbixdbuser”.

Установка Zabbix на Ubuntu Server

Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.

Установка Zabbix на Ubuntu Server

Теперь необходимо внести изменения в конфигурационный файл Apache, открыв его в текстовом редакторе с помощью команды:

sudo vim /etc/zabbix/apache.conf

Установка Zabbix на Ubuntu Server

Далее находим параметр “php_value date.timezone Europe/Riga” в разделе “IfModule mod_php7.c” и раскомментируем его, удалив символ “#”. Затем указываем вместо “Europe/Riga”, часовой пояс, в котором находится ваш сервер Zabbix.

Список поддерживаемых часовых поясов можно найти по ссылке.

Установка Zabbix на Ubuntu Server

Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.

Установка Zabbix на Ubuntu Server

Перезапустим Zabbix, Zabbix Agent и Apache, чтобы применить внесенные изменения, с помощью команды:

sudo systemctl restart zabbix-server zabbix-agent apache2

Установка Zabbix на Ubuntu Server

Проверим, что Zabbix успешно запустился, с помощью команды:

sudo systemctl status zabbix-server

Установка Zabbix на Ubuntu Server

Проверим, что Zabbix Agent успешно запустился, с помощью команды:

sudo systemctl status zabbix-agent

Установка Zabbix на Ubuntu Server

Проверим, что Apache успешно запустился, с помощью команды:

sudo systemctl status apache2

Установка Zabbix на Ubuntu Server

Включаем автозапуск Zabbix, Zabbix Agent и Apache при запуске операционной системы с помощью команды:

sudo systemctl enable zabbix-server zabbix-agent apache2

Установка Zabbix на Ubuntu Server

Для продолжения процесса установки Zabbix необходимо с рабочей станции перейти по ссылке https://zabbix.heyvaldemar.net/setup.php, где zabbix.heyvaldemar.net - имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера Zabbix.

Нажимаем на кнопку “Next step”.

Установка Zabbix на Ubuntu Server

Далее установщик проверит, что все требования для корректной установки Zabbix соблюдены.

Нажимаем на кнопку “Next step”.

Установка Zabbix на Ubuntu Server

Теперь необходимо указать систему для управления базами данных и ранее созданную базу данных, которая будет использоваться для работы Zabbix.

В поле “Database type” выбираем “MySQL”.

В данном руководстве база данных для работы Zabbix находится на одном сервере с Zabbix.

В поле “Database host” указываем “localhost”.

В поле “Database port” указываем значение “0”, чтобы использовать порт по умолчанию, для подключения базы данных.

В данном руководстве в качестве имени базы данных для работы Zabbix используется “zabbixdb”.

В поле “Database name” указываем “zabbixdb”.

В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, используется “zabbixdbuser”.

В поле “User” указываем “zabbixdbuser”.

В поле “Password” указываем пароль, присвоенный пользователю “zabbixdbuser”.

Нажимаем на кнопку “Next step”.

Установка Zabbix на Ubuntu Server

Далее необходимо указать сведения о вашем сервере Zabbix.

В поле “Host” указываем “localhost”.

В поле “Port” указываем “10051”.

Нажимаем на кнопку “Next step”.

Установка Zabbix на Ubuntu Server

Проверяем, что часовой пояс установлен корректно и нажимаем на кнопку “Next step”.

Установка Zabbix на Ubuntu Server

Далее нажимаем на кнопку “Next step” для сохранения изменений.

Установка Zabbix на Ubuntu Server

Все готово для использования Zabbix.

Нажимаем на кнопку “Finish”.

Установка Zabbix на Ubuntu Server

Теперь можно войти в панель управления Zabbix под учетной записью администратора Zabbix.

Логин для учетной записи администратора Zabbix по умолчанию: Admin

Пароль для учетной записи администратора Zabbix по умолчанию: zabbix

Указываем имя пользователя и пароль учетной записи, обладающей правами администратора Zabbix, и нажимаем на кнопку “Sign in”.

Установка Zabbix на Ubuntu Server

Добро пожаловать в панель управления Zabbix.

Установка Zabbix на Ubuntu Server

Владимир Михалев
Привет, я Владимир Михалев, но друзья зовут меня Вальдемарыч. Я обладаю практическим опытом проектирования и сопровождения различных информационных систем.