Обзор технических возможностей Zabbix

Ознакомьтесь с кратким техническим обзором функций Zabbix.

Расшифровка

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

Панели

Главный инструмент мониторинга в системе Zabbix – это панели. Здесь вы можете увидеть различные данные, проблемы и карты сети в удобном для вас виде. Панели основаны на виджетах. Их можно гибко настроить и установить фильтры для отображения только нужной информации в нужном виде. Например, у ваших специалистов по сетям может быть панель, на которой можно посмотреть отчет о проблемах с сетевыми устройствами, картами сети и другие данные о сетевой инфраструктуре. Совершенно по-другому выглядит панель для менеджеров, где можно увидеть региональные ЦОДы и их статус: наличие или отсутсвие неполадок. С этих карт менеджеры могут, например, запускать скрипт для проверки доступности определенного ЦОДа или открыть более детализированные карты этого ЦОДа. Это позволит понять, есть ли в системе узлов какие-либо проблемы. Если они есть, то мы увидим, на каком именно устройстве.

Проблемы

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

Веб-сценарии

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

Графики

После сбора данных вы можете визуализировать их в виде графиков. Эти графики интерактивны и их можно расположить, например, на ваших панелях. Наведите на них курсор, и вы увидите, какие именно данные были собраны в какой момент времени, Можно увеличить масштаб и изучить данные за более короткий период, который также можно указать с помощью селектора времени. Например, можно выбрать один из заданных интервалов: последняя неделя, последний месяц и т. д. Используйте инструмент «Календарь» для выбора конкретной даты или поля ввода «с...» и «по...», чтобы вручную указать период, за который нужно посмотреть данные.

Карты

Для более детализированной визуализации данных, триггеров или узлов, вы можете воспользоваться инструментом Zabbix Maps. Можно расположить карту сети на какой-либо центральной панели, доступной для сетевых администраторов, или привязать другие карты к уже существующей, таким образом создавая иерархию карт. Затем можно просматривать визуализированные данные, кликая по ним либо на самой карте, либо используя виджет дерева навигации карт для просмотра списка доступных карт и перемещения по ним. Иконки элементов на карте будут меняться, показывая состояние объектов. Например, у нормально работающего узла будет зеленая отметка. А узел на котором возникли проблемы, будет отмечен красным. Вы можете выбирать иконки на свое усмотрение или загружать собственные и использовать их в карта

Действия

Zabbix позволяет реагировать на возникшие проблемы, автозарегистрированные или недавно обнаруженные узлы, а также назначать действия, которые будут уведомлять, например, о прекращении работы какого-либо элемента данных. Действия работают на основе операций и/или, т. е. необходимо задать именно эти логические выражения. Можно задать множество условий и реагировать, например, только на проблемы от определенной группы узлов или от конкретного триггера, определяемого по имени. Как только мы задали эти условия, нам нужно решить, что делать дальше. Для этого переходим в «Операции». Вы можете отправить уведомления по e-mail или через другие внешние сервисы, а также выполнять удаленные команды, например, перезагрузить узел, если на нем обнаружены неполадки. Также можно задать циклическую отправку сообщений или отложить ее на какое-то время. Например, реагировать на проблему нужно не сразу же, а спустя пол часа или час после ее возникновения, потому что эта проблема может решиться сама собой. Для операций можно создать собственные сообщения или использовать предустановленные для любых сервисов, которые подключены к данному экземпляру Zabbix.

Агент

Zabbix позволяет установить легкий агент для мониторинга конечных устройств. Этот агент может собирать метрики операционной системы, следить за файлами журнала или выполнять собственные скрипты и собирать выходные данные в качестве метрики. Настройка агента очень проста. Вы можете установить его в виде пакета на узел с UNIX-подобной ОС или воспользоваться установщиком MSI для устройств Windows. Взаимодействие между агентом и сервером может происходить двумя способами: пассивная проверка, когда сервер «опрашивает» агент, или активная с помощью трапов, когда агент отправляет результаты проверок на сервер для обработки. Начиная с версии 5.0, вы можете выбрать между агентом на языке C или на языке Go. Последний по умолчанию поддерживает мониторинг многих новых систем, например, MySQL или Docker. Также можно создать собственные плагины для агента на языке Go, чтобы наблюдать за любой сторонней системой, если это необходимо.

