Zabbix: мониторинг IT-инфраструктуры с нуля до production

Zabbix: мониторинг IT-инфраструктуры с нуля до production

Server 24 марта 2026 Автор: Евгений Семёнов
Zabbix: мониторинг IT-инфраструктуры с нуля до production

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

Зачем нужен Zabbix и какие задачи он решает?

За 15 лет работы с разными системами мониторинга я не видел инструмента, который закрывал бы такой же широкий спектр задач, как Zabbix:

Главное, чем Zabbix отличается от «просто мониторинга» — он проактивный. Вы узнаёте о проблеме раньше пользователей, а не из их звонка. Диск забит на 85%? Алерт придёт заранее. SSL-сертификат сгорает через 14 дней? Получите уведомление с запасом. Сервер не отвечает три минуты? Zabbix сам перезапустит сервис. На практике это экономит часы разбора инцидентов.

Какую архитектуру выбрать для развёртывания Zabbix?

Архитектура Zabbix состоит из нескольких компонентов — важно понимать, что делает каждый:

Рекомендация: Для базы данных используйте PostgreSQL + TimescaleDB. Это оптимальное решение по производительности, особенно для крупных инсталляций с тысячами метрик. TimescaleDB ускоряет запросы к историческим данным в разы.

Как установить Zabbix Server на Debian/Ubuntu?

Разворачиваем Zabbix 7.0 LTS на Debian 12 с PostgreSQL:

# Добавляем репозиторий Zabbix
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
dpkg -i zabbix-release_latest+debian12_all.deb
apt update

# Устанавливаем компоненты
apt install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql \
  zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2

# Устанавливаем PostgreSQL
apt install -y postgresql postgresql-contrib

# Создаём базу данных
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

Прописываем подключение к БД в /etc/zabbix/zabbix_server.conf:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=YOUR_SECURE_PASSWORD

# Производительность
StartPollers=10
StartPingers=5
CacheSize=256M
HistoryCacheSize=64M
ValueCacheSize=128M
# Запускаем службы
systemctl enable --now zabbix-server zabbix-agent2 nginx php8.2-fpm
systemctl restart zabbix-server

Веб-интерфейс откроется по адресу http://IP/. Логин по умолчанию: Admin / zabbix.

Как установить и настроить Zabbix Agent на хостах?

На каждый контролируемый хост ставим Zabbix Agent 2 — это актуальная версия, её и рекомендую:

# Debian/Ubuntu
apt install -y zabbix-agent2

# CentOS/RHEL
dnf install -y zabbix-agent2

# Windows
# Скачайте MSI с https://www.zabbix.com/download_agents

Правим конфигурацию /etc/zabbix/zabbix_agent2.conf:

Server=192.168.1.10          # IP Zabbix Server
ServerActive=192.168.1.10    # Для активных проверок
Hostname=web-server-01       # Имя хоста (должно совпадать в Zabbix)
ListenPort=10050

# Расширенный мониторинг
Plugins.SystemRun.LogRemoteCommands=1
AllowKey=system.run[*]
Совместимость версий: Агенты Zabbix обратно совместимы. Agent 6.0 работает с Server 7.0. Но новые функции (например, Zabbix Agent 2 плагины) требуют совпадения мажорных версий.

Как настроить шаблоны мониторинга для типовых задач?

Из коробки Zabbix идёт с сотнями готовых шаблонов — в большинстве случаев писать ничего самому не придётся. Чаще всего используем:

Привязываем шаблон к хосту через: Configuration → Hosts → выбрать хост → Templates → Link new templates.

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

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

# Диск заполнен более чем на 90%
{host:vfs.fs.size[/,pused].last()}>90

# CPU загружен более 95% в течение 5 минут
{host:system.cpu.util.avg(5m)}>95

# Сервис не работает
{host:net.tcp.service[http,,80].last()}=0

# SSL-сертификат истекает менее чем через 14 дней
{host:web.certificate.info[example.ru,443].json_parse("$.not_after_timestamp")}-{host:time.now.last()}<1209600

Куда слать уведомления — настраивается через Media Types. Вариантов достаточно:

Как мониторить сетевое оборудование через SNMP?

Для мониторинга коммутаторов, маршрутизаторов и прочего сетевого железа — SNMP. Настройка выглядит так:

# Добавляем хост с SNMP-интерфейсом в Zabbix:
# Configuration → Hosts → Create host
# Interfaces: SNMP, IP: 192.168.1.1, Port: 161
# SNMP community: public (или ваш community string)

# Привязываем шаблон:
# Templates → Cisco IOS SNMP / Generic SNMP / etc.

Дальше Zabbix сам разберётся: через LLD (Low Level Discovery) автоматически обнаружит сетевые интерфейсы и начнёт собирать трафик, ошибки, статус портов. Руками прописывать каждый интерфейс не придётся.

