Программирование • 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. Точка входа, которая обеспечивает сводную информацию о состоянии всех подлежащих мониторингу объектов. Здесь собраны:

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

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

Раздел «Мониторинг». Содержит различные подкатегории, которые позволяют отслеживать состояние объектов:

  • Данные — собранные метрики в режиме реального времени.
  • Триггеры — реакции на нестандартные действия или условия, например, смену версии операционной системы.
  • Уведомления — о текущем состоянии системы и требуемых от администратора действиях.

Раздел «Настройки». Позволяет системному администратору управлять настройками системы. Здесь собраны следующие элементы и объекты:

  • Пользователи — управление доступом, создание групп пользователей с определенными правами и т.д.
  • Шаблоны — для быстрой настройки мониторинга.
  • Модули и интеграции: — настройка внешних интеграций, таких как API, для автоматизации процессов.

Так в системе выглядит триггер. Источник: zabbix

Установка и настройка

Чтобы запустить Zabbix, достаточно поставить агента и веб-сервер, и система мониторинга заработает. Разбёрем подробнее, как это сделать:

Шаг 1. На официальном сайте нужно выбрать необходимую версию и платформу.

Шаг 2. Установить и сконфигурировать Zabbix для выбранной платформы. Для этого нужно установить репозиторий, Zabbix Server, Zabbix Agent, Zabbix Frontend, а также создать базу данных.

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

Важно, что Zabbix — полностью бесплатное и открытое программное обеспечение.

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

Интеграция Zabbix

Коробочное решение позволяет Zabbix легко интегрироваться с другими популярными системами, инструментами и сервисами IT-телефонии: Cisco, Microsoft, Jira, SolarWinds Service Desk и т.д. Большая часть интеграций реализуется путем загрузки готовых шаблонов. Также Zabbix предоставляет API, позволяя интегрировать его с другими системами и таким образом расширять возможности мониторинга.

Например, интеграция с Касперским реализована через шаблоны. Источник: zabbix

Совет эксперта

Евгений Бондаренко

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

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

Статью подготовили:
Евгений Бондаренко
Яндекс Лавка
Старший разработчик
Яндекс Практикум
Редактор
Анастасия Павлова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Sat Oct 12 2024 20:04:52 GMT+0300 (Moscow Standard Time)