Компаниям важно, чтобы их сервера и сетевое оборудование функционировали без сбоев. Ведь даже минута простоя — это финансовый ущерб. Поэтому они пользуются системами мониторинга, чтобы вовремя замечать, устранять или предупреждать неполадки.
Рассказываем об одной из таких систем — Zabbix, мощном инструменте, предназначенном специально для компаний.
Что такое Zabbix и как он работает
Это система мониторинга корпоративного уровня, то есть рассчитанная на большие сети из множества оборудования. При всей своей функциональности платформа бесплатная: у нее открытый исходный код, и компании могут сами настроить ее под свои нужды.
Рассмотрим подробнее, как работает Zabbix и какие возможности в нем есть.
Мониторинг
Это основная функция системы. Zabbix собирает информацию о состоянии и работе всего подключенного оборудования. В основном это серверы: компьютеры или облачные мощности, на которых развернуты программы и сайты.
Мониторинг в Zabbix можно реализовать двумя способами:
- Pull, или пассивная передача данных. Периодически Zabbix отправляет запрос на подключенные к нему сервера, а затем «забирает» ответы. Так система получает информацию. Этот способ проще настроить, поэтому его используют чаще, хотя данные могут обновляться с задержкой.
- Push, или активная передача данных. Специальные агентские программы, установленные на серверах, сами отправляют в Zabbix данные. Сама система ничего у них не запрашивает. Этот способ позволяет получать информацию с меньшей задержкой, но сложнее в настройке и требует больше мощностей.
Какую именно информацию передавать — можно настроить. Возможно написать собственные скрипты для сбора дополнительных данных или даже сгенерировать искусственные. Система не ограничивает специалистов в том, какие показатели отслеживать.
Когда Zabbix получает данные, он обрабатывает и анализирует их. А затем выводит — посмотреть информацию обо всех устройствах можно на одной странице.
Маршрутизация
Маршрутизация — это то, как данные передаются в систему Zabbix. Платформа поддерживает два способа:
- С помощью Zabbix Agents. Это специальные агентские программы, которые устанавливаются на сервер, собирают данные и передают в Zabbix. Они поддерживают методы Push и Pull, занимают мало места и не требуют больших мощностей.
- Безагентская маршрутизация. Агенты можно и не использовать — например, если на сервере уже есть ПО для сбора данных. В этом случае подключить передачу данных можно по одному из популярных протоколов: ICMP and TCP, SSH\Telnet и другим.
Оба вида маршрутизации гибко настраиваются. Их можно расширять, дописывать компоненты в виде скриптов или плагинов. Они подходят для любой операционной системы. Можно запустить агента Zabbix в Docker или другой системе контейнеров.
Показатели
Zabbix подходит для отслеживания огромного количества параметров. Чаще всего его применяют, чтобы мониторить состояние серверов, но в теории он может следить за многими другими системами: приложениями, базами данных, облачными хранилищами и сервисами. С ним можно мониторить даже гаджеты, подключенные к интернету вещей.
Вот несколько примеров сведений, которые можно отслеживать с помощью системы:
- Информация о хосте. То есть о компьютере, подключенном к Zabbix. Система отслеживает уровень нагрузки на него, скорость работы, количество свободного места и так далее. Эти показатели проверяют, чтобы контролировать физические параметры серверов — чтобы они не отключились из-за перегрузки.
- Информация об обновлениях. Система может обнаруживать, что для какого-то компонента пришло критическое обновление — нужно загрузить его. Это помогает поддерживать актуальной, например, версию операционной системы. А значит, избегать багов и дыр в безопасности.
- Информация о контейнерах. Можно узнавать о каждом контейнере по отдельности — сколько ресурсов процессора он отнимает и сколько памяти использует. Так можно быстро понять, если какой-то контейнер окажется слишком нагружен — и, соответственно, нагрузит весь сервер.
- Динамика использования памяти. Zabbix умеет в реальном времени показывать нагрузку на память сервера. Например, он смотрит, как меняется использование оперативной памяти разными устройствами. А еще — использование дополнительной своп-памяти.
Это далеко не все, что можно отслеживать с помощью Zabbix. Существуют целые шаблоны — наборы из десятков и сотен показателей, которые можно загрузить в систему для мониторинга. Кроме того, всегда можно написать свой кастомный скрипт для сбора любой информации — и так же подключить его к Zabbix.
Уведомления
Мониторинг ценен тем, что позволяет быстро реагировать на события — как только они случились. А для этого нужно вовремя их заметить. Для таких целей Zabbix поддерживает оповещения, причем по множеству каналов. Сообщение об ошибке может прийти даже в SMS или в Telegram. Но чаще их все же подключают к корпоративным мессенджерам вроде Slack или специальным системам оповещений.
Можно настроить, о каких событиях будет оповещать система — так получится не пропустить что-то важное, но не получать уведомления о неважных событиях.
Визуализация
В Zabbix можно визуализировать полученные данные: вывести их в виде графика, диаграммы или таблицы. В таком виде можно быстро увидеть:
- как меняются какие-либо показатели — например, быстрый рост нагрузки может быть ситуацией, на которую нужно срочно отреагировать;
- какую долю в нагрузке отнимает тот или иной процесс — это помогает предсказать, как он будет вести себя в будущем, и так далее.
Визуализация настраивается так же гибко, как все остальное. Как будут выглядеть графики и что они будут показывать — все это можно кастомизировать под нужды своей компании.
Из чего состоит Zabbix
У системы несколько основных компонентов — некоторые обязательны для работы, другие подключаются по желанию и необходимости. Рассмотрим, что есть в Zabbix и для чего нужны каждые подсистемы.
Сервер. Zabbix Server — это, можно сказать, ядро системы. На него приходит информация, он обрабатывает и выводит ее, реагирует на события, о которых нужно оповестить. Часто сервер Zabbix поднимают на отдельных мощностях, удаленно от основных серверов инфраструктуры.
Агенты. Это программное обеспечение, которое устанавливают на серверах, чтобы передавать данные с них в Zabbix. Агенты мало весят и не отнимают много ресурсов, поэтому ограничений по мощности нет: подключить можно даже слабое устройство. Часто их запускают в Docker-контейнерах.
Веб-интерфейс. Zabbix Frontend показывает пользователю информацию, собранную системой. В клиентском интерфейсе отображаются нужные цифры и графики, также из него можно настраивать и управлять Zabbix. Например, создать отчет или изменить какой-то параметр уведомлений.
Система уведомлений. Отдельный компонент Zabbix, связанный с сервером, отвечает за отправку оповещений о событиях. Он поддерживает множество сервисов для передачи сообщений, поэтому подходит для большинства инфраструктур.
База данных. Это еще один важный компонент, без которого будет сложно хранить данные. Zabbix собирает информацию в единую базу — для этого к серверу подключают СУБД. Система работает с реляционными базами данных, например под управлением MySQL или PostgreSQL.
Прокси. Это прослойка между серверами инфраструктуры и сервером Zabbix. Использовать ее не обязательно, но в некоторых конфигурациях ее все-таки применяют — например, чтобы оптимизировать передачу данных.
Как выглядит работа с Zabbix
Главный компонент визуального интерфейса Zabbix — дашборд с данными. Там размещаются сведения, собранные в режиме реального времени или с небольшой задержкой. Достаточно взглянуть на экран, чтобы увидеть, в каком состоянии инфраструктура. Но это не единственное, что можно делать с его помощью.
Вот что можно делать в веб-интерфейсе Zabbix:
- Отслеживать состояние хостов в целом. Если какой-то сервер выключен или упал с ошибкой, это тоже можно посмотреть на дашборде в разделе «Индикаторы состояния».
- Настраивать хосты. Можно добавить мониторинг еще какого-нибудь сервера, отключить ненужный или указать, какие конкретно данные передавать. Еще хосты можно группировать: объединять, чтобы упростить доступ к нескольким серверам.
- Задавать и настраивать триггеры. Триггер — это реакция на какое-то заданное событие. Специалист может прямо через веб-интерфейс указать Zabbix, как реагировать на конкретные данные. Например, отправлять оповещение, если показатели начинают отклоняться от нормальных.
- Управлять доступом. Для пользователей можно разграничить доступ к системе и ее данным. Например, сделать так, чтобы каждый IT-отдел видел информацию только по тем серверам, за которые отвечает.
- Настраивать интеграции. В Zabbix можно интегрировать другие системы: для мониторинга, хранения данных и многих других действий. Для популярных решений есть готовые модули, которые можно скачать с официального сайта. А если какое-то решение — редкое или кастомное, можно написать собственную интеграцию.
Это не исчерпывающий список. Возможности Zabbix довольно обширны. Более того, это решение — во многом коробочное: его не нужно подолгу «собирать», чтобы добиться нужной функциональности. Уже сразу после установки в нем есть почти все функции, которые могут пригодиться бизнесу.
Как установить Zabbix
Систему можно скачать на официальном сайте, а затем сконфигурировать и установить в нужной комплектации. Это бесплатно — платить нужно только за некоторые услуги и продукты, например за поддержку 24/7.
Установка Zabbix возможна несколькими способами. Например:
- из репозитория;
- из образа диска, где собраны все нужные компоненты;
- из официального контейнера.
Инструкция по установке для каждого способа есть на официальном сайте. Некоторые поддерживают быстрое развертывание, например установка из образа уже содержит все подготовленные компоненты.
В других случаях, например при установке из бинарного файла, нужно вручную выбрать и установить составляющие Zabbix. Обычно это сервер, база данных, агенты и веб-интерфейс. Можно выбрать версию продукта, а также указать вид и версию операционной системы — в основном это ОС семейства Linux.
Есть и облачный Zabbix — все мощности и настройки хранятся на удаленных серверах, которые предоставляет сам производитель. Но за эту версию понадобится платить.
Посмотрим на установку и настройку Zabbix подробнее.
Установка. Разберем на примере установки из репозитория. Понадобится:
- На официальном сайте выбрать версию Zabbix, указать свою операционную систему, СУБД и нужный список компонентов.
- Нажать на кнопку в виде звена цепи в боковой части окна — на сайте сгенерируются нужные команды для консоли.
- Ввести эти команды в терминале операционной системы, чтобы установить и сконфигурировать Zabbix.

