Метамодель РСМ
Функционал Метамодели РСМ (также называемый Настройки CMDB) предоставляет администраторам Monq возможность:
- Создавать новые, редактировать или удалять существующие типы конфигурационных единиц в собственном пространстве Monq.
- Определять собственные атрибуты для каждого типа конфигурационных единиц.
Управление типами КЕ
Для управлению типами КЕ, вы должны быть в группе Администраторов пространства с соответствующей ролью и правом просмотра/редактирования "Метамодели РСМ".
Перейдите через основное меню в раздел Администрирование - Настройки РСМ - типы КЕ – откроется вкладка со списком доступных типов КЕ в системе.
На данной вкладке располагается список подключенных типов КЕ в системе и краткая информация о них (название, описание, идентификатор). Список отсортирован по идентификатору типа КЕ от большего к меньшему.
При выборе определенного типа КЕ в списке, - отображается подробная информация о данном типе КЕ:
-
Всего КЕ - количество КЕ, данного типа в системе
По клику отображается информация о количестве КЕ в разрезе Рабочих групп, которым принадлежат КЕ данного типа
-
Активные КЕ - количество активных КЕ, данного типа в системе
По клику отображается информация о количестве КЕ в разрезе Рабочих групп, которым принадлежат КЕ данного типа
-
Архивные КЕ - количество архивных КЕ, данного типа в системе
По клику отображается информация о количестве КЕ в разрезе Рабочих групп, которым принадлежат КЕ данного типа
-
Иконка типа КЕ - графическое изображение КЕ
При наличии соответствующих прав на редактирование "Метамодели РСМ" - администратор пространства может изменять иконку типа КЕ
-
Название типа КЕ - уникальное в рамках пространства название категории(класса) КЕ, попадающих под данный тип.
При наличии соответствующих прав на редактирование "Метамодели РСМ" - администратор пространства может изменять название типа КЕ
-
Описание типа КЕ - описание категории(класса) КЕ, попадающих под данный тип
При наличии соответствующих прав на редактирование "Метамодели РСМ" - администратор пространства может изменять описание типа КЕ
-
Жизненный цикл КЕ - информационное поле о принадлежности типа КЕ к определенному жизненному циклу.
В контекстом меню выбранного типа КЕ доступны действия:
- Копирование идентификатора типа КЕ в буфер обмена
- Открыть все КЕ данного типа в новой вкладке
- Открыть все активные КЕ данного типа в новой вкладке
- Открыть все архивные КЕ данного типа в новой вкладке
- Удалить тип КЕ
Добавление нового типа КЕ
Администратор пространства с правами на редактирование "Метамодели РСМ" может добавить новый тип КЕ в систему.
Чтобы добавить новый тип КЕ в систему нажмите кнопку + Создать тип КЕ в правом верхнем углу.
Заполните в открывшемся окне параметры типа КЕ и нажмите Создать - новый тип КЕ будет добавлен в систему.
Удаление существующего типа КЕ
Администратор пространства с правами на редактирование "Метамодели РСМ" может удалить существующий тип КЕ из системы.
Для удаления существующего типа КЕ из системы, предварительно необходимо удалить или изменить тип всех КЕ данного типа.
⚠️ При попытке удаления типа КЕ, в котором есть КЕ - будет выведено соответствующее предупреждение.
Управление атрибутами типа КЕ
В качестве атрибутов КЕ могут выступать все базовые типы переменных, а также структуры, заранее созданные в пользовательских библиотеках Автоматона.
Чтобы добавить атрибуты для типа конфигурационных единиц необходимо:
-
В разделе администрирования пространства - "Настройки РСМ" выберите существующий тип КЕ или создайте новый тип КЕ, которому предполагается назначить типовые атрибуты.
-
В настройке "Атрибуты КЕ" нажмите кнопку добавления нового атрибута + Атрибут
-
Определите название атрибута, выберите его тип (базовый тип или структура)
-
При необходимости задайте значения по умолчанию для каждого атрибута.
-
Сохраните изменения.
После выполнения вышеуказанных действий, для конфигурационных единиц выбранного типа, в разделе "Параметры" будут отображаться эти атрибуты.
Атрибутами можно управлять вручную через графический интерфейс системы, а также используя сценарии автоматизации при автоматическом построении РСМ.
Компоненты типа КЕ
Компоненты задаются строго на типе КЕ и не могут быть изменены на экземпляре типа. При создании компонентов каждому из них должны быть присвоены параметры по умолчанию, которые задаются в Метамодели РСМ на типе КЕ:
- Влияние компонента на здоровье КЕ
- Параметры расчета здоровья компонента:
- Весовой
- Комбо
- Влияние сигнала на здоровье компонента
- Влияние КЕ на здоровье компонента
Задать приоритетные настройки можно на экземпляре в Здоровье на Карте РСМ.
Настройки покрытия мониторингом
Для создания слотов на Компоненте типа КЕ, выберите нужный компонент и перечислите слоты данного компонента.
Например, для мониторинга компонента CPU мы можем определить следующие слоты:
Utilization
- загрузка процессораTemperature
- температура процессораioWait
- показатель iowaitFrequency
- тактовая частотаCores
- количество ядер
Привязка порогов к слотам компонентов будет осуществляться по названию компонента, слота и идентификатору КЕ. При проектировании метамодели РСМ учтите данный фактор.
Модель статуса КЕ
Статусы типа КЕ зависят от здоровья, и их модель может быть уникальной для каждого типа КЕ. Задать интервалы статусов (в процентах здоровья) можно на типе КЕ в Метамодели РСМ с точностью до сотых. Также есть возможность удаления любого из статусов.
Ключевые атрибуты типа КЕ
Для каждого отдельного типа КЕ можно определить параметр или группу параметров - Атрибутов, по значениям которых можно было бы однозначно идентифицировать КЕ и быстро получить ее при фильтрации через публичные функции API.
На основе ключевых атрибутов КЕ формируется кэш для быстрого поиска КЕ данного типа в системе и используется в сценариях автоматизации для уменьшения времени ответа при поиске КЕ в системе.
Прирост скорости работы с использованием ключевых атрибутов КЕ заметен на установках, содержащих более 15000 активных КЕ.
Атрибуты, содержащие ключевые атрибуты выделяются зеленым цветом и обозначаются иконкой в виде ключа.
Определить какие атрибуты типа КЕ будут являться ключевыми можно следующим образом:
-
Добавьте новый атрибут для типа КЕ
-
Перейдите в панель Управление ключевыми атрибутами
-
При помощи кнопки + Группа ключей добавьте атрибуты, которые будут являться ключевыми для данного типа КЕ.
Удалить свойства структуры из ключевых, можно при помощи иконки корзины, напротив названия свойства.
В роли ключевых атрибутов КЕ, могут быть атрибуты следующего типа:
- Integer
- Integer64
- Double
- Guid
- String
⚠️ Использование массивов данных типов данных НЕ поддерживается!
При сохранении группы ключевых атрибутов происходит проверка на уникальность комбинации значений этих параметров для всех созданных КЕ выбранного типа.
Возможны следующие случаи:
- У типа КЕ нет ни одной КЕ - администратор получит зеленое уведомление и хэш по созданным КЕ будет сформирован
- При создании КЕ ее атрибуты имеют значение
null
, если значения по умолчанию не переопределены на типе КЕ - Все КЕ определенного типа КЕ имеют значения для выбранных атрибутов (не
null
и не""
) и комбинации этих значений уникальны - администратор получит зеленое уведомление и хэш по таким КЕ будет сформирован - Все КЕ определенного типа КЕ имеют значения для выбранных атрибутов (не
null
и не""
) и комбинации этих значений не уникальны - администратор получит красное сообщение, что группа параметров не может быть сохранена - У типа КЕ есть КЕ, у которой заполнены не все ключевые атрибуты (не
null
и не""
), но заполненные атрибуты каждой КЕ уникальны в комбинации - администратор получит зеленое уведомление и хэш по таким КЕ будет сформирован - У типа КЕ есть КЕ, у которой заполнены не все ключевые атрибуты (есть значения
null
или""
), но заполненные атрибуты каждой КЕ не уникальны в комбинации - администратор получит красное сообщение, что группа параметров не может быть сохранена - У типа КЕ есть КЕ, у которой не заполнены все ключевые атрибуты (значения
null
или""
), а комбинации значений в остальных КЕ уникальны - администратор получит желтое уведомление о том, что такие КЕ не будет найдены поиском и хэш по ним не сформируется - У типа КЕ есть КЕ, у которой не заполнены все ключевые атрибуты (значения
null
или""
), а комбинации значений в остальных КЕ не уникальны - администратор получит красное сообщение, что группа параметров не может быть сохранена
Настройки CacheInvalidation
Для инвалидации (обновления) кэша ключевых атрибутов доступны следующие настройки сервиса sm-rsm-attributes-service
:
Свойство | Описание | Формат | Пример | По умолчанию |
---|---|---|---|---|
Enabled | Флаг включения инвалидации | boolean | true | true |
Rate | Частота инвалидации кэша | D.HH:mm:ss (string) | "1.00:00:00" | 1 день |
ConfigItemsPerIteration | Количество КЕ, получаемых за одну итерацию | number | 500 | 1000 |
ConfigItemTypeIds | Список ID типов КЕ, для которых нужно проводить инвалидацию кэша | number[] | [34,56,789] | null |
Для изменения свойств используется клиент управления monqctl через команду monqctl registry apply
.
Если обновить только Enabled
, остальные свойства затрутся значениями по умолчанию.
Поэтому перед применением изменений рекомендуется сначала проверить исходную настройку, полностью скопировать всю выданную структуру, в ней изменить необходимые значения на желаемые и применить конфигурацию:
-
Проверка текущей конфигурации:
monqctl registry get microservice-parameters sm-rsm-attributes-service --output json | jq '.[] | select(.Name == "CacheInvalidation") | .Value'
-
Пример ответа, выводимого в консоль:
{
"Enabled": false,
"ConfigItemTypeIds": [
1,
2,
3
]
} -
Применение новой конфигурации с обновленными свойствами:
monqctl registry apply microservice-parameter sm-rsm-attributes-service \
--name=CacheInvalidation \
--settingsKey="appsettings.json" \
--value='
{
"Enabled": true,
"Rate": "0.12:00:00",
"ConfigItemTypeIds": [
48,
51,
79
]
}
' -
Перезапуск микросервиса:
monqctl instance restart microservice --microservice=sm-rsm-attributes-service
-
Проверка лога микросервиса
sm-rsm-attributes-service
после перезапуска:kubectl logs -n production deployment/sm-rsm-attributes-service | grep Cache
Свидетельством успешного запуска инвалидации в его логах должна появиться запись вида:
INF ["CacheInvalidationService"] Cache invalidation is started
Если запись не появилась,то возможна ситуация, когда в кеше Redis осталась неактуальная дата прошлых запусков.
Их можно очистить вручную командамиDEL
на сервере Redis с помощью клиента redis-cli, либо на сервере Monq через monqctl + kubectl:- Получить пароль к Redis:
monqctl registry get services Redis
- Подключиться к Redis:
kubectl exec -n infra redis-0 -ti -- redis-cli
- Авторизоваться:
auth <пароль из шага 1>
- Выбор базы (всегда под номером 1):
SELECT 1
- Удалить ключи с неактуальной датой:
DEL "Production:sm-rsm-attributes-service:InvalidationDate"
DEL "Production:sm-rsm-service:DataSyncDate"
После чего повторно перезапустить микросервис и проверить лог.
- Получить пароль к Redis: