Что такое Zabbix

Zabbix был создан Алексеем Владышевым и в настоящее время активно разрабатывается и поддерживается компанией Zabbix SIA.

Zabbix — это распределенное решение для мониторинга корпоративного класса с открытым исходным кодом.

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

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

Zabbix бесплатен. Zabbix написан и распространяется под лицензией AGPL-3.0. Это означает, что его исходный код свободно распространяется и доступен для широкой публики.

Коммерческая поддержка доступна и предоставляется компанией Zabbix и ее партнерами по всему миру.

Узнайте больше о возможностях Zabbix.

Пользователи Zabbix

Многие организации разного размера по всему миру полагаются на Zabbix как на основную платформу мониторинга.

Архитектура

Zabbix состоит из нескольких основных программных компонентов. Их обязанности описаны ниже.

Сервер

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

Хранение данных в базе данных

Вся информация о конфигурации, а также данные, собранные Zabbix, хранятся в базе данных.

Веб-интерфейс

Для удобного доступа к Zabbix из любого места и с любой платформы предусмотрен веб-интерфейс. Интерфейс является частью сервера Zabbix и обычно (но не обязательно) работает на той же физической машине, что и сервер.

Прокси

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

Агент

Агенты Zabbix развертываются на объектах мониторинга для активного контроля локальных ресурсов и приложений и передачи собранных данных на сервер Zabbix. Начиная с Zabbix 4.4 доступны два типа агентов: Zabbix agent (легковесный, поддерживается на многих платформах, написан на C) и Zabbix agent 2 (более гибкий, легко расширяемый с помощью плагинов, написан на Go).

Поток данных

Кроме того, важно сделать шаг назад и взглянуть на общий поток данных в Zabbix. Чтобы создать элемент данных, который собирает данные, сначала необходимо создать узел сети. Если рассматривать другую сторону спектра Zabbix, то для создания триггера сначала нужен элемент данных. Чтобы создать действие, у вас должен быть триггер. Таким образом, если вы хотите получать оповещение о том, что загрузка CPU на Server X слишком высока, сначала необходимо создать запись узла сети для Server X, затем элемент данных для мониторинга его CPU, затем триггер, который активируется при слишком высокой загрузке CPU, а затем действие, которое отправляет вам письмо. Хотя это может показаться большим количеством шагов, при использовании шаблонов на самом деле это не так. Однако благодаря такому дизайну можно создать очень гибкую конфигурацию.

Возможности

Zabbix — это высокоинтегрированное решение для мониторинга сети, предлагающее множество возможностей в одном пакете.

Сбор данных

  • проверка доступности и производительности
  • поддержка SNMP (как trapping, так и polling), IPMI, JMX, мониторинга VMware
  • пользовательские проверки
  • сбор нужных данных с заданными интервалами
  • выполняется сервером/прокси и агентами

Гибкие определения порогов

  • вы можете определять очень гибкие пороги возникновения проблем, называемые триггерами, ссылаясь на значения из базы данных backend

Высоконастраиваемые оповещения

  • отправку уведомлений можно настраивать для расписания эскалации, получателя и типа носителя
  • уведомления можно сделать понятными и полезными с помощью макропеременных
  • автоматические действия включают удаленные команды

Построение графиков в реальном времени

  • по контролируемым элементам данных графики строятся немедленно с использованием встроенной функции построения графиков

Возможности веб-мониторинга

  • Zabbix может отслеживать путь имитируемых щелчков мышью на веб-сайте и проверять функциональность и время отклика

Широкие возможности визуализации

  • возможность создавать пользовательские графики, объединяющие несколько элементов данных в одном представлении
  • карты сети
  • слайд-шоу в виде обзора в стиле панели
  • отчеты
  • высокоуровневое (бизнес-)представление контролируемых ресурсов

Хранение исторических данных

  • данные хранятся в базе данных
  • настраиваемая история
  • встроенная процедура очистки

Простая настройка

  • добавляйте контролируемые устройства как узлы сети
  • узлы сети начинают мониторинг после добавления в базу данных
  • применяйте шаблоны к контролируемым устройствам

Использование шаблонов

  • группировка проверок в шаблонах
  • шаблоны могут наследовать другие шаблоны

Обнаружение сети

  • автоматическое обнаружение сетевых устройств
  • автоматическая регистрация агента
  • обнаружение файловых систем, сетевых интерфейсов и SNMP OID

