Бесплатная миграция IT-инфраструктуры в облако

Установка и настройка Zabbix в Ubuntu 22.04

Александр Бархатов
Александр Бархатов
Технический писатель
22 марта 2024 г.
6524
10 минут чтения
Средний рейтинг статьи: 2.5

Zabbix — это популярный инструмент, предназначенный для мониторинга серверов, сетей, сервисов, облачных ресурсов, а также бизнес-показателей. Zabbix является продуктом с открытым исходным кодом.

В состав Zabbix входят такие компоненты как:

  • Zabbix-сервер — основной компонент системы. Основные функции сервера — хранение данных и управление сетевыми сервисами. 

  • Zabbix-агент — утилита, работающая в фоновом режиме (режим «демона»), которая мониторит и собирает статистику по таким ресурсам, как RAM (оперативная память), процессор и т.д. Также собирает метрики приложений. Агент поддерживает два режима работы: активный режим, при котором агент самостоятельно запрашивает необходимые данные, а также пассивный режим, когда агент ожидает запросы от сервера.

  • Zabbix-прокси — необязательный компонент, который отвечает за распределение нагрузки на Zabbix сервер.

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

В данной статье мы установим Zabbix 6 версии на операционную систему Ubuntu 22.04, а также подключим и настроим один агент.

cloud

Предварительные требования

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

  • Два сервера или две виртуальные машины с предустановленной ОС Ubuntu 22.04 — один сервер для установки сервера Zabbix, второй для установки агента Zabbix.

  • СУБД MySQL/MariaDB или PostgreSQL, заранее установленная на тот хост, куда будет установлен сервер Zabbix.

Установить нужную СУБД на Ubuntu вам помогут наши инструкции: Установка MySQL, Установка MariaDB, Установка PostgreSQL.

В данной статье будет использоваться PostgreSQL. 

Регистрация в Timeweb Cloud

Чтобы арендовать облачный или выделенный сервер в Timeweb Cloud, необходимо пройти регистрацию. 

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

  • ФИО,
  • адрес электронной почты.

Номер телефона можно указать по желанию. Также регистрацию можно пройти, воспользовавшись одним из сторонних сервисов: Google-аккаунт, ВКонтакте и GitHub.

После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней.

Создание облачного сервера

После того, как учетная запись была создана и активирована, можно арендовать облачный сервер. 

1) Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.

2) После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».

3) Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Ubuntu 22.04.

4) Выбираем регион, в котором будет находиться наш сервер. Выбирать рекомендуется тот регион, который ближе всего находится к вам физически. У каждого доступного региона справа вверху отображается ping, т.е. время, необходимое для передачи данных с вашего компьютера на сервер. Чем меньше указанное время, тем быстрее будет осуществляться передача данных.

Image21

5) Далее выбираем необходимую конфигурацию сервера. Для Zabbix-сервера выберем двухъядерный процессор и 40 ГБ жесткого диска, для агента выберем одноядерный процессор и 2 ГБ оперативной памяти:

Image23

6) Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети. Для выхода сервера в Интернет, нужно заказать плавающий IP.

7) По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна только в Санкт-Петербурге и Москве).

Image29

8) Также заранее можно загрузить SSH-ключ, чтобы не входить на север при помощи пароля.

9) Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.

10) Для оплаты необходимо нажать на кнопку «Заказать».

Если на вашем аккаунте недостаточно средств, то будет выведено предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP-адрес, логин и пароль для подключения.

Image13

Установка сервера Zabbix

Все последующие шаги необходимо выполнять под учетной записи root или от имени пользователя с правами sudo.

1) Для начала необходимо добавить официальный репозиторий Zabbix. Скачиваем пакет в формате .deb при помощи утилиты wget

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb

Image3

2) Устанавливаем скачанный файл с помощью утилиты dpkg:

dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb

Image1

3) После того как пакет успешно был установлен, переходим к установке 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

Image18

4) Создаем пользователя в PostgreSQL с именем zabbix (напомню, что СУБД уже должна быть заранее установлена, инструкции можно найти в начале статьи):

sudo -u postgres createuser --pwprompt zabbix

Image15

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

Далее создаем базу данных с именем zabbix:

sudo -u postgres createdb -O zabbix zabbix

5) Импортируем файлы, содержащие схему данных, в созданную ранее БД с именем zabbix:

zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

6) Открываем на редактирование файл zabbix_server.conf при помощи любого текстового редактора:

nano /etc/zabbix/zabbix_server.conf

Ищем параметр DBPassword и задаем пароль от БД:

Image12

Сохраняем изменения и выходим из файла.

7) Далее открываем на редактирование файл nginx.conf:

nano /etc/zabbix/nginx.conf

В блоке server раскомментируем параметры listen и server_name, задав порт (по умолчанию используется порт 8080), на котором будет доступен веб-интерфейс Zabbix (параметр listen), и адрес сервера, по которому будет открываться веб-интерфейс (параметр server_name). Использовать можно как доменное имя, так и IP-адрес:

Image30

Сохраняем изменения и выходим из файла.

8) Перезапускаем сервер 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

Image5

Проверяем статус сервера Zabbix:

systemctl status zabbix-server

Image28

Если в статусе отображается active (running), то сервер Zabbix успешно запущен и работает. На этом установка завершена.

При возникновении ошибок более подробную информацию можно будет найти в лог-файле zabbix_server.log, который расположен в /var/log/zabbix/.

