Типы КЕ
Тип конфигурационной единицы (ТКЕ) определяет класс ресурса в системе. При его создании задаются базовые настройки:
- Родительский ТКЕ — определяет место в иерархии для наследования свойств (после создания ТКЕ изменить родителя нельзя).
- Название — системное имя ТКЕ (уникальное, только латиница, цифры и символ
_). - Отображение — пользовательское название ТКЕ.
- Иконка, Цвет и Размер иконки — визуальные настройки, определяющие, как экземпляры данного ТКЕ будут отображаться на графах и в таблицах CMDB.
Привязка атрибутов и модификаторы
Свойства ТКЕ определяются через атрибуты, которые добавляются на вкладке «Атрибуты». Один и тот же атрибут может быть привязан к конкретному ТКЕ только один раз. Привязка автоматически распространяется на всех наследников.
Для каждого привязанного атрибута можно настроить модификаторы, которые меняют его поведение в рамках данного ТКЕ:
- Обязательный — экземпляр КЕ не может быть сохранен, если это поле не заполнено.
- Редактируемый — пользователь может изменять значение атрибута вручную.
- Скрытый — атрибут используется системой, но не отображается пользователю в интерфейсе.
- Сохранять историю — Памир будет вести версионирование и хранить историю всех изменений данного атрибута.
- Изменить схему атрибута — позволяет локально переопределить JSON-схему атрибута для конкретного ТКЕ.
Наследование в CMDB
Наследование — это механизм автоматического распространения настроек от родительских Типов КЕ к дочерним. Это упрощает администрирование модели данных, снижает дублирование и обеспечивает согласованность архитектуры.
По наследству передаются следующие компоненты:
- Атрибуты;
- Допустимые связи;
- Правила именования;
- Правила идентификации.
Алгоритм наследования атрибутов
-
Распространение сверху вниз: Атрибуты, привязанные к родительскому ТКЕ, автоматически появляются на всех его дочерних ТКЕ. Вновь созданные дочерние типы также сразу получают весь набор родительских атрибутов.

-
Наследование обработчиков: Если к атрибуту привязаны Фетчеры или Парсеры, их настройки также наследуются. При этом дочерний ТКЕ получает не копию настройки, а прямую ссылку на родительский элемент.
-
Разрешение конфликтов: Возможна ситуация, когда к родительскому ТКЕ привязывается атрибут, который уже был ранее вручную добавлен к одному из дочерних ТКЕ. В этом случае существующий локальный атрибут дочернего ТКЕ станет зависимым от вновь созданного родительского.

