Установка Zabbix на Ubuntu Server
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Zabbix на Ubuntu Server.
Zabbix - это решение распределенного мониторинга корпоративного класса с открытыми исходными кодами.
В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.
Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.
Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.
Для установки OpenSSH на сервер вы можете воспользоваться командой:
Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.
В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.
Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к вашему серверу:
- TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
- TCP порт 443 - для доступа к веб-интерфейсу Zabbix.
- TCP порт 10050 - для работы Zabbix Agent.
- TCP порт 10051 - для работы Zabbix Trapper.
Подключаемся к серверу, на который планируется установить Zabbix.
Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.
Теперь необходимо загрузить и установить пакет конфигурации репозитория Zabbix.
Загрузим пакет конфигурации репозитория Zabbix с помощью команды:
Установим пакет конфигурации репозитория Zabbix с помощью команды:
Обновим локальный индекс пакетов до последних изменений в репозиториях с помощью команды:
Теперь установим пакеты, необходимые для работы Multicraft, с помощью команды:
Обратите внимание, в данном руководстве в качестве системы для управления базами данных будет использоваться MySQL, а в качестве веб-сервера - Apache.
Включаем модуль веб-сервера Apache под названием “rewrite” с помощью команды:
Обратите внимание, модуль “rewrite” является одним из самых часто используемых модулей веб-сервера Apache и предоставляет гибкий и мощный способ манипулирования URL-адресами.
Теперь нужно создать файл виртуального хоста (в Nginx называется блок), с которым в дальнейшем будет работать Zabbix.
Создадим файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:
В данном руководстве для доступа к панели управления Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.
В данном руководстве для доступа к Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Активируем созданный виртуальный хост с помощью команды:
В данном руководстве для доступа к панели управления Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.
Деактивируем виртуальный хост, созданный по умолчанию, с помощью команды:
Убедимся, что в синтаксисе нового конфигурационного файла Apache нет ошибок, с помощью команды:
Перезапустим Apache, чтобы применить внесенные изменения, с помощью команды:
Проверим, что Apache успешно запустился, с помощью команды:
Теперь, чтобы повысить уровень безопасности веб-сервера, необходимо получить криптографический сертификат для домена или субдомена, по которому ваш Zabbix будет доступен из сети Интернет.
Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.
В данном руководстве для доступа к панели управления Zabbix из сети Интернет будет использоваться субдомен zabbix.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Zabbix будет доступен из сети Интернет.
Запросим криптографический сертификат с помощью команды:
Далее указываем адрес электронной почты, на который Let’s Encrypt будет присылать уведомления об истечении срока криптографического сертификата, и нажимаем на кнопку “Enter”.
На следующем этапе необходимо прочитать и принять условия использования предоставляемых сервисов.
Нажимаем на кнопку “a”, затем “Enter”, если вы согласны с условиями использования предоставляемых сервисов.
На следующем этапе необходимо выбрать: хотите ли вы поделиться указанным ранее адресом электронной почты с Electronic Frontier Foundation для получения информационных рассылок.
Нажимаем на кнопку “n”, затем “Enter”.
На следующем этапе необходимо выбрать: хотите ли вы, чтобы в конфигурационный файл Apache были автоматически добавлены параметры для автоматического перенаправления HTTP-трафика на HTTPS.
Нажимаем на кнопку “2”, затем “Enter”.
Обратите внимание, криптографические сертификаты, полученные через центр сертификации Let’s Encrypt, действительны в течение девяноста дней. Certbot автоматически добавляет скрипт для обновления сертификата в планировщик задач, и скрипт запускается два раза в день, автоматически обновляя любой криптографический сертификат, срок действия которого истекает в течение тридцати дней.
Проверить работоспособность процесса обновления криптографического сертификата можно с помощью команды:
Теперь настроим MySQL для последующей работы с Zabbix.
Для начала необходимо запустить скрипт “mysql_secure_installation”, который предназначен для обеспечения базового уровня безопасности MySQL.
Запускаем скрипт с помощью команды:
Далее необходимо ответить на несколько вопросов для обеспечения базового уровня безопасности MySQL.
Первый вопрос о том, хотите ли вы воспользоваться плагином для проверки надежности пароля, который необходимо будет задать позже для пользователя “root”, обладающего правами администратора в MySQL.
Нажимаем на кнопку “y”, затем “Enter”.
На следующем этапе необходимо выбрать уровень проверки сложности пароля, который необходимо будет задать позже для пользователя “root”, обладающего правами администратора в MySQL.
В данном руководстве мы будем рассматривать самый высокий уровень проверки надежности пароля для пользователя “root”.
Нажимаем на кнопку “2”, затем “Enter”.
На следующем этапе необходимо указать надежный пароль для пользователя “root”, обладающего правами администратора в MySQL.
Указываем надежный пароль для пользователя “root” и нажимаем на кнопку “Enter”.
Далее указываем пароль для пользователя “root” еще раз и нажимаем на кнопку “Enter”.
Следующий вопрос о том, хотите ли вы перейти к следующему шагу по настройке базового уровня безопасности MySQL с полученным значением надежности пароля.
Обратите внимание, если указанный вами пароль будет иметь значение “Estimated strength of the password” менее 100, то значит, что указанный вами ранее пароль для пользователя “root” не достаточно надежный, и нужно указать более надежный пароль.
В данном руководстве значение “Estimated strength of the password” равно 100, что говорит о том, что указанный ранее пароль является достаточно надежным.
Нажимаем на кнопку “y”, затем “Enter”.
Следующий вопрос о том, хотите ли вы удалить анонимных пользователей.
Нажимаем на кнопку “y”, затем “Enter”.
Следующий вопрос о том, хотите ли вы отключить возможность удаленного подключения к MySQL для пользователя “root”.
Нажимаем на кнопку “y”, затем “Enter”.
Следующий вопрос о том, хотите ли вы удалить тестовые базы данных.
Нажимаем на кнопку “y”, затем “Enter”.
Теперь необходимо применить внесенные изменения.
Нажимаем на кнопку “y”, затем “Enter”.
Теперь необходимо создать базу данных, которую в дальнейшем будет использовать Zabbix, а также пользователя с необходимыми правами в эту базу данных.
Подключаемся к консоли управления MySQL с помощью команды:
Указываем пароль от учетной записи “root”, заданный ранее, и нажимаем на кнопку “Enter”.
В данном руководстве в качестве имени базы данных для Zabbix будет использоваться “zabbixdb”.
Создадим базу данных, которую в дальнейшем будет использовать Zabbix, с помощью команды:
В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, будет использоваться “zabbixdbuser” с паролем “c@e3]Y88n)63}^4w^43]”.
Создаем пользователя и назначаем ему пароль с помощью команды:
Выдаем новому пользователю права на ранее созданную базу данных с помощью команды:
Применим внесенные изменения с помощью команды:
Отключаемся от консоли управления MySQL с помощью команды:
Теперь необходимо настроить схему и импортировать данные в ранее созданную базу данных для работы Zabbix.
В данном руководстве в качестве имени базы данных для работы Zabbix используется “zabbixdb”.
В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, используется “zabbixdbuser”.
Настроим схему и импортируем данные в ранее созданную базу данных с помощью команды:
Указываем пароль от учетной записи “zabbixdbuser”, заданный ранее и нажимаем на кнопку “Enter”.
Теперь необходимо внести изменения в конфигурационный файл Zabbix, открыв его в текстовом редакторе с помощью команды:
В данном руководстве база данных для работы Zabbix находится на одном сервере с Zabbix.
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, находим параметр “DBHost” и раскомментируем его, удалив символ “#”. Затем указываем для параметра значение “localhost”.
В данном руководстве в качестве имени базы данных для работы Zabbix используется “zabbixdb”.
Находим параметр “DBName” и указываем для параметра значение “zabbixdb”.
В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, используется “zabbixdbuser”.
Находим параметр “DBUser” и указываем для параметра значение “zabbixdbuser”.
Находим параметр “DBPassword” и раскомментируем его, удалив символ “#”. Затем в качестве значения для параметра указываем пароль, присвоенный пользователю “zabbixdbuser”.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Теперь необходимо внести изменения в конфигурационный файл Apache, открыв его в текстовом редакторе с помощью команды:
Далее находим параметр “php_value date.timezone Europe/Riga” в разделе “IfModule mod_php7.c” и раскомментируем его, удалив символ “#”. Затем указываем вместо “Europe/Riga”, часовой пояс, в котором находится ваш сервер Zabbix.
Список поддерживаемых часовых поясов можно найти по ссылке.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Перезапустим Zabbix, Zabbix Agent и Apache, чтобы применить внесенные изменения, с помощью команды:
Проверим, что Zabbix успешно запустился, с помощью команды:
Проверим, что Zabbix Agent успешно запустился, с помощью команды:
Проверим, что Apache успешно запустился, с помощью команды:
Включаем автозапуск Zabbix, Zabbix Agent и Apache при запуске операционной системы с помощью команды:
Для продолжения процесса установки 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”.
Далее нажимаем на кнопку “Next step” для сохранения изменений.
Все готово для использования Zabbix.
Нажимаем на кнопку “Finish”.
Теперь можно войти в панель управления Zabbix под учетной записью администратора Zabbix.
Логин для учетной записи администратора Zabbix по умолчанию: Admin
Пароль для учетной записи администратора Zabbix по умолчанию: zabbix
Указываем имя пользователя и пароль учетной записи, обладающей правами администратора Zabbix, и нажимаем на кнопку “Sign in”.
Добро пожаловать в панель управления Zabbix.
Мои курсы
🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить Docker, покорить Kubernetes или углубить свои навыки в области DevOps, мои курсы предлагают структурированный путь к повышению вашего технического мастерства.
Мои услуги
💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!
Пополнить запасы моего кофе
💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi
Подпишись
⭐ Telegram | Блог
🎬 YouTube
🐦 Twitter
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🧊 Bluesky
🎥 TikTok
💻 LinkedIn
📣 daily.dev Squad
🧩 LeetCode
🐈 GitHub
Этот контент создан искусственным интеллектом?
Нет! Каждая статья — результат моей работы, наполненной страстью к Docker и десятилетиями опыта в IT. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.