Pull to refresh
0
Gals Software
Системы ИТ-мониторинга

Новые возможности зонтичной AIOps системы мониторинга Monq

Reading time 10 min
Views 3.1K


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

Лицензирование стало гибче


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

  • Collector — сбор и анализ логов.
  • AIOps — зонтичный мониторинг и инцидент-менеджмент.
  • TestForge — функциональное тестирование информационных систем и сервисов.

Monq Collector можно бесплатно скачать на сайте вендора. Далее в статье вы узнаете как его можно использовать. AIOps и TestForge поставляются в расширенной версии продукта и лицензируются по количеству КЕ и количеству запусков тестовых сценариев в сутки соответственно.

Упростилась установка


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

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

На этом видео можно увидеть выполненные действия. Администратору доступно три сценария:

  • infra install — выполняется в первую очередь, сценарий установит все необходимые инфраструктурные сервисы.
  • monq install — сценарий запускается после того как инфраструктура подготовлена., В результате будут установлены запускаем сценарий monq install, который установит все микросервисы системы (ППО).
  • monq erase — сценарий необязательный к запуску, нужен в нестандартных случаях, когда нужно удалить ППО.

Финальной точкой установки является выдача логина и пароля для входа на платформу.



Стала проще эксплуатация и появились новые возможности


Интерфейсные обновления


После входа в систему, как и раньше, требует настройки раздел «Рабочие группы» и «Пользователи». Также необходимо настроить почтовый плагин: указать почтовый сервер, логин и пароль. Без этой настройки создаваемые пользователи не получат свои сгенерированные пароли.

Старые графические интерфейсы рабочих групп и пользователей также преобразились: изменился UI, который теперь базируется на Angular. Несколько экранов, еще по прежнему остаются на прежнем фронте (VueJS), но, как заявляет вендор, они также скоро уйдут в прошлое.

В целях демонстрации я создал рабочую группу «Habrahabr» и пользователя «Habr» в пространстве monq для дальнейшей работы.







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

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

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

Вместо отметки “Публичная группа” введены типы приватности рабочих групп:

  • Открытые — видны всем пользователям, пользователи сами могут присоединиться к группе;
  • Закрытые — видны всем пользователям, самостоятельно пользователи не могут присоединиться к группе;
  • Приватные — группы видны только участникам этих групп.

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

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

Интерфейс теперь доступен на двух языках: русском и английском.

Обновлены ресурсно-сервисные модели (РСМ)


Конфигурация РСМ была переосмыслена практически с нуля. Однако все функциональные возможности были сохранены.

Приведу скриншоты интерфейса панели РСМ:



Форма создания КЕ (можно добавить сразу несколько КЕ):



Создание связей влияния и подчинения, удаление и просмотр основных данных по КЕ выполнятся со всплывающего меню.

Например, состояние здоровья одной из КЕ:



А чтобы привязать к КЕ триггеры, необходимо открыть связанные объекты и привязать необходимый:



На новой панели появилась возможность работать с таким параметром КЕ как ее здоровье. Данный параметр является интегральным и, в первую очередь, служит для визуальной оценки состояния РСМ. Пользователь может наглядно видеть, какие КЕ оказали самое серьезное влияние здоровью затронутой КЕ, исходя из коэффициента негативного влияния.

Обновления настройки интеграций


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

«Тип интеграции» преобразился в «Шаблон конфигурации», а сами интеграции были переформатированы в потоки данных.

Для настройки потоков доступны системные шаблоны конфигурации: Zabbix, SCOM, Prometheus, Ntopng, Nagios.

Интеграция с другими системами мониторинга и сбора логов происходит через шаблон конфигурации «AnyStream». Начиная с версии 6.0 можно писать собственные обработчики, в которых затем можно распарсить RAW поток в JSON и обогатить полученные события лейблами.

На скриншоте ниже показан парсер входящих событий от Prometheus с целью преобразования формата даты.



