Одним из лучших средств мониторинга является Zabbix. Что это за программа и зачем она нужна?

Zabbix.png

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

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

Используется мониторинг для следующих целей:

  • Для выявления неполадок и отправки предупреждающего сообщения администратору;
  • Для регистрации информации в реальном времени;
  • Чтобы найти оптимальные настройки;
  • Для мониторинга количества пользователей в сети;
  • Для мониторинга сетевого трафика.

Одним из лучших средств мониторинга является Zabbix. Главный вопрос: «как работает система»? Если говорить кратко, то Zabbix представляет собой многофункциональную систему мониторинга с веб-интерфейсом, которая подстраивается под необходимые системы, тем самым собирая все данные, при внештатных ситуациях программа действует заданным образом. Мониторинг интернет канала zabbix не обязательно проводить часто, так как программа работает долгие годы исправно.

В составе системы фигурируют четыре основные компонента:

  • Сервер мониторинга, собирающий и обрабатывающий все данные;
  • Прокси сервис, который выполняет аналогичные функций, с той лишь разницей, что после отправляет полученную информацию на центральный сервер;
  • Веб-интерфейс для мониторинга;
  • Агент, который призван собирать все данные на физическом сервере.

Zabbix: требования к серверу

Чтобы система работала без недоразумений и поломок, необходимо наличие одной из нескольких возможных вариантов данных:

  • MySQL;
  • Oracle;
  • PostgreSQL;
  • SQLite;
  • IBM DB2;
  • TimescaleDB .

Zabbix agent: что это?

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

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

История создания

создатель.jpg

Впервые о Zabbix услышали в 1998 году, когда в нём нуждался банк. Создателем уникального софта является Алексей Владышев. Первая версия системы была написана на языке Perl. Позже проект не один раз перерабатывали, изменяли и переписывали. В 2001 году Zabbix открыл исходные коды под свободной лицензией GPL, а стабильная версия 1.0 была выпущена спустя три года, в 2004. С тех пор система постоянно усовершенствуется, исходные коды переписываются, чтобы в итоге система стала только лучше. Мониторинг серверов zabbix в данный момент является одним из самых лучших.

Описание

Zabbix-это полное программное решение для мониторинга с открытым исходным кодом для сетей, операционных систем и приложений.

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

  • Создайте прототип графа LLD из правила обнаружения файловой системы и добавьте его на экран шаблона
  • Создайте прототип триггера LLD, который срабатывает в пределах диапазона
  • Настройка PSK-шифрования между Zabbix-сервером, агентами и прокси-серверами
  • Настроить генерирование ОК событие, чтобы свести к минимуму колебание оповещения

Zabbix windows server возможно установить даже на старые компьютеры.

В стандартную систему включены несколько метрик:

  1. Нагрузка на процессор, в частности и отдельными процессорами;
  2. Наличие и объём незанятой оперативной памяти;
  3. Активности жесткого диска;
  4. Объём незагруженной физической памяти;
  5. Сетевая активность;
  6. Пинг.

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

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

Если готового функционала недостаточно, то можно использовать свой — настроить реакцию на определённый вывод команд. Заббикс мониторинг доступен каждому, даже неопытный программист справится с этой задачей. Главное – наличие всех системных требований, тогда проблем не возникнет.

Триггеры

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

Интерфейс

интерфейс.jpg

Пользователь следит за системой через веб-панель, на которой расположены все элементы управления. Основная информация отображается на основном экране. Узлы сети — это серверы, с которых снимается информация. У каждого узла есть элементы — отслеживаемые параметры, на изменение которых, собственно, и реагирует система. Каждому параметру можно задать свой интервал обновления и скорость изменения (например, чтобы сообщение о проблеме выводилось только после N проваленных проверок). Для каждого узла не обязательно выставлять свои параметры. Если они одинаковые, то оптимальным решением является использование шаблонов, которые наследуют все серверы.

Системой также удобно управлять через веб интерфейс: именно в нём создаются и настраиваются группы, серверы и прочее. Ответ на вопрос: «что можно мониторить?» прост – практически всё. Администрирование сайта выполнено качественно. Доступ к Zabbix можно получить через домен.

После установки сервиса наконец пришло время для создания шаблонов мониторинга.

zabbix-shablony.jpg

Шаблоны для дополнительных возможностей мониторинга

Шаблоны – это специально разработанные дополнения, расширяющие функциональность Zabbix. Некоторые шаблоны создаются Zabbix и поставляются в комплекте с программным обеспечением, готовым к использованию, в то время как другие создаются пользователями Zabbix. Шаблоны позволяют пользователям Zabbix отслеживать сетевые устройства от разных поставщиков. Их можно использовать для мониторинга серверов IBM, HP и Super Micro. Шаблоны для служб на основе приложений включают Microsoft Exchange и Exchange Server, Zenoss, PowerDNS, статистику авторитетных серверов и многое другое. Они могут быть созданы также для мониторинга операционных систем и гипервизоров.

Что нужно для создания хорошего шаблона и как он поможет провести мониторинг сети?

Давайте попробуем определить некоторые свойства того, что такое хороший шаблон ресурса, некоторые ключевые принципы, которым нужно следовать в Zabbix при построении шаблонов:

1. Он должен подстраиваться под любую ситуацию

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

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

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

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

2. Знания и опыт

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

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

Итак:

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

3. Область применения