Быстрый веб-интерфейс

  • веб-интерфейс на PHP
  • доступен откуда угодно
  • можно переходить по нему кликами
  • журнал аудита

Zabbix API

  • Zabbix API предоставляет программируемый интерфейс к Zabbix для массовых операций, интеграции со сторонним ПО и других целей.

Система прав доступа

  • безопасная аутентификация пользователей
  • доступ некоторых пользователей можно ограничить определенными представлениями

Полнофункциональный и легко расширяемый агент

  • разворачивается на контролируемых объектах
  • может быть развернут как в Linux, так и в Windows

Двоичные демоны

  • написаны на C для высокой производительности и малого потребления памяти
  • легко портируются

Готовность к сложным средам

  • удаленный мониторинг упрощается с использованием прокси Zabbix

Глоссарий

В этом разделе вы можете узнать значение некоторых терминов, commonly используемых в Zabbix.

узел сети

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

группа узлов сети

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

элемент данных

- определенная порция данных, которую вы хотите получать от узла сети, метрика данных.

предобработка значений

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

триггер

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

Когда полученные данные выше порога, триггеры переходят из состояния Ok в состояние Problem. Когда полученные данные ниже порога, триггеры остаются в состоянии Ok или возвращаются в него.

шаблон

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

Задача шаблонов — ускорить развертывание задач мониторинга на узле сети; также упростить массовое изменение задач мониторинга. Шаблоны связываются напрямую с отдельными узлами сети.

группа шаблонов

- логическое объединение шаблонов. Группы шаблонов используются при назначении прав доступа к шаблонам для разных групп пользователей.

событие

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

тег события

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

корреляция событий

- метод гибкой и точной корреляции проблем с их устранением.

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

проблема

- триггер, находящийся в состоянии "Problem".

обновление проблемы

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

действие

- предопределенный способ реагирования на событие.

Действие состоит из операций (например, отправки уведомления) и условий (когда выполняется операция)

эскалация

- пользовательский сценарий выполнения операций в рамках действия; последовательность отправки уведомлений/выполнения удаленных команд.

макрос

- заполнитель переменной, который подставляет конкретное значение в зависимости от контекста.

средство оповещения

- средство доставки уведомлений; канал доставки.

уведомление

- сообщение о некотором событии, отправленное пользователю через выбранный канал доставки.

удаленная команда

- предопределенная команда, которая автоматически выполняется на контролируемом узле сети при выполнении некоторого условия.

веб-сценарий

- один или несколько HTTP-запросов для проверки доступности веб-сайта.

веб-интерфейс

- веб-интерфейс, предоставляемый Zabbix.

панель

- настраиваемый раздел веб-интерфейса, отображающий сводки и визуализации важной информации в визуальных единицах, называемых виджетами.

виджет

- визуальная единица, отображающая информацию определенного типа и источника (сводку, карту, график, часы и т. д.), используемая на панели.

Zabbix API

- Zabbix API позволяет использовать протокол JSON RPC для создания, обновления и получения объектов Zabbix (таких как узлы сети, элементы данных, графики и другие) или выполнения любых других пользовательских задач.

сервер Zabbix

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

прокси Zabbix

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

агент Zabbix

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

агент Zabbix 2

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

Поскольку Zabbix agent 2 разделяет с Zabbix agent большую часть функциональности, термин "Zabbix agent" в документации обозначает оба варианта - Zabbix agent и Zabbix agent 2, если функциональное поведение одинаково. Zabbix agent 2 упоминается отдельно только там, где его функциональность отличается.

шифрование

- поддержка зашифрованных коммуникаций между компонентами Zabbix (сервер, прокси, агент, утилиты zabbix_sender и zabbix_get) с использованием протокола Transport Layer Security (TLS).

авторегистрация агента

- автоматизированный процесс, при котором сам агент Zabbix регистрируется как узел сети и начинает мониторинг.

сетевое обнаружение

- автоматическое обнаружение сетевых устройств.

низкоуровневое обнаружение

- автоматическое обнаружение низкоуровневых сущностей на конкретном устройстве (например, файловых систем, сетевых интерфейсов и т. д.).

правило низкоуровневого обнаружения

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

прототип элемента данных

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

прототип триггера

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

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