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

В этом материале мы рассмотрим популярную систему мониторинга Zabbix: её назначение, основные возможности, а также пошаговую инструкцию по развертыванию виртуального сервера VPS и подключению к нему агентов для наблюдения за другими серверами.

Zabbix: что это такое

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

Ключевые преимущества системы

  • Открытый исходный код. Распространяется под лицензией AGPL-3.0, что делает решение полностью бесплатным для любого использования.
  • Гибкий и настраиваемый интерфейс. Позволяет создавать персонализированные информационные панели (дашборды), выбирать темы оформления и отображать только релевантные метрики.
  • Активное сообщество и документация. Благодаря поддержке сообщества доступна обширная документация, форумы и готовые шаблоны для мониторинга множества систем.
  • Высокая масштабируемость. Система способна эффективно контролировать тысячи устройств и сервисов одновременно.
  • Многофункциональные оповещения. Поддерживает мгновенные уведомления о проблемах через различные каналы: Email, Telegram, Slack, SMS и другие. Возможна тонкая настройка эскалаций и условий для разных уровней важности событий.

Требования для развертывания

Для работы потребуется два сервера под управлением Ubuntu 22.04:

  1. Сервер Zabbix: для установки основной системы, где будут храниться и обрабатываться все данные мониторинга.
  2. Сервер с агентом: для установки Zabbix Agent, который будет собирать метрики и передавать их на главный сервер.

Дополнительно необходимы:

  • СУБД MySQL/MariaDB для хранения данных.
  • Веб-сервер (Nginx) и PHP для работы веб-интерфейса.

Данное руководство основано на официальных рекомендациях Zabbix, доступных в документации.

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. Перейти

Предварительная настройка VPS сервера

Перед началом установки выполните базовую подготовку системы.

  1. Обновление пакетов:
    apt update && apt upgrade -y
  2. Настройка локали (языковых пакетов):
    Чтобы избежать проблем с веб-интерфейсом, установите нужные локали. Проверьте текущие командой locale -a.

    • Для английского языка:
      apt-get install -y locales && echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && locale-gen
    • Для русского языка:
      apt-get install -y locales && echo 'ru_RU.UTF-8 UTF-8' >> /etc/locale.gen && locale-gen
  3. Открытие портов в брандмауэре:
    Необходимо открыть порты для веб-интерфейса (80, 443) и для работы Zabbix (10050/TCP, 10051/TCP).

    • Пример для iptables:
      iptables -I INPUT -p tcp --match multiport --dports 80,443,10050,10051 -j ACCEPT
      iptables -I INPUT -p udp --match multiport --dports 10050,10051 -j ACCEPT
      netfilter-persistent save
    • Для CSF отредактируйте файл /etc/csf/csf.conf.

Установка необходимого ПО для Zabbix Server

Установка MariaDB 11.4

Следуйте инструкциям на официальном сайте для вашей ОС или выполните:

  1. Добавление ключа и репозитория:
    sudo apt-get install apt-transport-https curl -y
    sudo mkdir -p /etc/apt/keyrings
    sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
    sudo nano /etc/apt/sources.list.d/mariadb.sources

    Добавьте в файл конфигурацию репозитория (укажите актуальное зеркало):

    X-Repolib-Name: MariaDB
    Types: deb
    URIs: https://mirror.docker.ru/mariadb/repo/11.4/ubuntu
    Suites: jammy
    Components: main main/debug
    Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp
  2. Установка и запуск MariaDB:
    sudo apt-get update
    sudo apt-get install mariadb-server -y
    sudo systemctl enable --now mariadb
    sudo mysqladmin -u root password 'Ваш_надежный_пароль'
Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. Перейти

