Zabbix vs Prometheus + Grafana: сравнение и пошаговая настройка мониторинга Linux-серверов в 2026 | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

Zabbix vs Prometheus + Grafana: сравнение и пошаговая настройка мониторинга Linux-серверов в 2026

08 апреля 2026 9 мин. чтения
Содержание статьи

В 2026 году развернуть эффективную систему мониторинга для Linux-инфраструктуры в продакшене можно двумя основными путями: используя готовую платформу Zabbix или собрав модульный стек Prometheus + Grafana. Оба решения — мощные open-source инструменты, но их архитектура и философия принципиально различаются, что напрямую влияет на выбор для конкретной задачи. Zabbix предлагает централизованное управление «из коробки», в то время как Prometheus с Grafana дают максимальную гибкость за счет сборки из независимых компонентов.

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

Zabbix или Prometheus + Grafana: объективное сравнение для принятия решения в 2026

Выбор между Zabbix и Prometheus с Grafana — это выбор между двумя разными философиями построения мониторинга. Чтобы принять обоснованное решение, сравним их по ключевым для продакшена критериям: архитектуре, сложности настройки и поддержки, гибкости и масштабируемости.

Архитектура и философия: централизованное управление против модульной гибкости

Архитектурное различие — фундаментально. Zabbix — это классическая монолитная система, построенная по модели «сервер — агенты/прокси — база данных». Сервер Zabbix является единой точкой управления: он опрашивает агентов, установленных на хостах, или собирает данные без агентов через SNMP, ICMP, HTTP. Веб-интерфейс, логика алертинга и хранение данных тесно интегрированы. Это обеспечивает быстрое развертывание готовой системы, но делает кастомизацию отдельных компонентов более сложной.

Prometheus, в свою очередь, работает по модели pull (вытягивания). Автономный сервер Prometheus периодически «скрабирует» (запрашивает) метрики у так называемых экспортеров, например, Node Exporter для метрик ОС. Grafana выступает отдельным, независимым инструментом визуализации, который подключается к Prometheus как к источнику данных. Alertmanager — еще один отдельный компонент для обработки и маршрутизации алертов.

Что выбрать? Zabbix отлично подходит для классической, гетерогенной инфраструктуры с сетевым оборудованием, где важна единая точка управления и готовые шаблоны. Стек Prometheus + Grafana стал де-факто стандартом для мониторинга микросервисных архитектур и Kubernetes, где важны гибкость, мощный язык запросов PromQL и возможность легко интегрировать кастомные экспортеры.

Сложность настройки и поддержки: первоначальные и долгосрочные затраты

Оценка трудозатрат — критический фактор.

Начальная настройка: Zabbix позволяет быстрее получить работающую систему. После установки сервера, базы данных и веб-интерфейса вы сразу получаете доступ к библиотеке готовых шаблонов для мониторинга Linux, сетевых устройств и популярных сервисов. Добавление нового хоста часто сводится к установке агента и привязке шаблона в веб-интерфейсе.

Для Prometheus + Grafana потребуется больше ручных шагов: отдельная установка и настройка Prometheus, Node Exporter на каждом хосте, Grafana, а затем их связывание через конфигурационные файлы (prometheus.yml). Создание эффективных алертов требует понимания PromQL.

Долгосрочная поддержка и масштабирование: Zabbix проще администрировать на начальном и среднем масштабе благодаря централизованному веб-интерфейсу. Для масштабирования на сотни/тысячи хостов потребуется настройка прокси-серверов Zabbix для распределения нагрузки. Архитектура Prometheus изначально горизонтально масштабируема (несколько независимых серверов), но для глобального представления данных потребуются дополнительные инструменты, такие как Thanos или Cortex.

Итог для выбора: Если вам нужна «работающая из коробки» система с минимумом ручной сборки и ваша команда знакома с классическими системами мониторинга — выбирайте Zabbix. Если ваша инфраструктура динамична (контейнеры, микросервисы), а команда готова инвестировать время в изучение и тонкую настройку модульного стека для максимального контроля — ваш выбор Prometheus + Grafana. Для глубокого понимания метрик и их анализа рекомендуем ознакомиться с нашим руководством по ключевым метрикам производительности Linux.