Появилась бесплатная версия для анализа логов


Экран логов — главный инструмент бесплатной версии для анализа логов.

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

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



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

В верхней части экрана есть поисковая строка, в которой работает собственный MQL синтаксис. Внешне он чем-то схож с Lucene. Приведу примеры поисковых запросов, взятые на сайте вендора.

Тип запроса Пример Примечание
Поиск по термину (точное совпадение, без спецсимволов) stream.name:Messages Запрос не чувствителен к регистру.
Поиск по фразе с пробелами, числовым, отрицательным значениям, датам (точное совпадение) _stream.name:"CIT Messages" source.text:"что происходит\?" source.text:происходит\? Экранирование происходит с помощью кавычек.
Двойные кавычки обязывают экранировать ? * \ " внутри, если требуется найти точное совпадение. Внутреннее экранирование производится через \.
Также если нет экранирующих кавычек, но есть символы ? * \ ", то их тоже необходимо экранировать через \.
Значение не равно !_stream.name:"CIT Messages"
_stream.name:"CIT Messages"
Префиксный поиск _stream.name:Pr* Запрос вернет все события, в которых значение поля stream.name начинается на «Pr». Например, Prometheus.

Запрос !stream.name:*Pr — вернет события, если значение поля stream.name не начинается с "Pr".
Полнотекстовый _stream.name:*bb* Запрос вернет все события, значения поля stream.name которых содержат 2 подряд расположенных символа "bb". Например, Zabbix.
Символы могут находиться в любой части значения.
!stream.name:*bb* — не содержит "bb".
Если поиск ведется, используя фразу с пробелами, ее необходимо заключить в кавычки. Например: _stream.name:"*IT Messag*". Запрос вернет события, в которых поле _stream.name содержит "IT Messag", например «CIT Messages»
Постфиксный поиск _stream.name:*ges Запрос вернет все события, значения поля stream.name которых заканчиваются на "ges". Например, messages.
!stream.name:*ges — не заканчивающихся на "ges".
BooleanQuery (логические условия) _stream.name:Messages AND (source.Type:UserLeft OR source.Type:UserJoin) Выражения объединяются через операторы OR или AND, которые отделяются одним пробелом справа и слева.
Запрос (также внутрискобочное выражение) не может начинаться с оператора.
Количество операторов должно быть на 1 меньше, чем количество выражений.
Выражения и операторы должны чередоваться.

Также выражения можно объединять через скобки, количество открывающих и закрывающих скобок должно совпадать. Приоритет выражений как в математике, где AND — умножение, OR — сложение.
Экранирование символов source.text:"что происходит\?" source.text:происходит\? source.password:"asd(\\\?) sd" будет искать точное совпадение с asd(\?) sd Необходимо экранировать круглые скобки, двоеточия и пробелы, их можно экранировать через кавычки. Также необходимо экранировать ? * \ " через \.
Поиск полей с непустым значением source.text:exists() Работает с любым типом поля
Исключить события, в которых присутствует данное поле !source.text:exists()
source.text:exists()
Работает с любым типом поля

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



Новые возможности настроек мониторинга и оповещения


В последних версиях Monq появилась возможность создавать собственные плагины оповещений. Подсистема плагинов позволяет администратору пространства самостоятельно создавать и добавлять к MONQ плагины оповещений.



Напомним, что в Monq есть возможность создавать цепочки эскалации с продвинутой логикой.



Появились отчеты доступности


Отчеты доступности пришли на смену отчетам по SLA. Это абсолютно новый инструмент расчета доступности информационных систем.