Компоненты устанавливают по очереди. Сперва подключают репозиторий Zabbix, потом через него устанавливают сервер, веб-интерфейс и агент. Затем нужно создать базу данных, настроить и связать с сервером — инструкция также появится на странице. Она различается в зависимости от конфигурации, в частности выбранной СУБД.
Установка веб-интерфейса. Когда пользователь впервые открывает веб-клиент Zabbix, его сперва нужно настроить. Это несложно: перейти по нужному адресу, убедиться, что система отвечает требованиям и ввести информация для подключения к базе данных. Часть этой информации подгрузится сразу.
Первый вход. При первом входе в веб-интерфейс нужно авторизоваться. Стандартные логин и пароль в Zabbix — admin/Zabbix. Их рекомендуется сразу же сменить, чтобы работа с системой была безопаснее. Кстати, логин и пароль свои для каждого пользователя: можно добавить нескольких сразу из интерфейса и задать им права.
Настройка. К Zabbix Server нужно подключить источники, откуда система будет получать данные.. Есть функция автоматического обнаружения источников, которые расположены на тех же мощностях: например, жестких дисков или сетевых подключений.
Другие хосты проще всего подключить через агенты. Для этого нужно установить агент на устройство, с которого будут передаваться данные. А затем настроить между сервером и агентом защищенное соединение, чтобы информацию не могли перехватить.
Что касается внешних сервисов, например каких-либо систем визуализации — их можно запустить в Docker-контейнере, который позже подключить к Zabbix. Еще можно использовать плагины и готовые интеграции — или написать свои.
Преимущества и недостатки Zabbix
У системы мониторинга много плюсов — не зря ее так часто используют в бизнесе, чтобы отслеживать состояние инфраструктуры. Вот некоторые из них:
- Мониторинг серверов в Zabbix — обширный, гибкий и легко масштабируется. Можно подключать к нему сотни и даже тысячи хостов и собирать с каждого огромное количество данных.
- Система полностью бесплатная и с открытым исходным кодом — можно кастомизировать ее под себя.
- Zabbix популярен — по нему написано множество гайдов и инструкций, есть и подробная официальная документация.
- Для Zabbix существует множество модулей и расширений — в результате к нему можно подключить практически что угодно.
- Агенты можно установить на хост с любой операционной системой: Windows, Linux, macOS и другие.
Системе Zabbix уже двадцать лет. Многие соглашаются, что ее веб-интерфейс несколько устарел — кто-то считает это минусом, но не критичным. Есть и более серьезные недостатки: сложность работы с базами данных и низкая степень автоматизации. Из-за этого использование Zabbix более трудоемко, чем могло бы быть
Несмотря на минусы, Zabbix остается популярной системой на рынке. Так что изучать ее есть смысл: можно установить на свой компьютер и оценить ее возможности самостоятельно. Тем более Zabbix — бесплатный продукт.
Краткие выводы
- Zabbix — система для мониторинга серверов и других устройств или сущностей. С ее помощью можно отслеживать активность контейнеров, сетевых подключений, отдельных дисков и многого другого.
- Система бесплатная и имеет открытый исходный код. В ней из коробки много компонентов — но если нужно, можно добавить или написать новые.
- Обычно главный сервер Zabbix получает информацию от агентов — специальных программ, которые устанавливаются на хосты. Они передают нужные сведения, которые отображаются и визуализируются в веб-интерфейсе. Есть и другие способы сконфигурировать систему, но этот самый популярный.
- Zabbix используют часто, поэтому по системе много информации в сети. Правда, иногда ее считают устаревшей и слишком трудоемкой в работе — в ней не хватает автоматизации, и многое приходится делать вручную.