Пресс-релиз «Центральный Пульт» v.3.12.86

28 апреля 2023 года вышел очередной релиз отечественной высокопроизводительной программной платформы мониторинга и управления цифровыми активами «Центральный Пульт» (SAYMON), разрабатываемой с 2013 года петербургской компанией «РОССИННО». В этом релизе, следующем после v.3.11.85, был традиционно развит и усовершенствован целый ряд функциональных возможностей и элементов веб-интерфейса, в том числе новые возможности и улучшения работы с авариями, улучшения серверной части решения, изменения в конфигурации сервера.


Работа с авариями

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

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

Возможность использовать теги в фильтрах аварий

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

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

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

Рисунок 1. Использование тегов в фильтрах аварий

Создание новой аварии при невыполнении условий генерации аварий из-за отсутствия данных в системе (имеющиеся аварии автоматически погашаются)

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

Для данных, записываемых модулями или специальными агентами, время актуальности может быть указано индивидуально. Система следит за актуальностью и сообщает в состояние объекта информацию о потере актуальности экземпляром данных. Начиная с обсуждаемого релиза, такое событие считается аварией (для объекта создается новая авария с критичностью MAJOR и текстом «Нет данных», а созданная ранее авария по этому условию во избежание дублирования погашается).

На родительском объекте при наследовании аварийного состояния от дочернего объекта авария не создается

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

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

Возможность добавлять свойства авариям через API и отображать их в списках активных и исторических аварий

Выпадающий список «Поля свойств» в веб-интерфейсе раздела «Аварии» включает в себя все назначенные свойства по всем объектам информационной модели инфраструктуры. Выбор интересующих свойств в списке приводит к отображению в таблице аварий в автоматически добавляемых столбцах в случае их наличия у объектов, по которым возникли аварии.

В новом релизе аварии как сущности получили собственные атрибуты свойств. Это изменение было сделано для улучшения возможностей интеграции систем машинной аналитики, в частности, анализа и выявления первопричин (Root Cause Analysis, RCA). Свойства аварий доступны не только в пользовательских интерфейсах оперативных (актуальных) аварий, но и в истории. Свойства доступны также через программные интерфейсы (API) для формирования отчетов и дообучения модулей машинного анализа.

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

Рисунок 2. Элементы управления списком аварий

Ускорение работы истории аварий

Одной из сильных сторон программного комплекса «Центральный Пульт» является высокая скорость работы с данными и отзывчивость пользовательских интерфейсов. Растущие объемы и новые профили использования меняют и подходы к работе с большими объемами данных. В обсуждаемом релизе введены дополнительные средства ускорения работы с массивами истории аварийных событий.


Улучшения базового веб-интерфейса

Возможность перемещать окно информации по экрану

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

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

Видео 1. Перемещение окна информации по экрану

Добавление в видах сетки и таблицы счетчиков, показывающих число объектов, находящихся в том или ином состоянии

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

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

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

Рисунок 3. Показ счетчиков в табличном виде представления объектов и связей

Оптимизация интерфейса секции «Графики»

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

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

Рисунок 4. Интерфейс секции «Графики» программного комплекса

Оптимизация выполнения пользовательского интерфейса для вида подробной информации об объекте/связи

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

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

Отображение имени объекта/связи во всплывающем окне свойств объекта/связи 

Объекты, связи и потоки в системе могут иметь свойства, представляющие собой привязанный к элементу любой вид текстовой информации в формате «имя – значение». С помощью свойств можно добавлять к элементам описание и иную полезную информацию.

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

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

Рисунок 5. Всплывающее окно свойств объекта/связи

Возможность масштабировать значения на одиночных графиках

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

Рисунок 6. Масштабирование значений на графиках

Для мультиграфиков изменение масштаба позволяет наглядно сравнивать изменения величин с существенно различающимися абсолютными значениями и диапазонами.

