Извлечение и отображение топологии событий
Каждое событие, хранящееся в Ключ-АСТРОМ, сопоставляется с отслеживаемым объектом, на который оно влияет. ИИ использует эти топологические знания в своем автоматизированном анализе первопричин. Примером топологического контекста может служить всплеск использования ЦП, который сопоставляется с хостом, где он был зафиксирован. Однако, как только вы начнете загружать собственные источники данных в Ключ-АСТРОМ, стандартного топологического сопоставления может оказаться недостаточно: вам может потребоваться сопоставить события с вашими пользовательскими объектами.
API событий версии 2 позволяет добавлять метаданные в события, поступающие в Ключ-АСТРОМ. Благодаря такому обогащению вы можете включить топологический контекст в само событие. Ключ-АСТРОМ может извлечь эту информацию и сопоставить входящее событие с сущностью, к которой оно принадлежит.
Сопоставление с предопределенными типами сущностей
Чтобы сопоставить событие с сущностью предопределенного типа, укажите ее в поле entitySelector. Обратите внимание, что событие можно сопоставить только с сущностями, которые были активны в течение последних 24 часов. Если ни одна сущность не соответствует вашему селектору или селектор вообще отсутствует, событие сопоставляется на уровне среды. Дополнительная настройка не требуется. Чтобы узнать синтаксис селектора сущностей, см. раздел Селектор сущностей.
Сопоставление с общими типами сущностей
Определите пользовательский тип сущности
Сопоставление событий возможно только с сущностями существующего пользовательского обобщенного типа. Если необходимый тип еще не определен, создайте его. Подробнее об этом см. в разделе Определение нового типа сущности.
| Нельзя извлекать сущности предопределенных типов и переназначать на них события. |
Предоставьте метаданные события
Для извлечения универсальных сущностей из событий необходимо предоставить соответствующую информацию в конфигурации события. Эта функция управляется следующими элементами свойств события. Описание всех полей конфигурации события можно найти в запросе POST к событию.
| Название | ID | Описание |
|---|---|---|
| Разрешить переназначение сущностей | dt.event.allow_entity_remapping
|
Определяет, разрешено ли переназначение. Установите значение «разрешено» "true", чтобы разрешить переназначение извлеченных сущностей.
Если установлено значение Обратите внимание, что значения свойства должны быть соответствующего типа |
| Предпочтительный тип сущности для переназначения. | dt.event.preferred_entity_type
|
Определяет общий тип сущности, к которому должно быть привязано событие. Используйте это свойство, если ваши метаданные события содержат несколько сущностей разных типов. Если сущность указанного типа не извлечена, переназначение не применяется. Если не задано, ИИ автоматически определяет соответствующий тип сущности. |
| Идентификация сущности | User-defined | Определяет идентификатор вашей сущности. Поскольку универсальные сущности определяются пользователем, идентификатор этого свойства также определяется пользователем. В качестве примера, для нашего примера логистики Easy Shipping LTD, в качестве ключа для этого свойства можно использовать trucknr. |
Пример JSON
| {
"eventType": "CUSTOM_ALERT", "title": "Truck fuel low", "timeout": 5, "properties": { "trucknr": "13", "dt.event.allow_entity_remapping": "true", "dt.event.preferred_entity_type": "logistics:truck" } } |
Определите правила извлечения
Чтобы назначить правило извлечения для универсального типа сущности
- Перейдите в Настройки > Модель топологии > Типы общего назначения.
- Разверните общий тип, к которому вы хотите привязать свои события.
- Выберите Добавить правило извлечения.
- В поле Шаблон извлеченного идентификатора укажите заполнитель свойства события, содержащего идентификатор сущности. В нашем примере с Easy Shipping это будет
{trucknr}. НеобязательноВ шаблоне имени экземпляра укажите понятный человеку шаблон для имен извлеченных сущностей. Используйте заполнители для автоматического создания уникальных имен. В нашем примере с Easy Shipping это может выглядеть такTruck {trucknr}: .- Выберите Добавить источник.
- Выберите События в качестве типа источника данных.
- В поле условия используйте условие со значением типа события
$eq(). В нашем примере с Easy Shipping это будет выглядеть так$eq(CUSTOM_ALERT): . - Сохраните изменения.
Поиск неисправностей
Если переназначение не удалось, вы можете получить диагностическую информацию на странице обзора событий или с помощью запроса GET для события. Найдите поле Информация о сбое переназначения сущности (dt.event.entity_remapping_failure_info).