Открыть сервис

Zabbix

Zabbix — это свободная система мониторинга компьютерных сетей, серверов и приложений с открытым исходным кодом, предназначенная для сбора, обработки, визуализации и оповещения о состоянии ИТ-инфраструктуры в реальном времени. Относится к классу систем управления ИТ-инфраструктурой (IT Infrastructure Monitoring), позволяет отслеживать производительность, доступность и целостность сетевых устройств, операционных систем, баз данных, веб-серверов и облачных сервисов. Zabbix распространяется под лицензией GNU General Public License версии 2 (GPLv2), что обеспечивает его бесплатное использование, модификацию и распространение.

История

Разработка Zabbix началась в 1998 году австралийским инженером Алексеем Владиславлевым. Первая стабильная версия (1.0) была выпущена в 2001 году. Изначально проект создавался как внутреннее решение для мониторинга в телекоммуникационной компании, но вскоре был опубликован под открытой лицензией. Название «Zabbix» происходит от английского сленгового слова «zabbix», означающего «нечто, что работает непредсказуемо» — ироничная отсылка к сложности настройки первых версий.

Ключевые вехи развития:

  • 2001 год — выход версии 1.0: поддержка SNMP, агентский мониторинг, простые оповещения.
  • 2004 год — версия 1.1: добавлен веб-интерфейс, улучшена масштабируемость.
  • 2008 год — версия 1.6: введена поддержка траппов SNMP, журналирования событий.
  • 2010 год — версия 1.8: реализована распределённая архитектура (Zabbix Proxy), поддержка мониторинга виртуальных сред.
  • 2014 год — версия 2.2: улучшена производительность, добавлена поддержка IPv6.
  • 2016 год — версия 3.0: введён новый движок оповещений, поддержка Elasticsearch.
  • 2018 год — версия 4.0: LTS-релиз с длительной поддержкой, улучшенная визуализация.
  • 2020 год — версия 5.0: LTS, поддержка Kubernetes, Prometheus-подобных метрик.
  • 2022 год — версия 6.0: LTS, новый интерфейс на Vue.js, встроенный трейсинг запросов.
  • 2024 год — версия 7.0: LTS, улучшенная интеграция с облачными платформами, поддержка OpenTelemetry.

На 2025 год Zabbix является одним из самых популярных решений с открытым кодом для мониторинга, наряду с Nagios, Prometheus и Grafana.

Архитектура и компоненты

Zabbix построен по модульной клиент-серверной архитектуре. Основные компоненты системы:

Сервер (Zabbix Server)

Центральный компонент, отвечающий за сбор данных, обработку правил, выполнение триггеров и отправку оповещений. Сервер работает на операционных системах Linux, Unix-подобных системах (FreeBSD, Solaris) и Windows. Для хранения данных использует реляционные базы данных: MySQL, PostgreSQL, Oracle, SQLite (для тестовых сред).

Прокси (Zabbix Proxy)

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

Агент (Zabbix Agent)

Программное обеспечение, устанавливаемое на мониторируемые хосты (серверы, рабочие станции, виртуальные машины). Агент собирает локальные данные (загрузка CPU, использование памяти, дисковые операции, состояние процессов) и передаёт их серверу или прокси. Агенты доступны для Linux, Windows, macOS, FreeBSD, Solaris, AIX, HP-UX. Существует также лёгкая версия агента (Zabbix Agent 2), написанная на Go, с поддержкой плагинов.

Веб-интерфейс (Zabbix Frontend)

Веб-приложение на PHP, предоставляющее графический интерфейс для управления системой, просмотра данных, настройки триггеров, создания дашбордов и отчётов. Интерфейс поддерживает современные браузеры, адаптивную вёрстку и тёмную тему.

База данных

Хранит историю метрик, конфигурацию, события, оповещения. Поддерживаются MySQL, PostgreSQL, Oracle. Для повышения производительности используются партиционирование таблиц, индексы и кэширование.

Java-шлюз (Zabbix Java Gateway)

Специализированный компонент для мониторинга Java-приложений через JMX (Java Management Extensions). Позволяет собирать метрики из JVM (куча, потоки, сборка мусора).

Методы сбора данных

Zabbix поддерживает несколько протоколов и методов сбора данных:

  • Агентский мониторинг — через собственный протокол Zabbix (Zabbix Agent) на TCP-портах 10050 (пассивный) и 10051 (активный).
  • SNMP (Simple Network Management Protocol) — для мониторинга сетевых устройств (коммутаторы, маршрутизаторы, принтеры, ИБП). Поддерживаются SNMPv1, v2c, v3.
  • IPMI (Intelligent Platform Management Interface) — для мониторинга аппаратного состояния серверов (температура, напряжение, вентиляторы).
  • JMX — через Java-шлюз для мониторинга Java-приложений.
  • HTTP/HTTPS — проверка доступности веб-серверов, парсинг HTML/JSON/XML.
  • SSH и Telnet — выполнение команд на удалённых устройствах.
  • ODBC — подключение к базам данных для выполнения SQL-запросов и получения метрик.
  • Prometheus — интеграция с экспортёрами Prometheus (с версии 5.0).
  • OpenTelemetry — поддержка с версии 7.0.
  • Логи — мониторинг файлов журналов с помощью Zabbix Agent.