Пошаговая установка и базовая настройка Zabbix для мониторинга Linux-сервера

Предполагаем, что вы используете Ubuntu 24.04 LTS или Rocky Linux 9. Все команды актуальны на апрель 2026 года.

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

1. Установите репозиторий Zabbix и необходимые пакеты (на примере Ubuntu):

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb
apt update

2. Установите сервер Zabbix, фронтенд и агент, используя PostgreSQL в качестве БД:

apt install -y zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2

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

sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

4. Настройте подключение к БД в файле /etc/zabbix/zabbix_server.conf:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_secure_password_here

5. Запустите сервисы и настройте автозагрузку:

systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm
systemctl enable zabbix-server zabbix-agent2 nginx php8.3-fpm

6. Откройте веб-браузер и перейдите по адресу http://ваш_сервер/zabbix. Следуйте мастеру начальной настройки веб-интерфейса.

Настройка мониторинга первого хоста: CPU, память, диск, сеть

1. В веб-интерфейсе Zabbix перейдите в Configuration → Hosts и нажмите Create host.

2. Заполните основные параметры: имя хоста, видимое имя и добавьте его в группу (например, «Linux servers»).

3. На вкладке Interfaces добавьте интерфейс типа «Agent» и укажите IP-адрес целевого хоста и порт агента (по умолчанию 10050).

4. На вкладке Templates найдите и свяжите шаблон Template OS Linux by Zabbix agent. Этот шаблон автоматически начнет сбор ключевых метрик: загрузку CPU, использование оперативной и swap-памяти, свободное место на разделах диска, сетевой трафик по интерфейсам, количество запущенных процессов и другую системную телеметрию.

5. Нажмите Add. Через несколько минут перейдите в Monitoring → Latest data, отфильтруйте по имени вашего хоста. Вы увидите список собираемых метрик и их текущие значения. Если данные не появляются, проверьте, что на целевом хосте запущен и настроен Zabbix Agent2, а брандмауэр разрешает соединения на порт 10050.

Развертывание стека мониторинга Prometheus, Node Exporter и Grafana с нуля

Инструкция для Ubuntu 24.04 LTS / Rocky Linux 9. Будем разворачивать компоненты на одном сервере для простоты.

Настройка Prometheus и добавление цели для Node Exporter

1. Установите Prometheus:

wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
tar xvf prometheus-2.52.0.linux-amd64.tar.gz
sudo mv prometheus-2.52.0.linux-amd64 /usr/local/bin/prometheus
sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus /var/lib/prometheus

2. Создайте основной конфигурационный файл /etc/prometheus/prometheus.yml:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

3. Установите и запустите Node Exporter для сбора метрик ОС:

wget https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz
tar xvf node_exporter-1.8.0.linux-amd64.tar.gz
sudo mv node_exporter-1.8.0.linux-amd64/node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo systemctl enable --now node_exporter

4. Запустите Prometheus и откройте веб-интерфейс по адресу http://ваш_сервер:9090. Перейдите на вкладку Status → Targets. Вы должны увидеть состояние целей (targets) prometheus и node_exporter как UP.

Визуализация метрик: импорт дашборда в Grafana и создание своего

1. Установите Grafana:

sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y grafana
sudo systemctl enable --now grafana-server

2. Откройте веб-интерфейс Grafana по адресу http://ваш_сервер:3000 (логин/пароль по умолчанию: admin/admin).

3. Добавьте источник данных: Configuration → Data sources → Add data source. Выберите Prometheus. В поле URL укажите http://localhost:9090 и нажмите Save & Test.

4. Импортируйте готовый дашборд. Перейдите в Dashboards → Import. В поле Import via grafana.com введите ID 1860 (популярный дашборд «Node Exporter Full»). Выберите источник данных Prometheus и нажмите Import.

