yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Установка и настройка Zabbix c нуля в Ubuntu Linux

Zabbix — система мониторинга с открытым исходным кодом. Она предназначена для контроля состояния серверов, сетевого оборудования, виртуальных машин, приложений и различных IT-сервисов в режиме реального времени. Рассказываем, как установить и настроить ее в Ubuntu Linux. 

Инструкции
Иллюстрация для статьи на тему «Установка и настройка Zabbix c нуля в Ubuntu Linux»
Продукты из этой статьи:
Иконка-Evolution Managed PostgreSQL®
Evolution Managed PostgreSQL®

Цели и преимущества использования Zabbix в Ubuntu Linux

Zabbix собирает и анализирует данные о производительности и доступности компонентов инфраструктуры. Например, с помощью этой системы контролируют нагрузку на процессор, состояние памяти и дисков, сетевую активность, работу служб. Узлы и сервисы можно мониторить из одной консоли, что важно для больших компаний.

Схема сбора данных Схема сбора данных
Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

Есть две цели внедрения Zabbix — оптимизация использования ресурсов и предупреждение возможных инцидентлв в IT-инфраструктуре. Система может обнаруживать проблемы и автоматически отправлять оповещения о сбоях и нарушениях. 

Что умеет ZabbixВозможности Zabbix

Преимущества использования Zabbix в Ubuntu Linux:

  • Совместимость и стабильность — Zabbix официально поддерживается в Ubuntu, благодаря чему можно без проблем установить решение и получать регулярные обновления. 

  • Удобство развертывания — система мониторинга легко устанавливается через пакетный менеджер apt. 

  • Гибкая настройка — можно создавать собственные метрики, триггеры и сценарии автоматизации.

  • Глобальное сообщество поддержки — есть много документации и инструкций по установке Zabbix, поэтому всегда можно получить помощь. 

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

Предварительные требования и подготовка системы к установке Zabbix

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

Требования к операционной системе и программному обеспечению 

Система мониторинга поддерживает все дистрибутивы Linux — как 32-битные, так и 64-битные архитектуры. Рекомендуем использовать свежие версии Ubuntu, например, 22.04 или 20.04 (Focal). Для них доступны официальные пакеты Zabbix.

Для полноценной работы Zabbix Server и веб-интерфейса помимо ОС нужны следующие компоненты:

  • Система управления базами данных: PostgreSQL, MySQL, Oracle, IBM DB2 или SQLite.

  • Веб-сервер:  Apache 1.3.12 и выше или Nginx (часто используется в последних установках).

  • PHP: версия 5.0 или выше.

  • Модули PHP: php-gd, php-bcmath, php-xml, php-session, php-mbstring, php-mysql, php-pgsql и т.д.

Проверка совместимости компонентов 

Zabbix состоит из нескольких компонентов: сервера, web-интерфейса, прокси, агента и базы данных. Краткое описание каждого:

  • Zabbix Server — главный компонент, который отвечает за сбор информации от агентов, прокси и других источников, а также за обработку триггеров, отправку уведомлений и хранение данных в базе.

  • Zabbix Web-интерфейс (Frontend) — графический интерфейс для администрирования и мониторинга. Применяется для настройки компонентов системы мониторинга, просмотра данных и отчетов, управления пользователями.

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

  • Zabbix Agent (Агент) — компонент, установленный непосредственно на хостах. Собирает метрики о состоянии системы (CPU, память, диски, процессы и т.д.) и отправляет их на сервер или прокси.

  • База данных (Database) — хранилище информации Zabbix. Здесь хранятся все настройки, собранные данные, события, журналы логов.

Компоненты ZabbixКомпоненты Zabbix

Перед установкой на операционную систему необходимо проверить, какие компоненты можно установить. С Linux проблем не будет — ОС совместима со всеми. 

Совместимость компонентов Совместимость компонентов

Настройка времени 

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

Воспользуйтесь командой: 

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

Настройка брандмауэра

Чтобы сервис мониторинга мог беспрепятственно работать, откройте порты:

  • iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT — для http и https запросов через веб-интерфейс. 

  • iptables -I INPUT -p tcp --match multiport --dports 10050,10051 -j ACCEPT — для открытия портов 10050 и 10051 входящего TCP трафика.

  • iptables -I INPUT -p udp --match multiport --dports 10050,10051 -j ACCEPT — для получения данных от zabbix-агентов. 

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

