Zabbix: большой брат следит за… твоими сервисами

05:00, 08 июля 2020

Что это?

Zabbix – система мониторинга IT-инфраструктуры*.

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

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

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

— Присматривать за парой серверов вполне возможно. За десятком — неудобно, а за сотней — уже нереально. Чем больше сервисов, серверов, сетевых и иных устройств обслуживается в компании, тем чаще возникают проблемы. Чтобы сократить их количество, необходима система мониторинга. — говорит руководитель отдела системного администрирования Михаил Охотин.

Что может мониторить система Zabbix?

  • Сервера
  • Сетевое оборудование
  • Офисное оборудование: рабочие станции, принтеры, IP-телефоны
  • Виртуальную инфраструктуру
  • Java-приложения, веб-сервисы
  • Телемеханика (например, мониторинг температуры в серверной)

В чём особенности системы Zabbix?

Конфигурация системы хранится в базе данных и управляется через веб-интерфейс: для пользователей существует единая точка доступа. В Zabbix предусмотрено разграничение доступа к данным (кто-то может просто смотреть, кто-то — редактировать, а кто-то — вносить изменения на самом сервере). Минимальный интервал между замерами — 1 секунда.

— Система собирает не результаты проверок «сломалось или нет», а количественные характеристики работы сервиса, сетевого интерфейса и так далее, которые анализируются на стороне сервера. Это позволяет нам сделать сколь угодно «умную» аналитику полученных данных. Когда я только пришёл в «Технологию» в 2013 году, Zabbix был уже внедрён. Одной из первых больших задач у меня стало обновление этой системы до актуальной на тот момент версии, а также наведение порядка с правами доступа. — рассказывает Михаил.

Мониторингом сервисов в Zabbix занимается специалист отдела поддержки платформы Unix Мария Гринчук.

— Когда я пришла в компанию, работа с мониторингом сразу стала частью моих задач, но в совсем другом масштабе. Тогда я добавляла новые сервера, которые мы вводили в эксплуатацию, это была очень шаблонная и не слишком частая операция. В дальнейшем, с приходом к микросервисной архитектуре и открытием новых дата-центров, объем работы по мониторингу рос лавинообразно, а фокус моего внимания смещался в сторону более востребованного — мониторинга сервисов.Сейчас мониторинг сервисов является преобладающей частью моей работы по проекту Zabbix. Его можно условно разделить на две части.Организационная часть: на этом этапе вместе с разработчиками определяетсясервис, представляющий интерес для наблюдения, критические параметры, способ их получения и круг лиц, у которых будет доступ к этим данным и которые будут получать уведомления. Техническая часть это непосредственно настройка хостов, элементов данных, триггеров, графиков, скринов, прав доступа, уведомлений.После первоначальной настройки и начала мониторинга требуется еще некоторое время понаблюдать, так сказать, in vivo, особенно для новых сервисов, чтобы при необходимости "подкрутить гайки". Ну и дальнейшую поддержку никто не отменял, так как временами что-то меняется (набор данных, критерии, способ получения) или требуется разбор ситуации.Поскольку сервисов стало много, я и коллеги работаем над унификацией и автоматизацией их мониторинга — создаем шаблоны и правила автообнаружения. Также мне случается заниматься мониторингом Unix-серверов: системных показателей и состояния железа. Это более трудоемкие задачи, требующие больше времени на изучение и реализацию. — рассказывает Мария.


Полезные возможности

Не так давно появился мощный механизм предварительной обработки данных, который позволяет из практически любого формата на входе получить значения нужных параметров посредством регулярных выражений, JSON** и XML*** парсеров**** или произвольного скрипта на JavaScript. Важно ещё то, что эта обработка выполняется на отдельных серверах Zabbix-proxy, расположенных в географически удалённых дата-центрах, что разгружает основной сервер.

А ещё, кроме прочего, появилась возможность сбора данных по протоколу HTTP, что позволяет отказаться от большого количества внешних скриптов (в том числе, организовать сбор данных через широко используемый у нас протокол SOAP напрямую средствами Zabbix).

— Это сильно упрощает конфигурирование мониторинга сервисов, имеющих множество метрик, упрощает задачу разработчиков сервисов по выдаче этой статистики и уменьшает объём передаваемых данных. — говорит Михаил Охотин.

________________________________________________________________________________________

**IT-инфраструктура — это комплексная структура, объединяющая все информационные технологии и ресурсы, используемые холдингом. Информационно-технологическая инфраструктура включает все компьютеры, установленное ПО, системы связи, информационные центры, сети и базы данных.


**JSON (англ. JavaScript Object Notation) — формат обмена данными. Легко читаетсялюдьми, легко обрабатывается и генерируется программами.


***XML (англ. eXtensible Markup Language) — расширяемый язык разметки. Расширение XML — это конкретная грамматика, созданная на базе XML и представленная словарём тегов и их атрибутов, а также набором правил, определяющих, какие атрибуты и элементы могут входить в состав других элементов.


****Парсер — ПО, выделяющее определенные части информации из массива данных.