Zabbix
Open-source система мониторинга серверов, сети и приложений: собирает метрики, рисует графики и шлёт алерты, когда что-то ломается.
Что такое Zabbix
Zabbix — система мониторинга ИТ-инфраструктуры с открытым кодом. Собирает метрики с серверов, сетевого оборудования, баз данных и приложений, хранит историю, рисует графики и дашборды, а главное — сам замечает проблему и присылает алерт до того, как о ней сообщат пользователи.
Разрабатывается латвийской компанией Zabbix SIA. Код открыт под GPL, все функции доступны бесплатно — компания зарабатывает на поддержке, внедрении и обучении. Платных редакций с урезанным функционалом нет, и это одна из причин его популярности в России и СНГ.
Из чего состоит
| Компонент | Роль |
|---|---|
| Zabbix Server | ядро: опрашивает, вычисляет триггеры, шлёт уведомления |
| База данных | вся история метрик: MySQL/MariaDB, PostgreSQL |
| Frontend | веб-интерфейс на PHP под Nginx или Apache |
| Zabbix Agent | ставится на наблюдаемый хост, отдаёт метрики ОС |
| Zabbix Proxy | собирает данные в удалённой площадке и отдаёт серверу пачкой |
Zabbix Proxy — недооценённая вещь. Он нужен, когда наблюдаемые хосты за NAT или в другом ЦОДе: прокси буферизует метрики у себя и переживает обрыв канала, не теряя данные.
Как он собирает метрики
- Zabbix Agent, пассивные проверки — сервер сам ходит на агент, порт 10050/TCP.
- Zabbix Agent, активные проверки — агент сам стучится на сервер, порт 10051/TCP. Это спасает, когда до хоста не достучаться напрямую.
- SNMP — для железа без агента: коммутаторы, роутеры, ИБП, принтеры.
- IPMI — температура, вентиляторы, состояние блоков питания прямо с сервера.
- HTTP agent — дёрнуть REST API и распарсить JSON.
- Внешние скрипты и ODBC — когда всё вышеперечисленное не подошло.
Ключевые сущности: item (что измеряем), trigger (выражение, при котором это считается проблемой), template (набор items и triggers, который навешивается на хост целиком). Templates — то, ради чего Zabbix и терпят: подключили сотый сервер, накинули шаблон Linux by Zabbix agent, и мониторинг готов без единого клика по отдельным метрикам.
Отдельно стоит low-level discovery: Zabbix сам находит диски, интерфейсы и файловые системы на хосте и заводит метрики под каждый. Не нужно вручную описывать, что на этом сервере пять дисков.
Zabbix vs Prometheus
Оба про мониторинг, но идеология разная — и выбирают их под разные задачи.
| Zabbix | Prometheus | |
|---|---|---|
| Модель данных | хосты и метрики | метрики с метками (labels) |
| Хранилище | реляционная СУБД | своя TSDB |
| Настройка | через веб-интерфейс | конфиги в Git |
| Единица наблюдения | сервер, устройство | сервис, job |
| Сеть и железо | родная задача: SNMP, IPMI | через exporters, менее удобно |
| Динамические среды | тяжеловесно | родная задача |
| Уведомления | встроены | отдельный Alertmanager |
Грубое правило: если у вас парк физических серверов, коммутаторов и ИБП — Zabbix. Если Kubernetes и эфемерные поды — Prometheus. Если и то и другое — обычно живут оба, и это нормально.
Что нужно от сервера
Нагрузку в Zabbix меряют в NVPS — new values per second, число новых значений в секунду. Упирается всё почти всегда в базу данных, а не в сам сервер Zabbix: история метрик пишется непрерывно.
Практические ориентиры:
- десятки хостов — хватит VPS на 2 vCPU / 4 ГБ RAM со всеми компонентами вместе;
- дальше базу выносят на отдельную машину и обязательно на NVMe — на HDD Zabbix задыхается на записи первым делом;
- на PostgreSQL подключают TimescaleDB: он сжимает исторические данные и сильно снижает аппетит к диску;
- настройте housekeeping и периоды хранения history/trends сразу — иначе база растёт бесконечно.
Установку удобно раскатывать Ansible или Docker Compose — официальные образы есть для каждого компонента.
Уведомления
Из коробки Zabbix умеет слать почту, а через media types — в Telegram, Slack, Mattermost, на webhook в свою систему. Важнее механики — эскалации: если алерт не подтвердили за N минут, отправить его следующему по списку. Это то, из чего строится дежурство и на чём держится SLA.
Графики Zabbix рисует сам, но многие выводят его данные в Grafana — там дашборды удобнее.
Связанные термины
- Prometheus — главная альтернатива с другой идеологией
- SNMP — протокол для мониторинга сетевого железа
- IPMI / DCIM — контроль состояния физических серверов
- Уведомления и алерты — то, ради чего ставят мониторинг
- Wazuh — сосед по стеку: следит не за доступностью, а за безопасностью
- PostgreSQL — где хранится история метрик
Готовы запустить GPU-задачу?
Запустить GPU-сервер