Основные возможности

Триггеры и оповещения

Триггеры — логические выражения, которые определяют аномальное состояние (например, «CPU load > 90% в течение 5 минут»). При срабатывании триггера генерируется событие, которое может вызвать оповещение через:

  • Email (SMTP)
  • SMS (через GSM-шлюз или API)
  • Мессенджеры (Telegram, Slack, Mattermost, Discord)
  • Webhook (HTTP-запросы к внешним системам)
  • Системные команды (скрипты на сервере)

Визуализация

Zabbix предоставляет несколько типов графиков и дашбордов:

  • Графики — линейные, столбчатые, круговые, с накоплением.
  • Сетевые карты (Maps) — отображение топологии сети с цветовой индикацией состояния узлов.
  • Дашборды — настраиваемые панели с виджетами (графики, таблицы, карты, текстовые блоки).
  • Слайд-шоу — автоматически сменяемые дашборды для демонстрации на мониторах.

Отчёты

Система генерирует отчёты по доступности, производительности, SLA (Service Level Agreement). Отчёты могут быть экспортированы в PDF, CSV, HTML.

Шаблоны

Zabbix использует шаблоны (templates) для стандартизации мониторинга однотипных устройств. Шаблон содержит набор элементов данных, триггеров, графиков и правил оповещения. Официальный репозиторий шаблонов включает готовые решения для Linux, Windows, MySQL, PostgreSQL, Apache, Nginx, Docker, Kubernetes, Cisco, Juniper и многих других систем.

Автоматизация

  • Автообнаружение — система может автоматически находить новые устройства в сети (по IP-диапазонам, SNMP, DNS) и добавлять их в мониторинг.
  • Действия (Actions) — автоматическое выполнение команд при срабатывании триггеров (например, перезапуск службы, отправка уведомления).
  • API — RESTful API для интеграции с внешними системами (CMDB, системы управления конфигурациями, тикеты).

Применение

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

  • Мониторинг серверной инфраструктуры — контроль загрузки CPU, памяти, дисков, сетевых интерфейсов, состояния процессов.
  • Мониторинг сетевого оборудования — коммутаторов, маршрутизаторов, файрволов, балансировщиков нагрузки.
  • Мониторинг баз данных — MySQL, PostgreSQL, Oracle, MongoDB, Redis.
  • Мониторинг веб-серверов — Apache, Nginx, IIS, проверка HTTP-ответов.
  • Мониторинг облачных сервисов — AWS, Azure, Google Cloud (через API).
  • Мониторинг контейнерных сред — Docker, Kubernetes (через API и экспортёры).
  • Мониторинг приложений — Java (JMX), Python, Node.js.
  • Мониторинг IoT-устройств — через SNMP, Modbus, MQTT.

Преимущества и недостатки

Преимущества

  • Бесплатное и открытое ПО.
  • Высокая масштабируемость (до десятков тысяч устройств на одном сервере, с прокси — до сотен тысяч).
  • Широкая поддержка протоколов и платформ.
  • Гибкая система оповещений и автоматизации.
  • Развитое сообщество и обширная документация.
  • Поддержка распределённой архитектуры (прокси, активные агенты).

Недостатки

  • Сложность первоначальной настройки и конфигурации.
  • Зависимость от реляционной базы данных (может стать узким местом при больших объёмах данных).
  • Ограниченные возможности визуализации по сравнению с Grafana (часто используется в связке с ней).
  • Отсутствие встроенной поддержки временных рядов (Prometheus-подобного хранилища) до версии 7.0 (частично решено через OpenTelemetry).
  • Высокое потребление ресурсов сервера при большом количестве метрик.

Интересные факты

  • Zabbix переведён на более чем 30 языков, включая русский.
  • В 2023 году Zabbix был признан одним из лидеров в категории «Open Source Monitoring» по версии Gartner Peer Insights.
  • Крупнейшая инсталляция Zabbix, по данным разработчиков, мониторит более 200 000 устройств.
  • Исходный код Zabbix написан на C (серверная часть), PHP (веб-интерфейс) и Go (Zabbix Agent 2).
  • Компания Zabbix LLC (основана Алексеем Владиславлевым) предоставляет коммерческую поддержку, обучение и сертификацию.

Источники

  • Официальная документация Zabbix (zabbix.com/documentation)
  • Zabbix. Network Monitoring Essentials (Rihards Olups, 2016)
  • Mastering Zabbix (Andrea Dalle Vacche, 2018)
  • Статья «Zabbix: история и архитектура» на Habr.com
  • Релизные заметки Zabbix 7.0 LTS (2024)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →