Child pages
  • Управление политиками валидации.
Skip to end of metadata
Go to start of metadata

Описание

Политика валидации - набор правил по которым происходит сравнение фактов, полученных путём разбора конфигурации, с эталоном. В случае расхождения факта и эталона поднимается авария.

Запрос к базе фактов - текстовая строка составленная по определённым правилам, позволяющая производить операции над фактами.

База фактов (ConfDB) - сущность, содержащая в себе данные (факты), полученные на основе разбора конфигурации оборудования.


Механизм

При сборе конфигурации с устройства она пропускается через нормализатор в котором происходит её разбор на факты. Они объединяются в синтаксическое дерево, которое составляет Базу фактов (ConfDB). Само дерево можно увидеть в интрефейсе объекта справа от кнопки Config:


Cинтаксис описан системой, благодаря этому он будет одинаковым для всех устройств, а его наполнение зависит только от полноты реализации нормализатора. Это позволяет писать запросы, которые будут работать на любой конфигурации. Его можно расширять в профилях (адаптерах) - т.е. оно будет существовать в в рамках профиля.
Также добавляется секция Meta с информацией собранной в ходе опроса. Это позволяет обращаться к ней в запросах.

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

Механизм проверки называется Политика валидации. Привязывается к `профилю объекта` и содержит список запросов к ConfDB с установлением факта ошибки (error). При сборе конфигурации извлекаются факты и к ним, по порядку, применяются, указанным в политике, запросы, которые соответствуют критерию. В случае установления факта ошибки валидации поднимается авария с указанием места ошибки и текста, выставленного в error.

Настройка


Запросы

Интерфейс запросов находится в меню `Управление конфигурацией` -> `Настройки` -> `ConfDB Queries`. В нём можно добавить новый запрос или изменить назначение существующего. Интерфейс создания/редактирования запроса состоит из следующих полей:

Пример запроса на фильтрацию объектов по профилю

  1. Name (Имя запроса) - уникальное имя
  2. Description (Описание)
  3. Soure (Исходник) - текст запроса
  4. Parameters (параметры) - перечень переменных, для перадчи в запрос
    • Name (Имя) - наименование переменной
    • Type (Тип) - тип переменной
    • Default (По умолчанию) - используется, если не выставлено значение пользователем
    • Description (Описание) - краткое описание
  5. Allow (Разрешённые назначения) - в каком качестве можно использовать запрос:
    • Object Filter - фильтр объектов
    • Object Validation - для валидации фактов по объекту
    • Interface Filter - для фильтрации интерфейсов
    • Interface Validation - для валидации фактов по интерфейсу
  6. Requiere RAW - для запроса необходима секция raw (факты до нормализации)

Тестирование запросов

Написание и проверку запросов удобно проводить в интерфейсе устройства: Service Activation (Управление объектами) -> Managed Object (Список объектов) -> Выбрать интересующий объект. В нём зайти в ConfDB

В левой части отобразится дерево ConfDB. По нажатии на копку Query откроется текстовое поле с кнопкой Запуск. В него можно вписать текст запроса и посмотреть результат (снизу после нажатия Запуск).

Политика валидации

Интерфейс работы с политиками валидации находится в меню Configuration Management (`Управление конфигурацией`) -> Setup (Настройки) -> Object Validation Policies (Политики валидации объекта). Форма добавления/изменения политики выглядит так

  1. Name (Имя) - говорящее имя политики
  2. Description (Описание) - текст описания
  3. Filter Query - запрос фильтрации политики (должен быть отмечен как Object Filter)
  4. Правила - список правил валидации. Состоит из
    1. Query - запрос валидации (должен быть отмечен для применения в Object Validation)
    2. Query Parameters - значения параметров, передающихся в запрос в качестве переменных (список берётся из настроек запроса)
    3. Filter Query - запрос для фильтрации правила (должен быть отмечен как Object Filter). Используется при необходимости применения правила к ограниченному перечню объектов (н-р конкретных моделям)
    4. Active - рабочее или не рабочее правило
    5. Code (`Код`) - код аварии, применяется при необходимо обработке аварий внешней системой
    6. Error Template - шаблон сообщения аварии
    7. Alarm Class (`Класс аварии`) - класс открытой аварии при нарушении правила
    8. Fatal - в случае нарушения опрога остановить опрос устройства


Проверка работы политики

Для проверки работы политики необходимо привязать её к профилю объекта и перезапустить опрос.

Назначение политики валидации происходит в `ManagedObject Profile` (профиле объекта) на вкладке `Config` (Конфиг), блок `Config Validation`. В нём есть 2 настройки:

  • Validation Policy (Политика применения валидации) - настройка валидации:
    • Always будет применяться каждый раз при сборе конфигурации
    • Validate on Change - только при изменении
    • Disable - валидация отключена
  • Action (Действие) - выбранная политика


По умолчанию Политика применяется только при изменении конфигурации. Поведение определяется настройкой в ObjectProfile -> Вкладка Config -> Validation Policy: Always


После назначения настроенной политики необходимо запустить полный опрос на оборудовании. Чтобы не дожидаться времени опроса можно сделать это принудительно. В интерфейсе Объекта (Service Activation (Управление объектами) -> Managed Objects (Список объектов -> выбранный объект). Кнопка Discovery (Опрос) на панели сверху.

При выборе строки с box справа покажется лог опроса. Необходимо нажать Run (Запуск). После окончания опроса необходимо Обновить лог. Записи о найденных проблемах будут в строке [configvalidation], Записи о поднятых авариях внизу.


  • No labels