Установка Zabbix

Наше руководство описывает установку Zabbix 7.0 LTS (последней LTS-версии) на Ubuntu 22.04 LTS с использованием PostgreSQL в качестве базы данных. 

Добавление репозитория Zabbix

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

  • Скачайте пакет репозитория. Можно использовать программу wget для загрузки .deb файла, который автоматически настроит репозиторий в вашей системе. Команда: 

  • Установите скачанный пакет. Утилита dpkg установит этот пакет, добавляя новый источник приложений. Команда: 

  • Обновите список пакетов. После добавления нового репозитория актуализируйте локальный кэш apt, чтобы он «увидел» новые пакеты Zabbix. Команда: 

Установка Zabbix-сервера, веб-интерфейса и агента

Если репозиторий подключен, можно одной командой sudo apt install zabbix-server-pgsql zabbix-frontend-php zabbix-agent установить компоненты Zabbix:

  • zabbix-server-pgsql. Это сам Zabbix-сервер. В примере — версия pgsql для работы с базой данных PostgreSQL.

  • zabbix-frontend-php. Это веб-интерфейс для управления. Он автоматически установит в качестве зависимостей веб-сервер (Apache) и PHP. 

  • zabbix-agent. Агент для мониторинга сервера, где установлен Zabbix.

Если вы хотите использовать не PostgreSQL, а MySQL, замените zabbix-server-pgsql на zabbix-server-mysql в команде: 

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

Настройка Zabbix

После установки пакетов Zabbix-сервера необходимо создать и настроить базу данных и изменить конфигурационный файл сервера. Продолжим на примере с PostgreSQL.

Создание и настройка базы данных для Zabbix

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

Здесь: 

  • createuser. Создает пользователя с именем zabbix и запрашивает пароль;

  • createdb. Создает базу данных с именем zabbix и назначает ее владельцем (-O) созданного пользователя zabbix.

Подключение к базе данных Подключение к базе данных

Затем нужно импортировать таблицы, схемы и начальные данные, которые Zabbix использует для своей работы. Эти SQL-файлы поставляются вместе с пакетом Zabbix-сервера.

Используйте команды zcat и psql для импорта схемы:

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

  • zcat. Распаковывает архивный SQL-файл схемы;

  • psql zabbix. Подключается к базе данных как пользователь zabbix и выполняет команды из файла.

Можно подключить сервис Evolution Managed PostgreSQL от Cloud.ru в качестве сервера базы данных. В него встроены собственные инструменты сервиса для мониторинга, но с помощью Zabbix вы будете получать еще больше информации. 

Evolution Managed PostgreSQL®
Evolution Managed PostgreSQL®
Облачный сервис для комфортного управления базами данных PostgreSQL® со встроенным мониторингом, возможностями гибкого масштабирования, а также резервного копирования и восстановления.
Узнать больше

Конфигурация zabbix-server

Основной конфигурационный файл Zabbix-сервера находится по адресу /etc/zabbix/zabbix_server.conf. В нем нужно указать данные для подключения к базе данных, которую вы создали. 

Откройте файл командой sudo nano /etc/zabbix/zabbix_server.conf и настройте параметры базы данных. Измените или раскомментируйте следующие строки, используя информацию, которую ввели при создании пользователя:

  • DBHost=localhost:

  • DBName=zabbix:

  • DBUser=zabbix:

  • DBPassword=zabbixpassword. 

Дальше настройте параметры конфигурации для корректной работы. В таблице рекомендуемые значения, но их можно корректировать в зависимости от нагрузки. 

Параметр
Описание
Рекомендуемые значения
StartPollers
Количество процессов для активных проверок
5-10
StartPingers
Количество процессов для проверки доступности через ICMP (ping)
2-5
StartTrappers
Количество процессов для обработки входящих данных от агентов и отправителей
5-10
CacheSize
Размер выделенной памяти для кэша данных конфигурации Zabbix
256 M, но все зависит от размера базы данных
Timeout
Таймаут в секундах для сетевых запросов
3-5

