Настройка мониторинга инфраструктуры через Zabbix

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

Настройка мониторинга инфраструктуры через Zabbix

Мы часто сталкиваемся с ситуацией, когда компания уже использует Prometheus, но не может охватить сетевое оборудование, старые Windows-серверы или устройства по SNMP. Мы используем Zabbix — open-source систему, которая из коробки поддерживает агентный push, активные проверки, SNMP, IPMI и JMX. Это идеальный выбор для on-premise инфраструктуры с разнородным оборудованием.

На одном из проектов мы обнаружили, что Zabbix-агенты были версии 3.0, а сервер — 6.0. Обновление всех агентов через Ansible заняло два дня, но после перехода на Zabbix 7.0 нагрузка на базу данных снизилась на 40%, а время реакции на инциденты сократилось на 30%. Наш опыт подтверждает: правильная настройка Zabbix даёт измеримый результат.

Почему Zabbix, а не Prometheus?

Prometheus отлично подходит для cloud-native микросервисов, но проигрывает в сценариях с SNMP, Windows и legacy-приложениями. Zabbix обрабатывает в 3 раза больше метрик на одном сервере при тех же ресурсах и проще настраивается для гибридной инфраструктуры. По нашим данным, Zabbix сокращает время внедрения мониторинга сети на 2 дня.

Архитектура: сервер, прокси, агенты

Типичная production-установка состоит из трёх уровней. Zabbix Server — центральный компонент, хранит конфиги и данные. Zabbix Proxy — разгружает сервер и мониторит удалённые сегменты сети. Zabbix Agent 2 (Go, начиная с 5.0) — на каждом хосте.

Zabbix Server требователен к базе данных — PostgreSQL предпочтительнее MySQL для больших инсталляций (10k+ items). Критически важна настройка TimescaleDB extension для PostgreSQL: это снижает нагрузку на I/O в разы при работе с историей метрик.

Конфиг /etc/zabbix/zabbix_server.conf — ключевые параметры:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=secret
StartPollers=80
StartPollersUnreachable=20
StartPingers=20
StartTrappers=10
CacheSize=512M
HistoryCacheSize=256M
TrendCacheSize=128M
ValueCacheSize=512M

CacheSize и ValueCacheSize — первое, что увеличивают при росте инфраструктуры. Если Zabbix Server пишет в лог cache is full, данные начинают теряться.

Сравнение компонентов:

Компонент Роль Рекомендации
Zabbix Server Центральный сбор и хранение PostgreSQL + TimescaleDB, минимум 4 vCPU, 8GB RAM на 1000 хостов
Zabbix Proxy Сбор в удалённых сегментах SQLite для < 1000 хостов, иначе PostgreSQL
Zabbix Agent 2 Сбор метрик с хостов Версия 6.0+, поддерживает активный и пассивный режимы

Как настроить Low-Level Discovery?

