В этом материале мы рассмотрим популярную систему мониторинга Zabbix: её назначение, основные возможности, а также пошаговую инструкцию по развертыванию виртуального сервера VPS и подключению к нему агентов для наблюдения за другими серверами.
Zabbix: что это такое
Zabbix — это мощное программное решение для мониторинга, предназначенное для сбора данных, отслеживания состояния и производительности серверов, сетевого оборудования, сервисов и приложений.
Ключевые преимущества системы
- Открытый исходный код. Распространяется под лицензией AGPL-3.0, что делает решение полностью бесплатным для любого использования.
- Гибкий и настраиваемый интерфейс. Позволяет создавать персонализированные информационные панели (дашборды), выбирать темы оформления и отображать только релевантные метрики.
- Активное сообщество и документация. Благодаря поддержке сообщества доступна обширная документация, форумы и готовые шаблоны для мониторинга множества систем.
- Высокая масштабируемость. Система способна эффективно контролировать тысячи устройств и сервисов одновременно.
- Многофункциональные оповещения. Поддерживает мгновенные уведомления о проблемах через различные каналы: Email, Telegram, Slack, SMS и другие. Возможна тонкая настройка эскалаций и условий для разных уровней важности событий.
Требования для развертывания
Для работы потребуется два сервера под управлением Ubuntu 22.04:
- Сервер Zabbix: для установки основной системы, где будут храниться и обрабатываться все данные мониторинга.
- Сервер с агентом: для установки Zabbix Agent, который будет собирать метрики и передавать их на главный сервер.
Дополнительно необходимы:
Данное руководство основано на официальных рекомендациях Zabbix, доступных в документации.
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
Предварительная настройка VPS сервера
Перед началом установки выполните базовую подготовку системы.
- Обновление пакетов:
apt update && apt upgrade -y
- Настройка локали (языковых пакетов):
Чтобы избежать проблем с веб-интерфейсом, установите нужные локали. Проверьте текущие командой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
- Для английского языка:
- Открытие портов в брандмауэре:
Необходимо открыть порты для веб-интерфейса (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.
- Пример для iptables:
Установка необходимого ПО для Zabbix Server
Установка MariaDB 11.4
Следуйте инструкциям на официальном сайте для вашей ОС или выполните:
- Добавление ключа и репозитория:
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
- Установка и запуск 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
- Nginx:
apt install nginx -y systemctl enable --now nginx
Проверьте работу, перейдя по
http://IP_вашего_сервера. - 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
- Настройка 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
- Настройка 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
- Добавление репозитория 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
- Установка компонентов Zabbix:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y
- Настройка базы данных:
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
- Конфигурация Zabbix Server:
Укажите пароль от БД в файле/etc/zabbix/zabbix_server.conf:DBPassword=Надежный_пароль_zabbix
- Завершение настройки веб-сервера:
Раскомментируйте директивыlistenиserver_nameв файле/etc/zabbix/nginx.conf. - Запуск служб:
systemctl restart zabbix-server zabbix-agent nginx php8.4-fpm systemctl enable zabbix-server zabbix-agent nginx php8.4-fpm
- Завершение установки через веб-интерфейс:
Перейдите по адресуhttp://IP_сервера:8080и следуйте мастера установки:- Выберите язык.
- Проверьте предварительные требования (все пункты должны быть «ОК»).
- Укажите данные для подключения к БД (логин
zabbix, пароль и имя БДzabbix). - Задайте название сервера, часовой пояс и тему оформления.
- Для первого входа используйте логин Admin и пароль zabbix. Рекомендуется немедленно изменить пароль по умолчанию.
Установка и настройка Zabbix Agent на удаленном сервере
- Установка агента:
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
- Конфигурация агента (
/etc/zabbix/zabbix_agentd.conf):
Измените ключевые параметры:Server=IP_адрес_Zabbix_сервера ServerActive=IP_адрес_Zabbix_сервера Hostname=Имя_хоста_агента_как_в_системе
Узнать hostname можно командой
hostname. - Запуск агента и открытие порта:
systemctl restart zabbix-agent && systemctl enable zabbix-agent systemctl status zabbix-agent # Проверка статуса
Важно: На сервере с агентом откройте порт 10050 для входящих подключений с Zabbix-сервера.
Добавление узла в веб-интерфейсе Zabbix
- В веб-интерфейсе перейдите: Сбор данных → Узлы сети → Создать узел сети.
- Заполните форму:
- Имя узла сети: Укажите понятное имя.
- Группы: Добавьте в группу, например,
Linux servers. - Интерфейсы: Нажмите «Добавить», выберите тип «Агент», укажите IP-адрес агента и порт
10050. - Шаблоны: Свяжите шаблон
Linux by Zabbix agent.
- Сохраните узел. Через несколько минут в разделе Мониторинг → Узлы сети вы сможете видеть данные с нового сервера, включая графики и метрики.
Диагностика проблем
Если узел недоступен, проверьте:
- Корректность настроек в
zabbix_agentd.conf. - Открыт ли порт
10050на агенте для IP-адреса сервера. - Сеть между серверами (можно проверить командой
pingиtelnet IP_сервера 10050с агента). - Логи агента:
/var/log/zabbix/zabbix_agentd.log.
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