Настройка сервера Zabbix

Дальнейшая настройка Zabbix производится в веб-интерфейсе. Для этого необходимо перейти по доменному имени и порту, которые были указаны в параметрах server_name и port конфигурационного файла nginx.conf

При первом переходе отобразится приветственное меню.

1) На первом шаге выбираем необходимый язык:

Image31

2) Далее система проверит наличие необходимых компонентов, их версии и необходимые технические требования:

Image11

3) После того как все проверки будут пройдены, необходимо проверить и при необходимости изменить параметры, связанные с базой данных. Так как ранее база данных с именем zabbix уже была создана, то необходимо только ввести имя пользователя БД — zabbix (параметр User) и его пароль (параметр Password):

Image25

Указывать имя схемы БД (Database schema) не нужно.

4) В последнем шаге необходимо задать имя для Zabbix-сервера (Zabbix server name), указать необходимый часовой пояс (Default time zone) и при желании изменить тему оформления по умолчанию (Default theme):

Image6

5) Система отобразит ранее указанные настройки. Если все правильно, нажимаем на кнопку Next step:

Image10

После подтверждения Zabbix оповестит, что настройка успешно завершена:

Image27

После настройки отобразится форма с авторизацией в веб-интерфейсе Zabbix. По умолчанию используется логин Admin и пароль zabbix:

Image33

После успешной аутентификации откроется главное меню:

Image32

Установка агента Zabbix

Переходим на второй сервер, куда мы будем устанавливать агент Zabbix. Установка агента аналогична установке сервера Zabbix. Все последующие шаги будут выполняться под учетной записью root.

1) Добавляем официальный репозиторий Zabbix. Скачиваем пакет в формате .deb при помощи утилиты wget

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu22.04_all.deb

Image2

2) Устанавливаем скачанный файл с помощью утилиты dpkg:

dpkg -i zabbix-release_latest+ubuntu22.04_all.deb

Image26

3) Обновляем списки репозиториев и устанавливаем Zabbix-агент:

apt update && apt -y install zabbix-agent

4) Открываем на редактирование файл zabbix_agentd.conf при помощи любого текстового редактора:

nano /etc/zabbix/zabbix_agentd.conf

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

  • Server — необходимо задать доменное имя или IP-адрес, на котором находится сервер Zabbix.

Image35

  • ServerActive — продублировать доменное имя или IP-адрес, на котором находится сервер Zabbix. Данный параметр отвечает за активный режим, когда Zabbix самостоятельно запрашивает необходимые данные.

Image4

  • Hostname — указать hostname агента в точности как он указан в системе. Чтобы узнать имя хоста можно воспользоваться командой hostname. Если неправильно указать имя хоста, тогда агент не сможет подключиться к серверу Zabbix.

Image34

5) После того как все необходимые изменения были внесены, необходимо перезапустить Zabbix-агент и добавить его в автозагрузку:

systemctl restart zabbix-agent && systemctl enable zabbix-agent

Проверяем статус агента:

systemctl status zabbix-agent

Image17

Если в статусе отображается active (running), то агент Zabbix успешно запущен и работает. На этом установка и настройка агента Zabbix завершены.

При возникновении ошибок более подробную информацию можно будет найти в лог-файле zabbix_agentd.log, который расположен в /var/log/zabbix/.

Добавление агента Zabbix в веб-интерфейсе Zabbix-сервера

Для добавления Zabbix-агента, необходимо следующее:

1) Переходим в веб-интерфейс Zabbix-сервера и раскрываем раздел Configuration, далее пункт Hosts:

Image8

2) В появившемся меню справа сверху будет находиться кнопка Create host, нажимаем на неё:

Image19

3) Необходимо заполнить следующие поля:

  • Host name — задать любое удобное имя для агента Zabbix. Данное имя будет отображаться в веб-интерфейсе Zabbix-сервера.

  • Groups — создать новую группу или выбрать уже существующую, например с названием Linux servers. Группы используются для организационных целей и для назначения прав доступа к данным.

  • Templates — выбрать шаблон, который используется в точности как у агента установленного на сервере.

  • Interfaces — нажать на add и добавить IP-адрес хоста, где установлен агент Zabbix. Также вместо IP-адреса можно использовать доменное имя.

    • При использовании IP-адреса необходимо вписать его в поле IP address и выбрать IP в разделе Connect to.

    • При использовании доменного имени необходимо вписать имя в раздел DNS name и выбрать DNS в в разделе Connect to.

Также обязательно указываем порт агента. Порт, используемый по умолчанию, — 10050:

Image20

После того как данные агенты внесены, необходимо нажать на кнопку Update. Агент подключится в течение минуты и отобразится в списке агентов:

Image22

После того как агент был успешно подключен, проверим работоспособность метрик. Переходим в раздел Monitoring, в открывшемся меню выбираем пункт Hosts:

Image16

В списке находим ранее подключенный агент и наводим на него курсор мыши. Выбираем пункт Graphs:

Image7

Zabbix автоматически создает метрики для мониторинга ресурсов серверов, включая потребление оперативной памяти, загрузку процессора, использование диска и т.д:

Image24

Разверните Zabbix на серверах Timeweb Cloud

Заключение

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

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
22 марта 2024 г.
6524
10 минут чтения
Средний рейтинг статьи: 2.5
Пока нет комментариев