Мониторинг и диагностика
Обогащение взаимодействует с внешними источниками, преобразует данные и строит связи — на каждом из этих шагов что-то может пойти не так. Система фиксирует все ключевые события запуска, чтобы можно было увидеть, что именно произошло с конкретной КЕ.
Где смотреть
Путь в интерфейсе: Настройки ➔ СРМ ➔ Процессы обогащения
Страница открывает журнал запусков обогащения — это основной инструмент диагностики и контроля качества данных в CMDB.
Для отображения страницы требуется функция srm.modelling.enrichmentProcesses.@view, настраиваемая в Доступ → Функции → СРМ → Моделирование СРМ → Процессы обогащения. Для этой страницы предусмотрен только просмотр. Доступ к данным журнала и аудита также зависит от разрешений OpenSearch.
В интерфейсе раздел называется «Процессы обогащения»: один такой процесс — это и есть один запуск обогащения, то есть одна строка таблицы.
Сводка по запуску пересчитывается фоновым процессом раз в минуту. Только что запущенное обогащение появится в таблице не мгновенно, а его показатели будут уточняться по мере поступления событий.
Таблица запусков
Каждая строка таблицы — один запуск обогащения: всё, что было обработано, начиная от одной стартовой КЕ.
| Столбец | Что показывает |
|---|---|
| Имя ТКЕ | Тип стартовой КЕ запуска |
| Имя КЕ | Имя стартовой КЕ запуска |
| Статус | Итоговый статус запуска: Ок, Предупреждение или Ошибка |
| Время начала | Время первого события запуска |
| Время окончания | Время последнего события запуска |
| Длительность | Разница между началом и окончанием |
| Статус выполнения | Выполняется или Завершено |
| Уникальных КЕ | Сколько различных КЕ было затронуто запуском |
| Количество этапов | Сколько всего событий записано по запуску |
| Статус по КЕ | Сколько КЕ завершилось с каждым статусом, например Ок: 12, Предупреждение: 3 |
Над таблицей — выбор периода, он фильтрует запуски по времени начала. Рядом с таблицей доступен конструктор фильтров, позволяющий отобрать запуски по любому полю: типу КЕ, имени, статусу.
Как считается статус
Статусы агрегируются «снизу вверх» по правилу наихудшего:
Порядок «ухудшения»: Ок → Предупреждение → Ошибка.
Поэтому если из 20 событий по КЕ 19 успешны и одно — предупреждение, статус этой КЕ будет Предупреждение. И если хотя бы у одной КЕ запуска статус Ошибка, статус всего запуска тоже Ошибка.
Столбец Статус по КЕ показывает разбивку и помогает понять масштаб: одна проблемная КЕ из ста — это не то же самое, что все сто.
Статус выполнения
Запуск считается завершённым только после события Дополнительная связь завершена — оно приходит в самом конце, когда закончилась фаза дополнительных связей. До этого момента запуск отображается как Выполняется.
У запуска в статусе Выполняется время окончания и длительность — это время последнего пришедшего события, а не итоговые значения.
Детали запуска
Кнопка с лупой в первом столбце открывает журнал обогащения — полный список событий запуска. Сверху выводится та же сводка, что и в строке таблицы, снизу — события.
| Столбец | Что показывает |
|---|---|
| Дата | Время события |
| Имя ТКЕ, Имя КЕ | К какой КЕ относится событие |
| Тип события | Категория события (см. таблицу ниже) |
| Статус | Ок, Предупреждение или Ошибка |
| Сообщение | Текст события с подставленными значениями |
| Атрибут | Имя атрибута — для событий обогащения атрибутов |
| Ошибки | Техническая информация: тип исключения, текст и контекст ошибки |
Столбец Ошибки — самое полезное при разборе сбоя: в нём разворачивается исходное исключение с трассировкой и структурированным контекстом. Эти данные можно скопировать и передать в поддержку.
Журнал тоже фильтруется конструктором фильтров — например, можно оставить только события со статусом Ошибка или только события по одному атрибуту.
Типы событий и что с ними делать
Ход выполнения задачи
| Статус | Событие | Что означает и что делать |
|---|---|---|
| Ок | Starting enrichment. / Finished enrichment. | Обогащение КЕ началось / успешно завершилось. Штатный режим. |
| Ок | The enrichment of the attributes is completed. | Этап обогащения атрибутов КЕ завершён. |
| Ок | The enrichment of the links is completed, found N ci(s). | Этап обогащения связей завершён, найдено N связанных КЕ. |
| Предупреждение | Identification has redefined ci. | После заполнения атрибутов идентификация обнаружила, что КЕ совпадает с уже существующей, и обогащение продолжилось на ней. Сигнал о возможном дублировании данных — стоит проверить правила идентификации ТКЕ. |
| Ошибка | Fetcher has a cyclical dependence on attributes. | Атрибуты зависят друг от друга по кругу: A ждёт B, B ждёт A. Обогащение прервано. Проверьте настройки фетчеров и зависимости атрибутов в ТКЕ. |
| Ошибка | Error identify ci, attributes: ... | Сбой при идентификации КЕ. В сообщении перечислены значения атрибутов, по которым выполнялся поиск. |
| Ошибка | An error occurred during the enrichment CI. | Необработанный сбой обогащения КЕ. В столбце Ошибки будет трассировка — её можно передать в поддержку. |
Обогащение атрибутов
| Статус | Событие | Что означает и что делать |
|---|---|---|
| Ок | The data received stored in the attribute. | Значение получено из источника и записано в атрибут. |
| Предупреждение | Error getting data for the attribute. | Не удалось получить данные для атрибута; остальные атрибуты продолжили обогащаться. Возможные причины: неверные учётные данные или права доступа к внешней системе, недоступность источника по сети, отсутствие данных в источнике, некорректные настройки фетчера. |
| Ошибка | The data received cannot be stored in the attribute. | Данные получены, но записать их не удалось: значение не приводится к типу атрибута или не проходит проверку по JSON-схеме — например, текст в числовое поле. Посмотрите, что приходит из источника, и либо поправьте парсер и постпроцессоры, либо измените тип атрибута. |
Обогащение связей
| Статус | Событие | Что означает и что делать |
|---|---|---|
| Ок | The link is enriched, found N ci(s). | Связь обработана, найдено или создано N связанных КЕ. |
| Предупреждение | Of the N elements found, the identification left M. | Из конфигурации получено N элементов, но после идентификации осталось M различных КЕ — часть элементов оказалась одной и той же КЕ. Обычно означает слишком широкие правила идентификации связанного ТКЕ. |
| Предупреждение | In the current scope, enrichment has already been carried out in this link with the creation of CI. | КЕ уже обрабатывалась в этом запуске и повторно обрабатываться не будет. Штатная защита от повторной работы, когда одна КЕ достижима по нескольким путям. |
| Предупреждение | Warning during enriched ci on link. CI skipped. | Связанную КЕ не удалось создать или обогатить, элемент пропущен. Остальные элементы конфигурации обработаны. |
| Ошибка | Error during enriching link. | Не удалось получить или разобрать конфигурацию связи. Чаще всего — некорректная настройка фетчера или парсера связи. |
| Ошибка | Error creating and enriching a new ci. Value for config: ... | Сбой при создании связанной КЕ по элементу конфигурации; сам элемент показан в сообщении. Типичная причина — не хватает данных для обязательных атрибутов создаваемой КЕ. |
Дополнительные связи
| Статус | Событие | Что означает и что делать |
|---|---|---|
| Ок | The enrichment of additional links has begun. / ... is completed, created N link(s). | Фаза дополнительных связей для КЕ началась / завершилась, создано N связей. |
| Ок | The additional link is enriched, found N ci(s). | По TQL-фильтру связи найдено N подходящих КЕ. |
| Предупреждение | An error occurred during prepare_filter. | Не удалось подставить значение в TQL-фильтр — как правило, атрибут, на который ссылается фильтр, не найден или пуст. Фильтр пропущен, связи по нему не построены. |
| Ошибка | Error during enriching additional link. | Сбой при обработке дополнительной связи. Проверьте TQL-фильтр и настройки фетчера и парсера связи. |
| Ок | Finished enriched. | Запуск полностью завершён. После этого события запуск переходит в статус Завершено. |
Если связей по фильтру не находится вовсе, чаще всего дело в области поиска: по умолчанию поиск идёт только среди КЕ текущего запуска (local). Чтобы искать по всей базе, переключите область на global — см. Область поиска.
Куда смотреть дальше
- События обогащения — как события устроены внутри и как получить к ним доступ из внешних систем.
- Процесс обогащения — что именно происходит на каждом этапе, о котором сообщают события.