SNMP

Мониторинг по протоколу SNMP также поддерживается в Zabbix по умолчанию. Мы предоставляем шаблоны SNMP для ПО и аппаратуры многих крупных вендоров. Если вы хотите создать свой собственный элемент данных SNMP, просто создайте новый элемент и назначьте свой OID для объекта, с которого нужно собирать метрику. Этот процесс можно автоматизировать, используя низкоуровневое обнаружение. Просто создайте новое правило обнаружения и укажите ему OID, в котором будут содержаться все необходимые индексы. Эти индексы будут применяться в прототипах элементов данных. Новый элемент будет создаваться для каждого индекса, и мониторинг по SNMP будет автоматизирован.

IOT

Zabbix по умолчанию поддерживает мониторинг IoT. Для этого есть два ключа: modbus.get и mqtt.get, использующие протоколы Modbus и MQTT соответственно. Все, что вам нужно сделать — установить агент Zabbix и создать новый элемент данных, содержащий в ключе параметры конечного устройства IoT.

Scripts

Если вам нужен более гибкий способ сбора метрик, вы можете воспользоваться элементами данных на основе скрипта. Такой элемент данных использует язык JavaScript, на котором можно написать код для мониторинга любых конечных устройств. Результат работы скрипта будет сохранен в виде метрики, а элементы-скрипты могут использоваться для синтетического мониторинга. Например, JavaScript можно использовать для получения токена API, входа с токеном, а также для выполнения каких-либо запросов к API. Результат выполнения запроса будет храниться в виде метрики.

Java

Zabbix также поддерживает мониторинг приложений Java «из коробки». Мы используем технологию JMX (управленческие расширения Java), чтобы подключиться к приложениям и получить список MBean-объектов и атрибутов через адрес JMX, который вы назначаете сами. Так же мы предоставляем стандартные шаблоны Java, которые можно применить для мониторинга своих приложений.

Ipmi

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

Мониторинг с помощью ODBC, ssh, WMI

Собирать данные можно не только с помощью протоколов SNMP, IPMI, проверок агента Zabbix или интерфейсов Java. Например, можно использовать ODBC для доступа к базе данных, выполнения запроса и вывода его результатов в виде метрики. Еще можно использовать протокол SSH и Telnet, чтобы также подключиться к удаленному узлу, выполнить команду и собрать данные в виде метрики. Для мониторинга устройств Windows можно использовать счетчики производительности или технологию WMI.

VMware

Система Zabbix по умолчанию может автоматически обнаруживать объекты в среде VMware, например, виртуальные машины, гипервизоры, кластеры и хранилища данных. В зависимости от созданного узла мы будем использовать определенный шаблон, где перечислены счетчики производительности, которые мы задействуем при сборе данных из среды VMware. Вы всегда можете изменить эти шаблоны, если нужно отключить или включить обнаружение определенных объектов. Еще вы можете добавить свои собственные счетчики производительности, в зависимости от версии vCenter.

Низкоуровневое обнаружение (LLD)

Представим, что у нас есть множество похожих узлов, которые используют одинаковые шаблоны, но обладают разными компонентами. Например, у этих узлов разные файловые системы. Как можно решить эту проблему? Конечно, можно вручную создать элементы данных для каждой файловой системы, но это не совсем удобно. А если в нашей системе не три, а 300 узлов? Нужно каким-то образом автоматизировать этот процесс. Для этого необходимо использовать низкоуровневое обнаружение (LLD). При этом может использоваться любой способ проверки: с помощью агента, SNMP, ODBC, Java или других средств, которые поддерживает Zabbix. Затем на основе прототипов элементов данных, триггеров, и графиков создаются элементы данных, триггеры и графики по результатам обнаружения. Так вы автоматизируете создание этих сущностей. У многих стандартных шаблонов, если не у большинства из них, уже есть правила обнаружения. Например, правило обнаружения сетевого интерфейса с прототипами элементов данных, триггеров и графиков. Если вы посмотрите на узел, который мы используем для примера, вы увидите, что в результате обнаружения было создано более 500 элементов данных: по паре для каждого интерфейса. То же самое происходит с триггерами и графиками. LLD полностью автоматизирует процесс. В данном случае был использован либо агент, либо SNMP. Рассмотрим обнаружение хранилищ, файловых систем или физических дисков. Повторим, что сначала правило обнаруживает объекты, затем на основе прототипов элемента данных, триггеров и графиков, в этом случае через SNMP, мы создаем элементы данных по SNMP, а также триггеры, которые назначены этим элементам.

