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

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


Новые возможности и улучшения работы с пользователями

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

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

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

Добавление журнала изменения пароля пользователя

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

Рисунок 1. Журнал изменений пароля пользователя

Требование смены пароля пользователем при следующем входе в систему

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

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

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

Такое требование актуально, к примеру, в отношении учетных записей со скомпрометированными, украденными или просроченными паролями (в отношении которых был установлен срок действия). 

Рисунок 2. Настройка требования смены пароля пользователем при следующем входе в систему

Расширение возможностей настройки парольных политик

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

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

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

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

Количество уникальных паролей регулирует возможности использования повторяющихся паролей для конкретной учетной записи. Например, нельзя использовать пароль, если он уже был ранее задействован, и история, которую будет отслеживать система, может содержать 5, 10 или 20 паролей (в зависимости от настройки политики).

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

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

Рисунок 3. Настройка парольных политик в разделе конфигурации системы

Расширение настроек авторизации пользователей через LDAP

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

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

В актуальном релизе реализована расширенная поддержка протокола LDAP в отношении работы с группами пользователей: 

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

В целом, следует заключить, что в текущей реализации при взаимодействии серверов SAYMON и LDAP аутентификация пользователя всегда происходит на LDAP-сервере, а авторизация – на сервере SAYMON.

Более детально с процессом настройки можно ознакомиться в вики-документации к платформе.

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

Возможность авторизации пользователей через внешний сервер Keycloak

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

В новом релизе реализована возможность авторизации пользователей с помощью внешнего сервера Keycloak. Keycloak представляет собой свободно распространяемое решение брокера авторизации с поддержкой широкого набора востребованных методов аутентификации и авторизации, возможностей управления пользователями и правами доступа, интеграции со службами каталогов. Решение позволяет реализовать концепцию «единого окна» (Single Sign-On, SSO) на основе распространенных протоколов аутентификации (OpenID Connect, SAML 2.0) с организацией бесшовного перехода пользователей между приложениями и сервисами, например, в пределах корпоративной экосистемы.

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

Подробно процесс настройки описан в вики-документации к платформе.

Рисунок 4. Один из этапов настройки авторизации пользователей через внешний сервер Keycloak


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

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

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

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

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

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

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

Рисунок 5. Ручное погашение аварии

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

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

Рисунок 6. Окно с веб-формой изменения состояния объекта, вызвавшего аварию

Возможность фильтрации аварий по родительскому объекту

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

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

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


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

Режим «мгновенной загрузки» для отслеживания изменения на графиках

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

Данные для построения графиков запрашиваются при его первом появлении на экране и далее, в режиме по-умолчанию – периодически, с интервалом в 10 секунд.

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

Следует заметить, что использование этого режима может заметно повысить нагрузку на веб-клиент, сеть и серверную компоненту комплекса. При обновлении страницы переключатель автоматически возвращается в положение «НЕТ».

Рисунок 7. Включение режима мгновенной загрузки для графика

Улучшение отображения числовых значений в таблицах данных для графиков

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

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

Рисунок 8. Отображение значений в таблице под графиком


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

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

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

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

Условия включают в себя тип (сравнение, прогноз, всплеск, прогноз изменения данных), источник данных (имя метрики из данных текущего или внешнего объекта), оператор сравнения (например, «равно» или  «совпадает с») и значение, с которым выполняется сравнение.

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

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

  • delta() – разница между текущим и предыдущим значением метрики
  • deltaRoll() – неотрицательная разница между текущим и предыдущим значением метрики
  • timestamp() – метка времени каждой метрики из возвращаемого ряда значений в формате 13-значного числа (с миллисекундами)

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

Автоматический переход объекта в состояние ALARM при ошибке в условиях перехода состояний

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

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

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

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

Рисунок 9. Переход объекта в состояние ALARM при ошибке в условиях перехода

Создание объекта класса Host и вложенного в него объекта c сенсором Ping при автообнаружении агентом нового сетевого элемента

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

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

В актуальном релизе для обнаруженных хостов реализовано автоматическое создание объектов класса Host с соответствующими адресами. Внутри каждого из таких объектов автоматически создается подобъект класса Ping, в котором включается мониторинг с помощью агента, выполнившего автообнаружение, и сенсора Ping. IP-адрес обнаруженного объекта автоматически записывается в свойство IP, что можно использовать для перехода по этому адресу в веб-браузере или доступа к объекту по протоколам SSH или Telnet через контекстное меню.

Дополнительно есть возможность запросить у нас и использовать расширенный ICMP-сенсор, который позволяет регулировать размер пакета и контролировать смещение регулярности получения ответов (jitter).

Рисунок 10. Использование механизмов автообнаружения в программном комплексе


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

Возможность настроить механизм сортировки объектов в веб-интерфейсе

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

В новом релизе программного комплекса задействованы возможности «естественной» сортировки объектов при их отображении в веб-интерфейсе, реализованные в открытой JavaScript-библиотеке javascript-natural-sort.

Параметр useNaturalSort в конфигурационном файле клиента /usr/local/saymon/client/client-config.js управляет заданием метода сортировки объектов и может принимать следующие значения:

  • false – объекты сортируются с помощью нативных функций браузера (значение по умолчанию)
  • true – объекты сортируются с помощью библиотеки javascript-natural-sort

Сворачивание по умолчанию секций настроек объектов и графиков в веб-интерфейсе

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

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

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

Настройка отображения осуществляется с помощью параметра collapseSections в конфигурационном файле клиента со следующими возможными значениями:

  • false – секции закреплены, графики раскрыты
  • true – секции откреплены, графики свернуты (значение по умолчанию)

Возможность скрывать в веб-интерфейсе уведомления об ошибках

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

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

  • false – оповещения выводятся в веб-интерфейс (значение по умолчанию)
  • true – оповещения скрыты

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


Другие возможности и улучшения

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

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

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

OpenTSDB – распределенная масштабируемая TSDB, написанная поверх СУБД класса NoSQL Apache HBase и нацеленная на удовлетворение потребностей в хранении, индексировании и обслуживании показателей, собранных из цифровых инфраструктур большого масштаба, и в обеспечении легкой доступности и визуализации данных.

В актуальном релизе «Центрального Пульта», применительно к особенностям конфигурации сервера SAYMON, добавлена возможность ограничивать количество данных, записываемых одним запросом в OpenTSDB.

Соответствующая настройка производится в конфигурационном файле /etc/saymon/saymon-server.conf в разделе Server указанием значения для определяющего максимальное количество точек данных параметра history_write_length. Назначение этого параметра приводит к смене режима записи данных в OpenTSDB с непрерывного на режим по частям. Функционал полезен в случае превышения размера записываемых за одну операцию данных (рекомендуемое значение – 100000).

Новое в агенте программного комплекса

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

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

Включение функции осуществляется в конфигурационном файле агента  …/saymon-agent/conf/agent.properties настройкой параметра metrics.buffer.in-memory.capacity. Значение этого параметра задает количество наборов данных от агента (результатов проверок), которые будут храниться в буфере до восстановления связи с сервером. После восстановления связи все накопившиеся данные из буфера будут пересланы на сервер, а сам буфер очищен. В случае переполнения буфера очередные поступающие наборы данных будут вытеснять более старые.

Обновление библиотеки Socket.IO

Socket.IO – это популярная открытая JavaScript-библиотека для веб-приложений и обмена данными в режиме реального времени. В процессе работы над релизом библиотека была обновлена до версии 4.5.0.

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


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

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

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