Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.
Предварительные требования
Чтобы произвести установку Zabbix нам необходимо следующее:
-
Два сервера или две виртуальные машины с предустановленной ОС Ubuntu 22.04 — один сервер для установки сервера Zabbix, второй для установки агента Zabbix.
-
СУБД MySQL/MariaDB или PostgreSQL, заранее установленная на тот хост, куда будет установлен сервер Zabbix.
Два сервера или две виртуальные машины с предустановленной ОС Ubuntu 22.04 — один сервер для установки сервера Zabbix, второй для установки агента Zabbix.
СУБД MySQL/MariaDB или PostgreSQL, заранее установленная на тот хост, куда будет установлен сервер Zabbix.
Установить нужную СУБД на Ubuntu вам помогут наши инструкции: Установка MySQL, Установка MariaDB, Установка PostgreSQL.
В этом материале будет использоваться PostgreSQL.
Чтобы арендовать облачный или выделенный сервер в Simple-Server, необходимо пройти регистрацию.
Переходим по ссылке для регистрации нового пользователя. Мы выберем регистрацию на физическое лицо и заполним следующие данные:
- ФИО,
- адрес электронной почты.
Номер телефона можно указать по желанию. Также регистрацию можно пройти, воспользовавшись одним из сторонних сервисов: Google-аккаунт, ВКонтакте и GitHub.
После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней.
Создание облачного сервера
После того, как учетная запись была создана и активирована, можно арендовать облачный сервер.
-
Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.
-
После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».
-
Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Ubuntu 22.04.
-
Выбираем регион, в котором будет находиться наш сервер. Выбирать рекомендуется тот регион, который ближе всего находится к вам физически. У каждого доступного региона справа вверху отображается ping, т.е. время, необходимое для передачи данных с вашего компьютера на сервер. Чем меньше указанное время, тем быстрее будет осуществляться передача данных.
-
Далее выбираем необходимую конфигурацию сервера. Для Zabbix-сервера выберем двухъядерный процессор и 40 ГБ жесткого диска, для агента выберем одноядерный процессор и 2 ГБ оперативной памяти:
-
Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети. Для выхода сервера в Интернет, нужно заказать плавающий IP.
-
По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна только в Санкт-Петербурге и Москве).
-
Также заранее можно загрузить SSH-ключ, чтобы не входить на сервер при помощи пароля.
-
Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.
-
Для оплаты необходимо нажать на кнопку «Заказать».
Если на вашем аккаунте недостаточно средств, то будет выведено предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP-адрес, логин и пароль для подключения.
Все последующие шаги необходимо выполнять под учётной записи root или от имени пользователя с правами sudo.
-
Для начала необходимо добавить официальный репозиторий Zabbix. Скачиваем пакет в формате
.debпри помощи утилитыwget: -
Устанавливаем скачанный файл с помощью утилиты
dpkg:
dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb- После того как пакет успешно был установлен, переходим к установке Zabbix-сервера и его зависимостей. Сначала обновляем списки репозиториев. Помимо самого сервера Zabbix, будет установлен интерпретатор языка PHP, агент Zabbix, необходимые плагины, а также веб-сервер Nginx:
apt update && apt -y install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent- Создаем пользователя в PostgreSQL с именем
zabbix(напомню, что СУБД уже должна быть заранее установлена, инструкции можно найти в начале статьи):
sudo -u postgres createuser --pwprompt zabbixНеобходимо задать пароль для создаваемой учётной записи и повторить его.
Далее создаем базу данных с именем zabbix:
sudo -u postgres createdb -O zabbix zabbix- Импортируем файлы, содержащие схему данных, в созданную ранее БД с именем
zabbix:
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix- Открываем на редактирование файл
zabbix_server.confпри помощи любого текстового редактора:
nano /etc/zabbix/zabbix_server.confИщем параметр DBPassword и задаем пароль от БД:
Сохраняем изменения и выходим из файла.
- Далее открываем на редактирование файл
nginx.conf:
nano /etc/zabbix/nginx.confВ блоке server раскомментируем параметры listen и server_name, задав порт (по умолчанию используется порт 8080), на котором будет доступен веб-интерфейс Zabbix (параметр listen), и адрес сервера, по которому будет открываться веб-интерфейс (параметр server_name). Использовать можно как доменное имя, так и IP-адрес:
Сохраняем изменения и выходим из файла.
- Перезапускаем сервер Zabbix, агент Zabbix, Nginx, PHP-FPM и добавляем их в автозагрузку:
systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm && systemctl enable zabbix-server zabbix-agent nginx php8.1-fpmПроверяем статус сервера Zabbix:
systemctl status zabbix-serverЕсли в статусе отображается active (running), то сервер Zabbix успешно запущен и работает. На этом установка завершена.
При возникновении ошибок более подробную информацию можно будет найти в лог-файле zabbix_server.log, который расположен в /var/log/zabbix/.
Дальнейшая настройка Zabbix производится в веб-интерфейсе. Для этого необходимо перейти по доменному имени и порту, которые были указаны в параметрах server_name и port конфигурационного файла nginx.conf.
При первом переходе отобразится приветственное меню.
-
На первом шаге выбираем необходимый язык:
-
Далее система проверит наличие необходимых компонентов, их версии и необходимые технические требования:
-
После того как все проверки будут пройдены, необходимо проверить и при необходимости изменить параметры, связанные с базой данных. Так как ранее база данных с именем
zabbixуже была создана, то необходимо только ввести имя пользователя БД —zabbix(параметр User) и его пароль (параметр Password):
Указывать имя схемы БД (Database schema) не нужно.
-
В последнем шаге необходимо задать имя для Zabbix-сервера (Zabbix server name), указать необходимый часовой пояс (Default time zone) и при желании изменить тему оформления по умолчанию (Default theme):
-
Система отобразит ранее указанные настройки. Если все правильно, нажимаем на кнопку Next step :
После подтверждения Zabbix оповестит, что настройка успешно завершена:
После настройки отобразится форма с авторизацией в веб-интерфейсе Zabbix. По умолчанию используется логин Admin и пароль zabbix :
После успешной аутентификации откроется главное меню:
Переходим на второй сервер, куда мы будем устанавливать агент Zabbix. Установка агента аналогична установке сервера Zabbix. Все последующие шаги будут выполняться под учетной записью root.
-
Добавляем официальный репозиторий Zabbix. Скачиваем пакет в формате
.debпри помощи утилитыwget: -
Устанавливаем скачанный файл с помощью утилиты
dpkg:
dpkg -i zabbix-release_latest+ubuntu22.04_all.deb- Обновляем списки репозиториев и устанавливаем Zabbix-агент:
apt update && apt -y install zabbix-agent- Открываем на редактирование файл
zabbix_agentd.confпри помощи любого текстового редактора:
nano /etc/zabbix/zabbix_agentd.confНеобходимо изменить следующие параметры:
Server— необходимо задать доменное имя или IP-адрес, на котором находится сервер Zabbix.
Server — необходимо задать доменное имя или IP-адрес, на котором находится сервер Zabbix.
ServerActive— продублировать доменное имя или IP-адрес, на котором находится сервер Zabbix. Данный параметр отвечает за активный режим, когда Zabbix самостоятельно запрашивает необходимые данные.
ServerActive — продублировать доменное имя или IP-адрес, на котором находится сервер Zabbix. Данный параметр отвечает за активный режим, когда Zabbix самостоятельно запрашивает необходимые данные.
Hostname— указать hostname агента в точности как он указан в системе. Чтобы узнать имя хоста можно воспользоваться командойhostname. Если неправильно указать имя хоста, тогда агент не сможет подключиться к серверу Zabbix.
Hostname — указать hostname агента в точности как он указан в системе. Чтобы узнать имя хоста можно воспользоваться командой hostname. Если неправильно указать имя хоста, тогда агент не сможет подключиться к серверу Zabbix.
- После того как все необходимые изменения были внесены, необходимо перезапустить Zabbix-агент и добавить его в автозагрузку:
systemctl restart zabbix-agent && systemctl enable zabbix-agent
systemctl status zabbix-agentЕсли в статусе отображается active (running), то агент Zabbix успешно запущен и работает. На этом установка и настройка агента Zabbix завершены.
При возникновении ошибок более подробную информацию можно будет найти в лог-файле zabbix_agentd.log, который расположен в /var/log/zabbix/.
Добавление агента Zabbix в веб-интерфейсе Zabbix-сервера
Для добавления Zabbix-агента, необходимо следующее:
-
Переходим в веб-интерфейс Zabbix-сервера и раскрываем раздел Configuration , далее пункт Hosts :
-
В появившемся меню справа сверху будет находиться кнопка Create host , нажимаем на неё:
-
Необходимо заполнить следующие поля:
-
Host name — задать любое удобное имя для агента Zabbix. Данное имя будет отображаться в веб-интерфейсе Zabbix-сервера.
-
Groups — создать новую группу или выбрать уже существующую, например с названием Linux servers. Группы используются для организационных целей и для назначения прав доступа к данным.
-
Templates — выбрать шаблон, который используется в точности как у агента установленного на сервере.
-
Interfaces — нажать на add и добавить IP-адрес хоста, где установлен агент Zabbix. Также вместо IP-адреса можно использовать доменное имя.
* При использовании IP-адреса необходимо вписать его в поле **IP address** и выбрать **IP** в разделе **Connect to**.
* При использовании доменного имени необходимо вписать имя в раздел **DNS name** и выбрать **DNS** в в разделе **Connect to**.Host name — задать любое удобное имя для агента Zabbix. Данное имя будет отображаться в веб-интерфейсе Zabbix-сервера.
Groups — создать новую группу или выбрать уже существующую, например с названием Linux servers. Группы используются для организационных целей и для назначения прав доступа к данным.
Templates — выбрать шаблон, который используется в точности как у агента установленного на сервере.
Interfaces — нажать на add и добавить IP-адрес хоста, где установлен агент Zabbix. Также вместо IP-адреса можно использовать доменное имя.
-
При использовании IP-адреса необходимо вписать его в поле IP address и выбрать IP в разделе Connect to.
-
При использовании доменного имени необходимо вписать имя в раздел DNS name и выбрать DNS в в разделе Connect to.
При использовании IP-адреса необходимо вписать его в поле IP address и выбрать IP в разделе Connect to.
При использовании доменного имени необходимо вписать имя в раздел DNS name и выбрать DNS в в разделе Connect to.
Также обязательно указываем порт агента. Порт, используемый по умолчанию, — 10050:
После того как данные агенты внесены, необходимо нажать на кнопку Update. Агент подключится в течение минуты и отобразится в списке агентов:
После того как агент был успешно подключен, проверим работоспособность метрик. Переходим в раздел Monitoring , в открывшемся меню выбираем пункт Hosts :
В списке находим ранее подключенный агент и наводим на него курсор мыши. Выбираем пункт Graphs :
Zabbix автоматически создает метрики для мониторинга ресурсов серверов, включая потребление оперативной памяти, загрузку процессора, использование диска и т.д:
Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.