Приведем пример. В процессе мониторинга отслеживается нагрузка на CPU, и в качестве метрик возвращаются значения средней нагрузки за 5 минут (averageCpuLoad.fiveMinutesAverageLoad) с диапазоном изменения от 0 до 4 и текущая загрузка процессора (percentageUsage.combined) с диапазоном изменения от 0 до 100. В этом случае первый график будет выглядеть как практически прямая линия из-за своего скромного диапазона значений по сравнению со вторым. Обсуждаемая функция позволяет автоматически привести значения к единому масштабу, добавляя наглядности для сравниваемых величин и позволяя находить и анализировать зависимости среди разных метрик из разных объектов.

Рисунок 7. Сравнение существенно отличающихся по значениям величин на мультиграфиках

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

Групповые операции – компонента пользовательского интерфейса, имеющая поддержку на серверной части (API) и позволяющая проводить манипуляции с подмножествами объектов, которые были отобраны по набору критериев. Например, можно выбрать все процессоры, или все объекты, имеющие свойство SNMP v3, или объекты, отмеченные тегом.

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

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

В выпадающем списке «Родитель» в общих параметрах объекта все объекты системы сортируются следующим образом:

  1. Общие родители – родители для всех выбранных объектов (могут быть удалены из списка родителей).
  2. Различающиеся родители – родители для части выбранных объектов (могут быть удалены из списка родителей или добавлены в список для всех выбранных объектов).
  3. Другие объекты – остальные объекты, не являющиеся родителями ни одному из выбранных объектов (могут быть добавлены в список родителей).

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

Рисунок 8. Выпадающий список «Родитель» в общих параметрах объекта

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

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

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

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

На рисунке в качестве примера использования оператора демонстрируются настройки условия смены состояний для устройства, которое массово отправляет SNMP-трапы о смене состояния интерфейса. Здесь в случае, если устройство пришлет составную последовательность состояний, содержащее строку «Down» 3 раза за 10 секунд – сработает первое условие, и объект перейдет в состояние OVERLOADED. Получение строки «Down» в течение не менее 10 секунд приведет к срабатыванию второго условия (переход в состояние ALARM), а получение строки «Up» в течение тех же 10 секунд станет сигналом к срабатыванию последнего условия (состояние WORKING).

Рисунок 9. Использование оператора «Переключение» для задания условий перехода состояний


Улучшения серверной части

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

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

Рисунок 10. Интерфейс расширения NETMAP, позволяющего визуализировать карту инфраструктуры в виде графа

Начиная с обсуждаемого релиза, пользователи могут писать собственные веб-приложения и включать их в состав сервера «Центрального Пульта» в качестве расширений, для этого необходимо:

1. Добавить секцию extensions в конфигурационный файл сервера и в параметре path указать путь к папке с расширениями, например, /opt/saymon-extensions:

“extensions”: {
    “path”: “/opt/saymon-extensions”
}

2. Расположить содержимое каждого расширения в отдельной папке внутри корневой (например, /opt/saymon-extensions/my-extension), которая будет точкой входа в клиентскую часть расширения, доступную по URL вида: <Адрес_Сервера_Центрального_Пульта>/extensions/my-extension.

3. Выполнить настройку сервера nginx в конфигурационном файле /etc/nginx/sites-enabled/saymon следующим образом:

# SAYMON Extensions folder.
    location ^~ /extensions {
       alias /opt/saymon-extensions/;
       try_files $uri $uri$args $uri$args/ @extension;
       autoindex on;
    }

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

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

Конфигурационные параметры сервера и базового пользовательского интерфейса содержатся в текстовых файлах /etc/saymon/saymon-server.conf и /etc/saymon/saymon-client.yaml, которые можно редактировать непосредственно на сервере системы.

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

В целом, API предоставляет возможности выполнять RESTful-методы для добавления, чтения, изменения и удаления информации с использованием протокола JSON over HTTP. Операции и действия, реализованные в веб-интерфейсе системы, могут быть выполнены с помощью открытого API (естественно, необходима аутентификация и наличие прав на управление конфигурацией системы).

Перенос конфигурационного файла базового пользовательского интерфейса в каталог /etc/saymon