Trend Triggers

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

User Roles

В разделе «Роль пользователя» можно самим определить необходимые роли. Например, можно создать роль для сетевых администраторов, администраторов приложений и сотрудников центра управления сетью. Роли основываются на типах: пользователь, администратор или суперадминистратор. В зависимости от типа у ролей есть ограничения на доступ к элементам пользовательского интерфейса, который можно еще больше ограничивать или расширять. Например, специалисты по сетям имеют доступ только к панелям и картам. Кроме того, можно установить ограничения для ролей, предоставляя доступ только к определенным методам API с помощью белого и черного списков. Также можно ограничить возможность выполнения определенных действий. Например, специалисты по сетям не смогут выполнять скрипты или изменять важность проблемы.

Аутентификация

Существует множество способов расширения функционала Zabbix, связанного с аутентификацией. Например, протокол LDAP. Просто направьте сервер Zabbix к серверу LDAP (Active Directory или OpenLDAP), и все готово. Для аутентификации также можно использовать веб-сервер. С версии 5.0 Zabbix поддерживает стандарт SAML. Аутентификацию этого типа можно централизованно настроить через пользовательский интерфейс Zabbix.

External Vault

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

Proxy

Представьте, что у вас есть множество ЦОДов по всему миру. В каждом расположены десятки тысяч узлов. На каждом из них есть агент, или узел получает запросы по SNMP. Нужно как-то собрать данные со всех узлов. И тут возникает несколько проблем. Во-первых, задержка в сети, негативно влияющая на производительность мониторинга. А если какой-то сегмент сети перестанет работать и узел станет недоступен? Кроме того, команда по обеспечению безопасности должна проводить пассивные проверки (опросы) через брандмауэр. Как можно оптимизировать этот процесс? Существует готовое решение — Zabbix-прокси. Вы можете создавать сколько угодно прокси по всему миру. Допустим, прокси находятся там же, где и ваши ЦОДы: в США, Азии и Европе. Какие это даст преимущества? Самые разные. Во-первых, прокси будут собирать данные с локальных узлов и отправлять обратно на центральный сервер Zabbix. Если сеть перестала работать во время передачи данных от прокси к серверу Zabbix, то прокси все равно сохранит данные в своей базе данных. Когда сеть будет восстановлена, прокси отправит данные на сервер повторно. Прокси разгружают сервер, т. к. берут на себя часть нагрузки по сбору данных. Вместо сервера это будет делать, например, виртуальная машина, на которой расположен прокси. Таким образом можно масштабировать сервер Zabbix так, как вам это нужно.

Media Types

В версию 5.0 было добавлено много встроенных интеграций. Для них используется новый тип оповещений Webhook Media, что обеспечивает интеграции с такими сервисами как Slack, Jira, Telegram и др. С точки зрения внутренней структуры они основаны на передаче встроенных макроданных через специально созданный JavaScript, который предоставляет Zabbix. При необходимости интеграции всегда можно перенастроить и изменить, чтобы они подходили вашей среде.

Шаблоны

Как вы уже могли заметить, Zabbix предоставляет большой выбор шаблонов для разных систем и ПО от разных вендоров, а также шаблонов с различными способами мониторинга, например, с агентом или SNMP. Если этих шаблонов вам недостаточно, посетите наш сайт Zabbix Share (https://share.zabbix.com/), где пользователи делятся различными шаблонами, интеграциями и многим другим. Их можно загрузить и импортировать в собственную среду. Вы также можете поделиться собственными шаблонами для Zabbix. Спасибо за просмотр этого обзора. Вы можете узнать больше о системе Zabbix на сайте zabbix.com (https://www.zabbix.com/), а также следить за новостями об обновлениях, событиях и т. д. в наших соцсетях. Еще раз спасибо, мы надеемся, что вы станете частью нашего развивающегося глобального сообщества Zabbix.