Установка Nginx и PHP 8.4

  1. Nginx:
    apt install nginx -y
    systemctl enable --now nginx

    Проверьте работу, перейдя по http://IP_вашего_сервера.

  2. PHP 8.4 и необходимые модули:
    apt install software-properties-common -y
    add-apt-repository ppa:ondrej/php -y
    apt update
    apt install php8.4-fpm php8.4-mysql php8.4-cgi php8.4-common php8.4-ldap \
    php8.4-mbstring php8.4-snmp php8.4-gd php8.4-xml php8.4-bcmath -y --no-install-recommends
  3. Настройка PHP (/etc/php/8.4/fpm/php.ini):
    date.timezone = "Europe/Moscow"
    max_execution_time = 300
    post_max_size = 16M
    max_input_time = 300
    max_input_vars = 10000
  4. Настройка Nginx для обработки PHP:
    Отредактируйте файл /etc/nginx/sites-enabled/default. Добавьте index.php в директиве index и в секцию server:

    location ~ \.php$ {
     set $root_path /var/www/html;
     fastcgi_buffer_size 32k;
     fastcgi_buffers 4 32k;
     fastcgi_pass unix:/run/php/php8.4-fpm.sock;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
     include fastcgi_params;
     fastcgi_param DOCUMENT_ROOT $root_path;
    }

    Проверьте конфигурацию и перезапустите Nginx:

    nginx -t && systemctl reload nginx

    Создайте тестовый файл /var/www/html/index.php с содержимым <?php phpinfo(); ?> для проверки.

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. Перейти

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

  1. Добавление репозитория Zabbix 7.2:
    wget https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu22.04_all.deb
    dpkg -i zabbix-release_latest_7.2+ubuntu22.04_all.deb
    apt update
  2. Установка компонентов Zabbix:
    apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y
  3. Настройка базы данных:
    mysql -u root -p

    Выполните в консоли MariaDB:

    CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
    CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Надежный_пароль_zabbix';
    GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
    SET GLOBAL log_bin_trust_function_creators = 1;
    QUIT;

    Импортируйте начальную схему:

    zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
  4. Конфигурация Zabbix Server:
    Укажите пароль от БД в файле /etc/zabbix/zabbix_server.conf:

    DBPassword=Надежный_пароль_zabbix
  5. Завершение настройки веб-сервера:
    Раскомментируйте директивы listen и server_name в файле /etc/zabbix/nginx.conf.
  6. Запуск служб:
    systemctl restart zabbix-server zabbix-agent nginx php8.4-fpm
    systemctl enable zabbix-server zabbix-agent nginx php8.4-fpm
  7. Завершение установки через веб-интерфейс:
    Перейдите по адресу http://IP_сервера:8080 и следуйте мастера установки:

    • Выберите язык.
    • Проверьте предварительные требования (все пункты должны быть «ОК»).
    • Укажите данные для подключения к БД (логин zabbix, пароль и имя БД zabbix).
    • Задайте название сервера, часовой пояс и тему оформления.
    • Для первого входа используйте логин Admin и пароль zabbixРекомендуется немедленно изменить пароль по умолчанию.

Установка и настройка Zabbix Agent на удаленном сервере

  1. Установка агента:
    wget https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu22.04_all.deb
    dpkg -i zabbix-release_latest_7.2+ubuntu22.04_all.deb
    apt update && apt -y install zabbix-agent
  2. Конфигурация агента (/etc/zabbix/zabbix_agentd.conf):
    Измените ключевые параметры:

    Server=IP_адрес_Zabbix_сервера
    ServerActive=IP_адрес_Zabbix_сервера
    Hostname=Имя_хоста_агента_как_в_системе

    Узнать hostname можно командой hostname.

  3. Запуск агента и открытие порта:
    systemctl restart zabbix-agent && systemctl enable zabbix-agent
    systemctl status zabbix-agent # Проверка статуса

    Важно: На сервере с агентом откройте порт 10050 для входящих подключений с Zabbix-сервера.

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

  1. В веб-интерфейсе перейдите: Сбор данных → Узлы сети → Создать узел сети.
  2. Заполните форму:
    • Имя узла сети: Укажите понятное имя.
    • Группы: Добавьте в группу, например, Linux servers.
    • Интерфейсы: Нажмите «Добавить», выберите тип «Агент», укажите IP-адрес агента и порт 10050.
    • Шаблоны: Свяжите шаблон Linux by Zabbix agent.
  3. Сохраните узел. Через несколько минут в разделе Мониторинг → Узлы сети вы сможете видеть данные с нового сервера, включая графики и метрики.

Диагностика проблем

Если узел недоступен, проверьте:

  1. Корректность настроек в zabbix_agentd.conf.
  2. Открыт ли порт 10050 на агенте для IP-адреса сервера.
  3. Сеть между серверами (можно проверить командой ping и telnet IP_сервера 10050 с агента).
  4. Логи агента: /var/log/zabbix/zabbix_agentd.log.
Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. Перейти