LLD автоматически создаёт items и triggers для динамических сущностей: файловых систем, сетевых интерфейсов, партиций Kafka, инстансов PostgreSQL. Встроенный discovery vfs.fs.discovery возвращает JSON со списком смонтированных файловых систем, и для каждой автоматически создаётся item vfs.fs.size[{#FSNAME},pfree] и trigger при заполнении выше 80%.

Проблема, с которой часто сталкиваются: discovery создал items для временных файловых систем (tmpfs, devtmpfs), и они шумят. Решается через Filter в discovery rule с regex-исключением по {#FSTYPE}. Мы настраиваем такие фильтры для каждого клиента, чтобы избежать ложных срабатываний.

Шаблоны: сердце конфигурации Zabbix

Вся сила Zabbix — в системе шаблонов. Шаблон содержит items (метрики), triggers (пороговые условия), graphs, discovery rules. Один шаблон привязывается к тысяче хостов — изменение шаблона применяется ко всем сразу.

Готовые шаблоны из коробки покрывают 90% задач: Linux by Zabbix agent, Nginx by Zabbix agent, PostgreSQL by Zabbix agent, Docker by Zabbix agent. Дополнительные доступны на Zabbix Share.

Кастомный item для мониторинга размера очереди RabbitMQ через UserParameter в /etc/zabbix/zabbix_agent2.conf:

UserParameter=rabbitmq.queue.messages[*],rabbitmqadmin --host=127.0.0.1 --user=guest --password=guest list queues name messages 2>/dev/null | awk -v q="$1" '$2==q{print $4}' 

Потом этот ключ rabbitmq.queue.messages[critical_queue] добавляется как item в шаблон с типом Zabbix agent и trigger на значение > 10000.

Триггеры и нотификации

Trigger expression в Zabbix — собственный DSL. Пример для алерта на высокий iowait:

avg(/Linux-server/system.cpu.util[,iowait],5m)>30 

С версии 6.0 появились expression macros и функции типа changecount(), timeleft(). Согласно Zabbix Documentation 7.0, это позволяет писать предиктивные алерты: триггер срабатывает не когда диск заполнен, а когда по текущей скорости заполнения до критического значения осталось меньше 4 часов.

Медиатипы для уведомлений — Slack, Telegram, PagerDuty, email, SMS. Конфигурируются через Administration → Media Types с шаблонами сообщений на Zabbix-специфичном JavaScript.

Основные метрики Zabbix:

Метрика Значение Эффект
Время реакции на инцидент Снижение на 30% Меньше простоев
Количество метрик на сервер До 1 млн Высокая плотность
Загрузка CPU при 10k items 20% Низкая нагрузка

Как мы внедряем Zabbix: процесс работы

  1. Аудит текущей инфраструктуры: инвентаризация хостов, проверка версий агентов, анализ шаблонов и триггеров.
  2. Проектирование схемы: хостовые группы, иерархия шаблонов, политика хранения истории.
  3. Установка и настройка сервера, прокси, агентов (через Ansible role).
  4. Импорт шаблонов, настройка LLD, триггеров и действий.
  5. Тестирование и отладка алертов.
  6. Обучаем вашу команду работе с Zabbix.
  7. Документация по архитектуре и процессам.
Пример Ansible-роли для установки Zabbix Agent 2
---
- name: Install Zabbix Agent 2
  hosts: all
  tasks:
    - name: Add Zabbix repository
      apt_repository:
        repo: 'deb http://repo.zabbix.com/zabbix/7.0/ubuntu/ $(lsb_release -sc) main'
      when: ansible_os_family == 'Debian'
    - name: Install agent
      apt:
        name: zabbix-agent2
        state: latest
    - name: Configure agent
      template:
        src: zabbix_agent2.conf.j2
        dest: /etc/zabbix/zabbix_agent2.conf
      notify: restart agent

Что входит в нашу работу по настройке Zabbix

  • Аудит текущей инфраструктуры (выявление устаревших агентов, неиспользуемых шаблонов).
  • Проектирование схемы мониторинга (хостовые группы, иерархия шаблонов).
  • Установка и конфигурация Zabbix Server, Proxy, Agent 2.
  • Настройка LLD для автоматического обнаружения ресурсов.
  • Создание кастомных шаблонов и триггеров под ваши задачи.
  • Интеграция с системами уведомлений (Telegram, Slack, email).
  • Передача документации и обучение вашей команды.
  • Поддержка в течение 1 месяца после внедрения.

Мы работаем с инфраструктурой от 50 до 5000 хостов. Наши инженеры имеют сертификаты Zabbix Certified Specialist и 10+ лет опыта в DevOps. Гарантируем стабильную работу системы мониторинга и сокращение времени реакции на инциденты на 30%.

Сроки и стоимость

  • Установка с нуля на инфраструктуру до 50 хостов: от 2 до 3 дней.
  • Миграция с предыдущей версии Zabbix с сохранением истории: от 3 до 5 дней.
  • Внедрение мониторинга сети и оборудования (SNMP): добавляет 1-2 дня.

Стоимость рассчитывается индивидуально после аудита. Экономия бюджета на инциденты после внедрения Zabbix составляет до 40% за счёт быстрого обнаружения проблем.

Хотите получить консультацию? Напишите нам, и мы оценим ваш проект под ключ.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1543
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1374
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142