Дальше запустите и включите Zabbix-сервер:

Убедитесь, что служба запущена и работает без ошибок:

Конфигурация Zabbix-сервераКонфигурация Zabbix-сервера

Теперь Zabbix-сервер запущен, подключен к базе данных и готов к работе. Следующий этап — настройка веб-интерфейса через браузер. 

Настройка веб-интерфейса Zabbix

Веб-интерфейс Zabbix вы уже установили как пакет zabbix-frontend-php. Он, в свою очередь, автоматически установил Apache и PHP. Чтобы веб-интерфейс заработал, нужно настроить эти компоненты. 

Установка и настройка веб-сервера

По умолчанию Zabbix-Frontend устанавливает Apache2. Конфигурационный файл Apache для Zabbix находится по адресу /etc/apache2/conf-enabled/zabbix.conf. Проверьте, что там правильно указаны директории и настройки.

Затем нужно настроить PHP для Zabbix. Конфигурационный файл Zabbix для PHP чаще всего находится здесь: /etc/php/8.x/apache2/php.ini или /etc/php/8.x/fpm/php.ini в зависимости от версии PHP, установленной с Apache.

Откройте файл, который создает Zabbix-Frontend: 

Замените '8.x' на вашу версию PHP. 

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

После любых изменений в конфигурации PHP или Apache перезапустите веб-сервер с помощью команды: sudo systemctl restart apache2

Начальная настройка интерфейса

Веб-интерфейс Zabbix теперь доступен через ваш браузер. Откройте его и перейдите сюда: http://<IP-адрес_вашего_сервера>/zabbix. Дальше действуйте так: 

  1. Нажмите Next step.

  2. Дождитесь, пока Zabbix проверит, соответствуют ли настройки PHP (таймауты, память и т.д.) его требованиям. Если какой-то пункт будет выделен красным, нужно вернуться к файлу /etc/php/8.x/apache2/conf.d/30-zabbix.ini, внести изменения и перезапустить Apache2.

  3. Введите параметры базы данных, которую вы создали ранее. Database type — PostgreSQL, Database host — localhost (либо ip-адрес базы данных, если он установлен на другой машине или используется сервисом Evolution Managed PostgreSQL), Database port — 5432, Database name — zabbix, User: — zabbix, Password: zabbixpassword (ваш пароль).

  4. Введите параметры вашего сервера Zabbix. Host — localhost, Port — 10051, Name — любое имя для сервера Zabbix. 

  5. Проверьте сводку и нажмите Next step, затем Finish.

  6. Войдите в систему, используя стандартные учетные данные. 

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

Zabbix Agent — компонент, который устанавливается непосредственно на рабочие станции или серверы. Он собирает данные с клиентских машин и передает их на Zabbix Server.

Установка агента на узлы

Добавьте официальный репозиторий Zabbix, если еще этого не сделали:

Установите агент:

Откройте конфигурационный файл: 

Установите основные параметры. Вот пример:

После настроек запустите службу: 

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

Проверьте доступность агента с Zabbix-сервера:

Добавление узлов в Zabbix-сервер

Первым делом войдите в веб-интерфейс Zabbix и откройте панель Zabbix Server: http://<IP_сервера_Zabbix>/zabbix. Затем войдите под учетными данными администратора. По умолчанию это Admin/zabbix, но для безопасности нужно подставить другие параметры. 

Далее добавьте новый узел. Для этого перейдите: Configuration → Hosts → Create host. Укажите следующие параметры:

  • Hostname — должно совпадать с Hostname в конфиге агента.

  • Visible name — имя, которое будет отображаться (по желанию).

  • Groups — выберите группу или создайте новую, например, Linux servers.

  • Agent interfaces — IP-адрес хоста и порт агента. По умолчанию это 10050.

Добавьте шаблоны мониторинга в разделе Templates → Link new templates. Например, выберите Template OS Linux by Zabbix agent. Это позволит автоматически собирать стандартные метрики ОС (нагрузка CPU, память, сеть и т.д.).

Добавление узлов в Zabbix-серверДобавление узлов

Нажмите Add, чтобы сохранить хост. Когда агент начнет передавать данные, узел появится в списке Monitoring → Hosts со статусом Available. 