-
Удаление: Отвязать унаследованный атрибут напрямую в дочернем ТКЕ нельзя. Удаление возможно только на уровне родительского ТКЕ, после чего атрибут автоматически исчезнет со всех дочерних элементов.
Примечание: Алгоритм наследования связей работает полностью аналогичным образом.
Правила наименования
Правила наименования автоматически формируют удобочитаемое имя для экземпляра КЕ на основе его атрибутов.
Правило задается в виде текстового шаблона с использованием синтаксиса Jinja2. Переменные в шаблоне заключаются в двойные квадратные скобки: [[ ]]. Основная доступная переменная — attributes (обращение к значениям атрибутов КЕ).
Кастомные фильтры Jinja2: Для гибкой настройки вывода значений в системе предусмотрены специальные фильтры:
set_if_not_value— подставляет указанный текст, если сам атрибут пуст. Пример:[[attributes.name|set_if_not_value("Имя не задано")]]skip_if_not_value— игнорирует переменную (подставляет пустую строку), если её значение отсутствует. Пример:[[attributes.name|skip_if_not_value]]datetimeformat— преобразует дату в формате ISO в читаемый вид (по умолчанию%d %B %Y %H:%M). Формат задается кодами стандарта C. Пример:[[attributes.date|datetimeformat("%d.%m.%Y")]]
Важно: Если в шаблоне используется переменная без значения (и без фильтров обработки пустоты), система сгенерирует ошибку. Последствия зависят от контекста применения правила.
Правила идентификации
Правила идентификации защищают систему от появления дубликатов. Они определяют условия, при которых два экземпляра КЕ считаются одним и тем же объектом.
Принцип работы:
- Задание условия — настраивается логическое правило на основе совпадения атрибутов.
- Проверка — при создании или изменении КЕ система ищет в базе данных (БДКЕ) совпадения по этому правилу.
- Объединение — если дубликат найден, система автоматически объединяет записи или предлагает сделать это пользователю.
Влияние композиции:
- Для композируемых КЕ (входящих в состав другой КЕ) поиск дубликатов идет только внутри родительского объекта.
- Для самостоятельных КЕ проверка выполняется глобально по всей базе данных.
В поиске конфликтов и дубликатов также участвуют КЕ, которые были помечены к удалению.
Структура правила
Правило состоит из критериев. Если хотя бы один критерий истинен (true), КЕ считаются идентичными.
Критерий — это набор атрибутов. Если хотя бы один атрибут в критерии пуст, весь критерий возвращает false.
В графическом интерфейсе логика строится следующим образом:
- Атрибуты внутри одной строки (критерия) соединены логическим оператором
И(должны совпадать все). - Отдельные строки (критерии) соединены логическим оператором
ИЛИ(должна совпасть хотя бы одна строка).
Идентификация связей между КЕ
Помимо самих ресурсов, CMDB отслеживает уникальность связей между ними. Связи идентифицируются на основе их типа и заполненных атрибутов.
Правила разрешения конфликтов связей:
- Связи с атрибутами:
- Идентичны: Если у двух связей между одними и теми же КЕ полностью совпадает набор атрибутов и их значений. (Пример: Связь «Зависит от» со значениями
Тип=ВысокаяиВремя=200мс). - Различны: Если хотя бы один атрибут или его значение отличается. В этом случае между двумя КЕ будут существовать две параллельные связи. (Пример: Два кабеля в разные порты
eth0иeth1).
- Связи без атрибутов:
- Если у связи нет атрибутов, между парой конкретных КЕ может существовать только одна связь данного типа. Попытка создать вторую такую же вызовет конфликт.
Сводная таблица логики связей:
| Ситуация | Результат в CMDB |
|---|---|
| Одинаковые атрибуты и их значения | Будет создана/оставлена одна связь |
| Разные атрибуты или их значения | Будут созданы разные (параллельные) связи |
| У связей нет атрибутов | Допускается только одна связь данного типа |
Рекомендации по созданию ТКЕ
При проектировании ресурсной модели рекомендуется создавать новые ТКЕ как дочерние элементы по отношению к базовому типу «Конфигурационная единица». Это обеспечивает автоматическое наследование системных свойств и упрощает дальнейшее администрирование.
Если ТКЕ создается в корне иерархии (на одном уровне с базовой «Конфигурационной единицей»), необходимо учитывать следующие особенности:
- Настройка доступа: Созданный в корне ТКЕ не наследует общие права. Его необходимо вручную добавить в соответствующие Правила доступа, иначе экземпляры этого типа не будут отображаться у пользователей.
- Идентификация и наименование: Для корневого ТКЕ необходимо с нуля настроить Правила идентификации и Правила наименования, так как базовые шаблоны не будут применены автоматически.
- Создание в корне: Чтобы при создании ТКЕ не выбирать родителя и оставить тип в корне иерархии, в окне выбора родительского ТКЕ выберите любую существующую запись, а затем повторно нажмите на неё же («выбранную»), чтобы снять выделение. Когда поле станет пустым, ТКЕ будет определен как корневой.
Используйте создание в корне только для уникальных классов объектов, которые архитектурно не могут быть наследниками стандартной Конфигурационной единицы.
Экспорт и импорт Типов КЕ
Раздел Типы КЕ предназначен для управления структурой и компонентной базой ресурсной модели системы. Экспорт Типов КЕ позволяет выгрузить настроенную структуру данных для переноса на другой стенд или для включения в Пакет конфигураций.
Расположение в системе:
В левом боковом меню перейдите по пути: Главная → Настройки → CPM → Типы КЕ.
Особенности экспорта и структура конфигурации (JSON)
При выгрузке Типа КЕ формируется единый JSON-документ, который включает в себя абсолютно все компоненты, относящиеся к данному типу.
Краткая структура выгружаемого JSON-файла: Файл состоит из трех основных массивов данных:
"links"— содержит перечень используемых типов связей (например, association)."attributes"— глобальный реестр всех атрибутов, задействованных в выгружаемых ТКЕ. Здесь описывается их системное имя, ярлык (label) и схема данных (тип строки, даты, текста и т.д.)."cits"— массив самих Типов КЕ. Внутри каждого ТКЕ содержатся:
- Базовые настройки (имя, иконка, цвет, родительский ТКЕ для наследования).
- Привязка атрибутов к данному ТКЕ (настройки отображения, парсеры).
- Доступные связи (какие объекты можно связывать с данным ТКЕ).
- Правила именования (
name_template) и идентификации (rule).
Порядок действий для экспорта:
- В левой панели реестра найдите нужные Типы КЕ. Для удобства можно использовать строку поиска или раскрывать древовидную иерархию.
- Чтобы выделить нужные элементы, раскройте выпадающее меню «Добавить» и активируйте переключатель «Выбор». Рядом с элементами дерева появятся чекбоксы.
- Отметьте галочками один или несколько Типов КЕ.
Примечание: При экспорте нет необходимости вручную выбирать все связанные Типы КЕ. Вы можете выгрузить только интересующий вас ресурс, игнорируя его связи.
- Снова откройте меню «Добавить» и нажмите «Экспорт». Файл
.jsonбудет сохранен на ваш компьютер.
Импорт Типов КЕ и разрешение конфликтов