Последнее, что очень важно, – это область действия шаблона. Мы уже говорили о сервисах и ресурсах, поэтому, как правило, хорошим шаблоном является тот, который имеет область действия одного ресурса.

Если вы сохраняете область действия шаблона в пределах одного ресурса, вам будет гораздо проще обмениваться такими шаблонами, и они будут полезны людям, у которых есть одинаковые строительные блоки в их архитектуре. Кроме того, избегайте слияния ресурсов разных уровней – не добавляйте метрики для ОС Linux и PostgreSQL в единый шаблон.

Но как насчет “внутренней”, метрической сферы? Какие типы метрик, классы вы должны собирать? Конечно, вы можете проводить мониторинг по различным причинам, включая сбор бизнес-показателей или поиск нарушений безопасности, но при создании универсального шаблона ресурса Zabbix попробуйте применить следующий подход: 

всегда начинайте с мониторинга неисправностей или доступности. Самый популярный и очень важный ответ, который люди хотят получить от мониторинга – работает ли моя система? Поэтому сначала попытайтесь решить эту проблему в своем шаблоне.

4. Как только ваш шаблон сможет проверить работоспособность вашей системы – приступайте к мониторингу производительности. Есть действительно хорошие методы, которые помогут вам выбрать, какие метрики собирать в первую очередь. Просто убедитесь, что вы расширили шаблон с помощью элементов и триггеров, чтобы помочь решить следующие случаи использования:

  • Моя система работает медленно. Он поднят, но время отклика неудовлетворительно. Производительность снизилась.
  • У нас только что был большой сбой. Мы должны исследовать и сделать ретроспективный анализ, чтобы выяснить, что произошло, чтобы убедиться, что это никогда не повторится. Для проведения такого анализа нам нужны полезные показатели, собранные заранее.

5. Инвентаризация и государственный контроль

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

6. Безопасность

Если вы знаете, как правильно обнаружить проблемы безопасности с ресурсом, т. е.:

  • Используемая версия ресурса является предметом CVE. Подумайте об обновлении.
  • Неправильная конфигурация приводит к тому, что система становится общедоступной без надлежащей аутентификации, когда это должно быть сделано.

Затем рассмотрите возможность добавления таких элементов и триггеров в ваш шаблон.

7. Следуйте рекомендациям

Наконец, это стиль шаблона. Как назвать ваши товары? Шаблоны? Триггеры? Если бы мы все следовали одному и тому же стилю при создании шаблонов Zabbix – тогда на самом деле не имело бы значения, кто создал этот шаблон – вы, Zabbix или другой член сообщества с другой стороны земного шара, – так как содержание и макет шаблона будут очень предсказуемы и ожидаемы.

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

Какой должен быть стиль у шаблона?

шаблон.png

Постарайтесь сохранить все по умолчанию и просто в шаблоне как можно дольше. Например, атрибуты элемента, такие как интервал обновления, история, тенденции. Меняйте их только в том случае, если для этого есть веская причина. Не тратьте время на то, чтобы решить, следует ли вам сделать интервал обновления 1 минута или 2 минуты, а может быть, и 2,5 минуты? Используйте принцип Парето, чтобы получить 80% эффективности шаблона с 20% ваших временных усилий. Не переоценивайте его, если для этого нет причины.

  1. Язык шаблона
    Все описания шаблонов, имена и так далее должны быть созданы в первую очередь на английском языке. Если вам нужен шаблон на другом языке – рассмотрите возможность сохранения двух копий – английской и локализованной версии.
  2. Все включено
    Все элементы, триггеры, правила LLD и другие объекты конфигурации должны быть включены по умолчанию, чтобы сделать шаблон полезным.
  3. Избегайте глобальных макросов
    Если используются пользовательские макросы, определите их в самом шаблоне вместо использования глобальных макросов – таким образом пользователи получат либо значения по умолчанию, либо пример того, что такое имена макросов. Если используются глобальные макросы, они не экспортируются вместе с шаблоном.
  4. Избегайте глобальных регулярных выражений
    Избегайте использования глобальных регулярных выражений в шаблонах, если это возможно, так как они не экспортируются вместе с шаблоном. Если используется глобальное регулярное выражение, задокументируйте в README, какое глобальное регулярное выражение с какими значениями должно использоваться с шаблоном. (Обратите внимание, что начиная с версии 4.0 вы можете использовать NOT для фильтрации отрицательных результатов в фильтрах LLD, см. ZBXNEXT-2788)
  5. Избегайте зависимостей
    Избегайте зависимостей триггеров для триггеров из разных шаблонов. Вместо этого используйте глобальную корреляцию и теги событий.
  6. Сохраняйте шаблоны
    Как правило, чтобы сохранить шаблон многоразовым и модульным, единый шаблон должен быть способен контролировать только один ресурс или неотделимый набор ресурсов.

Если вам нужно отслеживать несколько ресурсов на хосте (а вы, вероятно, это делаете) – подумайте о создании так называемого пустого шаблона “профиль” или “мета”, а затем свяжите с ним несколько шаблонов ресурсов.

Вопрос-ответ

Каковы общие недостатки Zabbix?

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

Действительно ли нужно настроить для него целый другой сервер?

  • Если он работает под управлением одной из поддерживаемых операционных систем для сервера – определенно.

Заключение

Мы рассмотрели основные возможности системы Zabbix. На данный момент система является одной из лучших – стоит лишь попробовать, и вы поймете, почему.