Раздел «Доступность» позволяет:

  1. Работать с информацией о доступности:
    • Конфигурационных единиц и их влияния на доступность ИС.
    • Информационных систем, которые состоят из выбранных КЕ.
    • Сложных ИС, состоящих из множества подсистем с возможностью определения значения влияния для каждой из них.
  2. Настраивать параметры формирования отчета о доступности и сохранять их как шаблон. Шаблоны для нового отчета получили более широкий спектр настроек:
    • Использование карт РСМ в качестве фильтра — для формирования отчета нет необходимости создавать и актуализировать список КЕ, достаточно выбрать уже сохраненную карту РСМ.
    • Более функциональный фильтр по проблемам
    • Показатель RTO — максимальное время, во время которого КЕ может находится в проблемном статусе. Данный параметр позволяет не учитывать нестабильные статусы КЕ при расчете.
    • Время обслуживания (рабочее время) — не стоит путать с сервисными режимами для КЕ, позволяет дополнительно задавать нерабочее время для расчета.



  3. Управлять шаблонами и мультишаблонами (шаблоны отчетов для сложных информационных систем):
    • Создавать личные и групповые шаблоны.
    • Редактировать параметры шаблона.
    • Удалять шаблоны.
  4. Оперативно настраивать параметры и формировать по ним отчет без сохранения шаблона.

Более подробно о методике расчета доступности можно прочитать на Хабре в этой статье.

Обновился модуль для функциональных тестов (Monq TestForge)


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

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

Существует два вида проектов функционального тестирования: управляемые и автономные.

Автономные проекты управляются из той среды, в которой запускаются, а управляемые проекты находятся под непосредственным управлением TestForge.

Экран проектов делится на несколько представлений:

Управление проектами. Доступен список имеющихся проектов в системе, с различными метками и очень приятным интерфейсом.



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



Понравилось управление расписанием для запуска тестов. Планировщик запускает выполнение кода задания на основании:

  • общего расписания по времени и результатов предыдущего выполнения задания;
  • действий пользователя: выполнить сейчас или выполнить в определенное время.



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

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



Появились агенты и координаторы агентов Monq


В 2021 году система расширила свое присутствие агентами. Агенты устанавливаются на системы с ОС Linux или Windows и могут:

  • получить информацию о системе и передать в поток данных;
  • тейлить лог-файл и отправлять “сырые” данные в поток данных;
  • тейлить лог-файл, парсить его и отправлять JSON в поток данных;
  • запускать сценарии TestForge и отправлять результат выполнения на препроцессор TestForge;
  • забирать данные из PostgreSQL без постоянной установки соединения и отправлять в поток данных;
  • пересылать сообщения из брокеров (RabbitMQ, Kafka) в поток данных;
  • подключаться к БД Zabbix и проверять изменения в триггерах.

Со стороны платформы, управляют и “следят” за работой агентов — координаторы агентов. Агент обрабатывает поступающий от координатора набор заданий и генерируют результирующий артефакт и лог выполнения.

В Monq есть два типа агентов:

  • статические — агенты, за состоянием которых следит система;
  • динамические — агенты, за состоянием которых система не следит.

Координаторы агентов отвечают за идентификацию агентов в системе и настройку доступа к информации получаемой от агентов.

Управляя координаторами мы можем:

  • Создать или удалить координатор;
  • Остановить или запустить координатор;
  • Настроить права доступа к координатору;
  • Перевыпустить токен для подключения агентов;
  • Добавить или удалить метки для агентов;
  • Настроить параметры координатора.



Список подключенных агентов представлен со следующей информацией:

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



Выводы


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

Отмечу, что интеграциями с Zabbix, MS SCOM, Prometheus, Ntopng и Nagios возможности Monq не ограничивается. При необходимости, возможно разработать собственные модули интеграции и забирать данные или события откуда-то ещё.

Если вы хотели бы протестировать решение в вашей среде или получить триальные лицензии, оставьте ваши данные в форме обратной связи на нашем сайте или свяжитесь другим удобным способом.
Tags:
Hubs:
+9
Comments 1
Comments Comments 1

Articles

Information

Website
gals.software
Registered
Founded
Employees
11–30 employees
Location
Россия
Representative
Галс Софтвэр