Как настроить мониторинг удалённых площадок через Zabbix Proxy?

Серверы за NAT или в удалённом офисе? Ставим Zabbix Proxy:

# На удалённой площадке
apt install -y zabbix-proxy-pgsql

# /etc/zabbix/zabbix_proxy.conf
Server=ZABBIX_SERVER_IP
Hostname=proxy-office-2
DBName=zabbix_proxy
ProxyMode=0  # Active mode

Proxy собирает данные локально и пакетами отправляет на центральный сервер. WAN-канал не перегружается, а при временном обрыве связи данные не теряются — накапливаются и досылаются, когда соединение восстановится.

Как построить дашборды и отчёты в Zabbix?

Дашборды дают живую картину состояния инфраструктуры — именно их мы обычно выводим на мониторы в серверной:

  1. Monitoring → Dashboard → Create dashboard
  2. Добавьте виджеты: Graph, Problem hosts, System information, Map
  3. Задайте период отображения и интервал автообновления

Для регулярной отчётности есть несколько инструментов:

Как масштабировать Zabbix для крупной инфраструктуры?

Несколько вещей, которые реально ускоряют работу Zabbix на больших объёмах данных:

# Включение TimescaleDB
# В postgresql.conf:
shared_preload_libraries = 'timescaledb'

# В Zabbix:
# Administration → General → Housekeeping
# Enable TimescaleDB compression

Какие типичные проблемы возникают при работе с Zabbix?

Вот что чаще всего спрашивают на практике:

Заключение: Zabbix как единая система мониторинга

Zabbix — это про спокойный сон. Серьёзно. Когда мы внедряли мониторинг клиентам, первая же неделя работы системы стабильно выявляла проблемы, о которых никто не подозревал: диск забит на 95%, сервис упал ночью и сам поднялся, канал периодически деградирует. Начните с малого — возьмите 5–10 ключевых хостов, настройте уведомления в Telegram, соберите первый дашборд. Дальше охват растёт сам собой, по мере того как команда начинает доверять данным. Если хочется пройти этот путь быстро и без граблей — команда АйТи Фреш развернула Zabbix уже для десятков компаний, поможем и вам.

Документация: Zabbix 7.0 Documentation

Часто задаваемые вопросы

Какую базу данных лучше использовать для Zabbix — MySQL или PostgreSQL?

Рекомендуется PostgreSQL + TimescaleDB. Это оптимальное решение по производительности, особенно для крупных инсталляций. TimescaleDB ускоряет запросы к историческим данным и позволяет эффективно сжимать старые метрики.

Совместимы ли агенты Zabbix разных версий с сервером?

Да, агенты Zabbix обратно совместимы. Agent 5.0 или 6.0 будет работать с Server 7.0. Однако для использования новых функций (например, плагины Agent 2) рекомендуется обновлять агенты до версии сервера.

Как мониторить устройства за NAT без белого IP?

Используйте Zabbix Proxy в активном режиме на удалённой площадке. Proxy собирает данные от агентов локально и пересылает на центральный сервер. Альтернатива — переведите агенты в активный режим (ServerActive), тогда агент сам инициирует соединение с сервером.

Сколько ресурсов нужно серверу Zabbix для мониторинга 100 хостов?

Для 100 хостов со стандартными шаблонами: 4 ядра CPU, 8 ГБ RAM, 100 ГБ SSD для БД. При 1000+ NVPS (new values per second) увеличьте CacheSize до 512M и HistoryCacheSize до 128M в конфигурации сервера.

Как отправлять уведомления из Zabbix в Telegram?

Administration → Media Types → Telegram. Создайте бота через @BotFather, получите токен. Укажите токен в настройках Media Type. Затем в профиле пользователя добавьте Telegram media с chat_id. Настройте Action для отправки при срабатывании триггера.

Можно ли использовать Zabbix вместе с Grafana?

Да. Установите плагин Zabbix для Grafana (alexanderzobnin-zabbix-app). Grafana подключается к Zabbix через API и позволяет строить продвинутые дашборды с данными из Zabbix. Это популярная связка для красивой визуализации.

Нужна помощь специалистов?

ООО «АйТи Фреш» возьмёт это на себя

Не хватает времени или своих специалистов — мы настроим, оптимизируем и возьмём вашу IT-инфраструктуру на постоянное сопровождение. Работаем с юридическими лицами в Москве и регионах. Собственный дата-центр, команда из 8 серверов Dell Xeon Platinum 8280 на базе МТС.

15+лет опыта
25+клиентов
40Gсвоя сеть
24/7поддержка

Подпишитесь на рассылку ITfresh

Каждую неделю мы выпускаем практические гайды для руководителей IT и системных администраторов. Это не просто теория! Здесь вы найдёте всё: безопасность, 1С, миграции, резервные копии и проверенные лайфхаки из наших реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.