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

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

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

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

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

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

sudo apt-get install openssh-server

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

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

В данном руководстве для доступа к панели управления ServiceDesk Plus будет использоваться субдомен sdp.heyvaldemar.net.

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

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

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

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

Добавим репозиторий Certbot с помощью команды:

sudo add-apt-repository ppa:certbot/certbot

Нажимаем на кнопку «Enter», чтобы подтвердить добавление нового репозитория.

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

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

wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb

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

sudo dpkg -i zabbix-release_4.0-3+bionic_all.deb

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

sudo apt update

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

sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-agent certbot python-certbot-apache

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

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

sudo a2enmod rewrite

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

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

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

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

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

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

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

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

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

sudo a2ensite zabbix.heyvaldemar.net.conf

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

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

sudo a2dissite 000-default.conf

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

sudo apache2ctl configtest

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

sudo systemctl restart apache2

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

sudo systemctl status apache2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo certbot renew --dry-run

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

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

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

sudo mysql_secure_installation

Теперь будет предложено указать пароль для пользователя «root», обладающего правами администратора в MySQL.

По умолчанию пароль для пользователя «root» не задан.

Нажимаем на кнопку «Enter».

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

На следующем шаге будет предложено задать пароль для пользователя «root», обладающего правами администратора в MySQL.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo mysql -u root -p

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

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

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

CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin;

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

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

GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixdbuser'@'localhost' IDENTIFIED BY 'c@e3]Y88n)63}^4w^43]';

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

FLUSH PRIVILEGES;

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

quit

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

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

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

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

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

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

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

sudo vim /etc/zabbix/zabbix_server.conf

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

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

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

Находим параметр «DBName» и раскомментируем его, удалив символ «#». Затем указываем для параметра значение «zabbixdb».

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

Находим параметр «DBUser» и раскомментируем его, удалив символ «#». Затем указываем для параметра значение «zabbixdbuser».

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

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

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

sudo vim /etc/zabbix/apache.conf

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

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

Список поддерживаемых часовых поясов можно найти по ссылке https://www.php.net/manual/en/timezones.php.

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

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

sudo systemctl restart zabbix-server zabbix-agent apache2

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

sudo systemctl status zabbix-server

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

sudo systemctl status zabbix-agent

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

sudo systemctl status apache2

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

sudo systemctl enable zabbix-server zabbix-agent apache2

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

Нажимаем на кнопку «Next step».

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

Нажимаем на кнопку «Next step».

Теперь необходимо указать систему для управления базами данных и ранее созданную базу данных, которая будет использоваться для работы 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.

В поле «Host» указываем «localhost».

В поле «Port» указываем «10051».

Нажимаем на кнопку «Next step».

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

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

Нажимаем на кнопку «Finish».

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

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

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

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

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

Author

Привет, я Владимир Михалев, но друзья зовут меня Вальдемарыч. Я обладаю практическим опытом проектирования и сопровождения различных информационных систем. На моем веб-сайте ты найдешь подробные и понятные руководства по настройке ИТ-решений. Окунись в океан, полный позитива и технологий! По вопросам сотрудничества: callvaldemar@gmail.com

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.