Теперь у вас есть комплексный дашборд с графиками по CPU, памяти, дисковому вводу-выводу, сетевому трафику, загрузке системы и другим метрикам. Для создания собственной панели нажмите Add → Visualization, выберите источник данных Prometheus и используйте PromQL для запроса метрик, например: rate(node_cpu_seconds_total{mode="system"}[5m]) для загрузки CPU в системном режиме.

Настройка алертинга: от простых уведомлений до отказоустойчивой конфигурации

Система мониторинга без алертов — просто архив данных. Настроим оповещения в обеих системах, начав с самых востребованных сценариев.

Алерты в Zabbix: триггеры, действия и интеграция с Telegram

1. Создайте триггер. Перейдите в Configuration → Hosts, выберите ваш хост и перейдите на вкладку TriggersCreate trigger.
Name: «High CPU load on {HOST.NAME}»
Expression: {Template OS Linux by Zabbix agent:system.cpu.util[,system].avg(5m)}>90
Это выражение сработает, если средняя за 5 минут загрузка CPU в системном режиме превысит 90%.

2. Настройте способ оповещения (медиа-тип). Перейдите в Administration → Media typesCreate media type.
Name: «Telegram»
Type: Webhook
• В поле Script укажите скрипт, который будет отправлять сообщение через API Telegram-бота. (Для экономии места приведем концепцию: вам потребуется создать бота через @BotFather, получить его токен и chat ID, затем написать скрипт, использующий curl для вызова https://api.telegram.org/bot{token}/sendMessage).

3. Создайте действие. Перейдите в Configuration → Actions, выберите тип «Trigger action» → Create action.
• Настройте условие, при котором действие выполняется (например, для созданного триггера).
• На вкладке Operations добавьте операцию: отправку сообщения созданному пользователю (или группе) через медиа-тип «Telegram».

Alertmanager для Prometheus: правила алертов и маршрутизация

1. Установите и настройте Alertmanager (отдельный компонент).

2. Создайте файл правил алертов для Prometheus, например, /etc/prometheus/rules/node_alerts.yml:

groups:
- name: node_alerts
  rules:
  - alert: HighMemoryUsage
    expr: (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100 > 85
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "High memory usage on {{ $labels.instance }}"
      description: "Memory usage is above 85% (current value: {{ $value }}%)"

3. Укажите путь к правилам в prometheus.yml в секции rule_files и перезагрузите конфигурацию Prometheus.

4. Настройте alertmanager.yml для маршрутизации алертов, например, в Slack или email. Alertmanager позволяет группировать алерты по меткам, подавлять уведомления и настраивать повторные отправки. Перед настройкой сложных алертов полезно провести нагрузочное тестирование сервисов, чтобы понимать их нормальное поведение. Методики описаны в нашем руководстве по нагрузочному тестированию серверов.

Дальнейшее развитие: масштабирование, кастомные метрики и поддержка в 2026

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

Как добавить мониторинг специфичного оборудования или приложения

Сила обеих систем — в расширяемости.

Для Prometheus используется концепция экспортеров. Например, для мониторинга GPU NVIDIA установите nvidia_gpu_exporter. Для мониторинга кастомного приложения нужно, чтобы оно отдавало метрики в формате Prometheus (обычно по HTTP на путь /metrics). Если приложение этого не умеет, можно написать простой экспортер на Python с использованием библиотеки prometheus_client.

Для Zabbix используйте UserParameter в конфигурации агента (/etc/zabbix/zabbix_agent2.d/*.conf). Он позволяет определить ключ и команду, результат выполнения которой Zabbix будет собирать как метрику. Например:

UserParameter=app.queue.size, /usr/local/bin/check_queue.sh

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

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

Поддержка в 2026: Регулярно обновляйте компоненты для получения исправлений уязвимостей и новых функций. Настройте резервное копирование критических конфигураций: файлов prometheus.yml, правил алертов, дашбордов Grafana (их можно экспортировать в JSON), а также базы данных Zabbix. Помните: система мониторинга сама является критической инфраструктурой. Настройте для нее базовый мониторинг (нагрузка, дисковое пространство) и продумайте схему высокой доступности, если это необходимо для вашего продакшена.

Поделиться:
Сохранить гайд? В закладки браузера