Импорт файлов Типов КЕ (как напрямую через кнопку «Импорт» в меню «Добавить», так и через загрузку Пакета конфигураций) имеет строгую системную логику для защиты консистентности базы данных.
Интерфейс импорта состоит из трех шагов:
Шаг 1. Загрузка
- В открывшемся окне нажмите «Выбрать файл» и прикрепите подготовленный JSON-документ.
- После загрузки в окне появится встроенный редактор/просмотрщик кода. Вы можете просмотреть структуру импортируемого JSON-файла перед дальнейшими действиями.
- Нажмите синюю кнопку «Анализировать» в правом нижнем углу.
(Важно: В ходе анализа система ищет связанные ТКЕ в импортируемых файлах и уже существующие в системе. Если связанного ТКЕ нет ни там, ни там — возникнет ошибка валидации).
Шаг 2. Анализ

На этом шаге система выводит таблицу со списком импортируемых сущностей (ТКЕ и их Атрибутов) и подсвечивает статусы. Если сущность из файла уже есть в системе, статус будет обозначен как «Конфликт» (желтый значок предупреждения).
Вам необходимо выбрать действие для каждого конфликта (поля, требующие внимания, подсвечены красной рамкой):
- Для Типов CI (ТКЕ): Во избежание неконсистентности между существующим и импортируемым ТКЕ доступна только одна опция — «Заменить существующий». Она приведет к полной замене всех компонентов ТКЕ на те, которые были в файле импорта.
- Для Атрибутов: Импортируемые атрибуты добавляются в собственный независимый реестр. Если атрибут уже существует в системе, для него доступно действие «Пропустить действие». Атрибуты из нескольких ТКЕ не создают дубликаты, система просто привязывает один и тот же атрибут к нескольким ресурсам.
- Некоторые системные атрибуты (например, Наименование КЕ или Конфигурация) не могут быть изменены.
Когда для всех конфликтов будут выбраны действия (красные рамки исчезнут), кнопка «Импорт» станет активной.
Шаг 3. Результат
После нажатия кнопки импорта система применит выбранные действия. На финальном экране вы сможете отследить статус обновления ресурсов (успешно или ошибка).
Связанные разделы
- Пакет конфигураций (Настройки → Система)