Шифрование данных и безопасность

Чтобы защитить данные, которые передаются между Zabbix-сервером и Zabbix-агентами, настройте шифрование, используя TLS (Transport Layer Security). С его помощью можно предотвратить подмену и перехват информации. 

Zabbix поддерживает шифрование на основе PSK (Pre-Shared Key) или сертификатов. PSK проще в настройке, зато сертификаты обеспечивают более высокий уровень безопасности. 

Поддержка шифрования Поддержка шифрования

Пример настройки шифрования на основе PSK

PSK (Pre-Shared Key) — это общий секретный ключ, который будут «знать» и сервер, и агент. Он поможет установить защищенное соединение. 

Чтобы настроить ключ на сервере, откройте конфигурационный файл sudo nano /etc/zabbix/zabbix_server.conf и добавьте следующие строки: 

Что они значат:

  • TLSConnect=psk — сервер будет подключаться с использованием PSK.

  • TLSAccept=psk — сервер будет принимать подключения по PSK (от агентов/прокси).

  • TLSPSKIdentity=ServerPSK — имя секретного ключа.

  • TLSPSKFile=/etc/zabbix/zabbix_server.psk — путь к файлу, где лежит сам секретный ключ.

Затем нужно выполнить команду:

Здесь openssl rand -hex 32 генерирует случайное 32-байтное число, которое и будет секретным ключом. Его нужно записать в файл /etc/zabbix/zabbix_server.psk.

Затем нужно ограничить доступ к файлу:

  • chmod 640 — файл могут читать только отдельные пользователи zabbix и группа zabbix;

  • chown zabbix:zabbix — делаем владельцем пользователя и группу zabbix.

На стороне агента нужно сделать аналогичные настройки. Откройте конфиг sudo nano /etc/zabbix/zabbix_agentd.conf. Добавьте:

Идентификатор (TLSPSKIdentity) одинаковый — ServerPSK. Ключ (TLSPSKFile) тоже должен содержать одинаковое значение на сервере и агенте. 

Чтобы применить изменения, выполните команду:

Пример настройки шифрования TLS с сертификатами

Смысл способа в том, что каждый участник соединения — сервер, агент и прокси имеет уникальный сертификат для расшифрования данных. Подлинность этих сертификатов подтверждается центром сертификации. 

Настройка шифрования TLSНастройка шифрования TLS

На сервере Zabbix или на отдельной безопасной машине нужно выполнить следующие действия:

В примере ca.key — это приватный ключ, который нужно хранить в секрете, ca.crt — публичный сертификат. Его можно распространять.

Дальше нужно создать сертификат для Zabbix-сервера:

После этих действий у сервера будет сертификат — server.crt и приватный ключ — server.key, сертификат СА для проверки ключа — ca.crt. 

Дальше нужно создать сертификат на агенте: 

Перечень ключей Перечень ключей

Готовые сертификаты нужно распространить. На агент и сервер — ca.crt. На сервер — server.crt и server.key. На агент — agent.crt и agent.key.

Пример команды:

Защита Web-интерфейса

Нужно установить на веб-сервер SSL-сертификат (например, Let’s Encrypt) и настроить HTTPS. Рассказываем алгоритм действий на примере Apache. 

Установите модуль SSL:

Включите модуль SSL в Apache:

Получите бесплатный SSL-сертификат Let’s Encrypt:

Создайте или отредактируйте SSL-конфиг, если он есть: /etc/apache2/sites-available/zabbix-ssl.conf. Файл может выглядеть так:

Настройте редирект с HTTP→HTTPS. Для этого создайте или дополните конфиг HTTP-сайта:

Заключение

С помощью Zabbix можно обеспечить полный мониторинг «из коробки» — собирать метрики с серверов, сетевых устройств, приложений, баз данных. После настройки всех компонентов не забывайте регулярно их обновлять, чтобы обеспечивать безопасность и расширять функциональность. Об этих и других нюансах можно больше узнать из официальной документации Zabbix

Продукты из этой статьи:
Иконка-Evolution Managed PostgreSQL®
Evolution Managed PostgreSQL®
20 ноября 2025

Вам может понравиться