Программирование • 03 октября 2024 • 5 мин чтения

Универсальная система мониторинга Zabbix

Рассказываем, что такое универсальная система мониторинга Zabbix, как она работает и какие возможности предоставляет.

Что такое Zabbix

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

Разветвленная инфраструктура приводит к необходимости понимать, в каком состоянии находится каждый ее элемент, и постоянно мониторить изменения. Например, может закончится оперативная память, отключиться сервер и т.д. Делать это вручную слишком энергозатратно, поэтому используются различные системы мониторинга.

Zabbix — одна из старейших систем мониторинга. С одной стороны, ее интерфейс кажется морально устаревшим, но с с технической точки зрения Zabbix по-прежнему способен выполнять стоящие перед системой мониторинга задачи.

Zabbix использует хорошо масштабируемые базы данных MySQL и PostgreSQL и может успешно применяться для мониторинга сотен серверов. Еще один важный аргумент за использование этой системы — Zabbix без проблем развёртывается из современных контейнеров на любой ОС.

Интерфейс системы мониторинга: панели управления привычно расположены в левой части. Источник: из личного архива эксперта

Разобраться в нюансах мониторинга данных и развёртывания систем отслеживания поможет курс «Системный администратор». За полгода студенты освоят Linux, Zabbix и другие инструменты, изучат детали управления сетевой инфраструктурой как кодом и погрузятся в рабочую среду.

Как работает Zabbix

Все системы мониторинга выполняют примерно одинаковый перечень действий: собирают и анализируют данные из различных источников. Но делать это можно разными способами

Система мониторинга Zabbix работает по следующим методам:

  • пассивный, или Pull (забирание) — система периодически запрашивает данные у агент, который установлен на отслеживаемых хостах.
  • активный, или Push (отправка) — агент сам отправляет данные на сервер.

Это в высокой степени взаимоисключающие методы, поэтому обычно применяют только один из них. Чаще используется пассивный метод — его проще настроить.

Сравнение методов: Pull vs Push

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

Недостатки

Pull

✅ Более простое управление сбором данных.
✅ Контроль за частотой и интервалами опросов.

❌Задержка в получении данных.
❌Зависимость от сетевых подключе

Push

✅ Актуальность данных в реальном времени.
✅ Меньшие задержки в получении данных.

❌ Возможная большая нагрузка на сервер.
❌Более сложная настройка системы мониторинга.

С точки зрения использования агента Zabbix может применяться:

  • С агентской маршрутизацией — дополнительно подключается Zabbix Agents для более глубокого мониторинга. Он невосприимчив к проблемам связи, незначительно влияет на производительность, легко расширяется с помощью плагинов может создавать отчеты на нескольких серверах и развёртывается на любой операционной системе.
  • С безагентской маршрутизацией — поддерживает целый ряд различных протоколов для удаленного мониторинга сервисов, в том числе проверки SSH/Telnet, ICMP and TCP, опрос и отлов SNMP. Также легко расширяется с помощью внешних плагинов или скриптов.

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

Евгений Бондаренко
Я бы сказал, что основное отличие Zabbix от аналогичных систем мониторинга в том, что он максимально коробочный. Это значит, что у специалиста есть некое решение, которое в себе уже содержит очень большое количество различного функционала. Системному администратору, который работает с Zabbix, не придется думать о том, как реализовывать графики, алерты и какие-то дополнительные вещи — это все уже содержится в системе. При этом Zabbix обладает достаточно высокой степенью кастомизации, так что его легко настроить под конкретные требования и нужды специалиста.

Zabbix не предъявляет особых требований к серверам, которые им мониторятся. Сам агент занимает пренебрежимо мало памяти, несколько мегабайт, и практически не использует ресурсы сервера. Необходимый минимум для корректной работы системы — 128 МБ оперативной памяти и 256 МБ свободного места на жестком диске.

В случае с самим сервером, на который передаются данные, нужно учитывать такой компонент, как базу данных и ее объем. Zabbix может работать с системами управления базами данных MySQL и PostgreSQL.

Архитектура Zabbix

Рассмотрим подробнее основные компоненты архитектуры системы мониторинга Zabbix. 

  • Zabbix Server — центральный элемент системы, который принимает от агента,  обрабатывает и хранит данные. Также сервер отвечает за оповещения и уведомления о состояниях объектов мониторинга.
  • Zabbix Agent — установленная на отслеживаемых хостах программа, которая собирает данные о производительности и состоянии системы  и отправляет их на сервер. Агент может представлять собой контейнер. 

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

  • Система базы данных — Zabbix поддерживает использует реляционные базы данных, такие как  MySQL, PostgreSQL, SQLite, Oracle и другие, для хранения всех собранных данных и конфигураций системы.

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

  • Уведомления, или алерты — Zabbix поддерживает различные способы уведомления, в том числе системы оповещений VictorOPS, Opsgenie, Pagerduty, email, SMS, мессенджеры Slack, Telegram и другие. 

Архитектура Zabbix позволяет создавать гибкие и масштабируемые решения для мониторинга данных вне зависимости от их объема. 

Возможности системы мониторинга Zabbix

Zabbix — мощный инструмент мониторинга, который может собирать огромный массив метрик из различных источников в режиме реального времени. Это может быть мониторинг операционных систем и баз данных, сервисов и приложений, сетевых устройств и веб-страниц и т.д.

Zabbix позволяет получить единую картину всей IT-инфраструктуры компании. Источник: zabbix

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

Также можно настроить и отслеживать другие показатели и метрики, например, состояние контейнеров или критических апдейтов, обновления операционной системы, состояние дисков и т.д. Потенциально Zabbix может мониторить огромное количество параметров. Для этого существуют специальные готовые шаблоны, которые можно загрузить с официального сайта поставщика или с различных форумов и тематических сообществ.

Вот какие дополнительные возможности есть у системы мониторинга Zabbix:

● обнаружение проблем в режиме реального времени, а также их прогнозирование;
● множество каналов оповещений;
● качественная визуализация данных;
● единый гибкий интерфейс для всей архитектуры;
● бизнес-мониторинг в многопользовательской среде;
● простой процесс установки и интеграции с уже существующей системой;
● масштабирование без границ — можно собирать миллионы показателей с сотен тысяч устройств, сервисов и приложений.

Zabbix удобен тем, что позволяет гибко настраивать мониторинг в соответствии с потребностями конкретной компании или проекта.

Системный администратор может посмотреть дашборд с данными, графики производительности и другие подобные метрики. Источник: zabbix zabbix

Интерфейс программы и триггеры

Сделаем обзор ключевых компонентов интерфейса Zabbix.

Главная панель, или Dashboard. Точка входа, которая обеспечивает сводную информацию о состоянии всех подлежащих мониторингу объектов. Здесь собраны:

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

Раздел «Хосты». Через него системный администратор управляет мониторингом. Здесь видим все хосты, добавленные в систему, и их текущие статусы, можем добавить элементы или откорректировать настройки существующих. Также есть опция группировки хостов по категориям, например, по расположению или ти