Конфигурационный файл базового пользовательского интерфейса программного комплекса ранее располагался в каталоге /usr/local/saymon/client/. В целях унификации и повышения удобства настройки в новом релизе файл перемещен в общий с сервером каталог  /etc/saymon/ и получил имя saymon-client.yaml.

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


Изменения в конфигурации сервера

Стоит напомнить, что конфигурация сервера платформы выполняется в файле /etc/saymon/saymon-server.conf. Этот текстовый файл состоит из набора разделов и соответствующих им параметров, с помощью которых можно задать те или иные значения настроек сервера, в том числе общие параметры, настройки подключения к базам данных, к брокеру Kafka, настройки сервера Redis, параметры REST-сервера, внешнего LDAP-сервера, пользовательских расширений платформы, параметры для  взаимодействия с сервером Keycloak, для импорта данных из Zabbix и др.

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

sudo service saymon-server restart

Возможность хранения истории экземпляров данных от проверок

Основной фокус в хранении истории в программном комплексе «Центральный Пульт» сосредоточен на измерениях числовых значений и квалифицированных событиях (состояния, предупреждения, аварии). В одном из ранее выпущенных релизов появилась поддержка стека ELK для хранения полных результатов тестирования (экземпляров данных, поставляемых агентом или внешними модулями).

В новом релизе появилась встроенная поддержка хранения истории экземпляров измерений. Можно продолжать использовать внешнее хранилище ELK или отказаться от него и разгрузить свою инфраструктуру. Глубина истории хранения экземпляров данных является настраиваемым параметром.

Настройки хранения истории данных от агента можно задать в разделе Agent_stat конфигурационного файла сервера SAYMON, например так:

“agent_stat”: {
   “write_to”: “mongo”,
   “default_ttl”: 20,
   “ttl”: [
      {
        “key”: “payload.cpuInformation.vendor”,
        “value”: “Intel”,
        “expire”: 10
      }
   ]
}

Здесь в отношении новой возможности задействованы следующие параметры:

  • agent_stat.write_to – выбор хранилища данных от агента (при указании значения “mongo” данные от агента хранятся в mongoDB, по умолчанию – в ELK)
  • agent_stat.default_ttl – срок жизни наборов данных (в секундах) по умолчанию

Возможность сохранять историю взаимодействия пользователей с оборудованием через терминал Wetty

Терминал Wetty позволяет осуществлять авторизованный дистанционный доступ к узлам инфраструктуры через SSH и Telnet непосредственно в веб-браузере с использованием протоколов HTTP/HTTPS. Пакет использует модуль xterm.js, представляет собой полноценную реализацию эмуляции терминала, написанную на языке JavaScript.

Wetty может использоваться в веб-интерфейсе программного комплекса «Центральный Пульт» сетевыми инженерами и администраторами UNIX-серверов для удобства и оперативного управления при диагностировании системой мониторинга каких-либо проблем.

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

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

Пример настройки параметров Wetty в конфигурационном файле сервера:

“wetty” : {
    “log_dir” : “/tmp”,
    “raw_mode”: true
}

Здесь параметр wetty.log_dir специфицирует путь к папке для хранения файлов журналов, wetty.raw_mode – включает или выключает (true/false) режим записи логов с управляющими ANSI-символами (по умолчанию – true).


Стоит заметить также, что к выходу релиза был приурочен «переезд» on-line документации к платформе. Мы поменяли саму систему работы с документацией и улучшили целый ряд механизмов, включая работу постоянных ссылок. Ранее использовалась вики-система Atlassian Confluence у которой, как и у всех, были свои плюсы и минусы. Сейчас задействован новый программный движок и новый адрес: https://docs.cpult.ru 

Команда «РОССИННО» продолжает систематически улучшать и обогащать новыми функциональными возможностями свой флагманский продукт – программную платформу «Центральный Пульт» (SAYMON). 

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

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

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

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

Скачивайте и пробуйте в деле обновленный «Центральный Пульт» в течение 90 дней! Устанавливайте наши приложения для мобильных устройств под управлением Android и iOS. Подписывайтесь на наши социальные сети ВКонтакте и Телеграм.