Перейти к содержанию

Метки (Labels)

Описание

Метки (или Тэги), мощный инструмент работы с разнородной информацией. НОК поддерживает назначение меток различным сущностям системы (Устройства, Объекты, Интерфейсы и т.д.). Это позволяет единым образом работать с ними: фильтровать, применять настройки, классифицировать.

Пространства меток (Scope)

При работе с метками одна из сложностей это их равнозначность: можно назначить все метки из доступного пространства и невозможно простым способом сделать зависимыми назначение одной метки от другой. Для добавления взаимоисключающих (mutually exclusivity) свойств добавлены пространства меток (Scope). Суть в следующем правиле: Может быть назначена только одна метка из пространства, если будет назначено несколько меток, то останется только последняя назначенная (она заменит предыдущие). Пространство меток создаётся при помощи удвоения двоеточия в названии метки :: - например device_type::switch, device_type::router. Эти метки принадлежат пространству device_type и при назначении одной из меток другая будет заменена.

Для целей системы зарезервировано пространство - noc

Вложенные пространства (Nested Scope)

Допускается применять вложенные пространства, например device_type::switch::home, device_type::switch::office. В этом случае scope считается device_type::switch.

Можно подвести итог:

  • Если в имени метки присутствует двоеточие, то это Scoped
  • Правая часть после последнего двоеточия это значение метки, а левая, это название пространства
  • Можно сказать что все метки без двоеточия живут в пространстве по умолчанию
  • Может быть назначена только одна метка из пространства
  • Пространство noc зарезервирована для меток системы

Ограничения

Для меток существуют следующие ограничения

  • После создания нельзя изменять имя метки
  • Длина метки не может быть больше 250 символов
  • Удаление метки возможно только если она не используется где-либо в системе
  • Может быть назначена только одна метка из пространства (Scope)
  • Системные метки живут в пространстве noc
  • Удаление системных меток запрещено

Работа с метками

Управление метками

Справочник меток расположен в разделе Основные (Main) -> Setup (Настройки) -> Метки (Labels).

Для создания метки достаточно указать её имя. Плюс отметить галочками список сущностей, на которые она может назначаться. Доступны настройки

  • Имя (Name) - наименование метки
  • Защищённая (Protected) - запрещает пользователю снимать метку с объекта
  • Автосоздание (Autogenerated) - метка была создана автоматически (например при опросе)
  • Порядок показа - (Display Order) - порядок вывода меток в форме интерфейса
  • Использовать регулярное выражение (Is Regex) - метка автоматически добавляется при совпадении с регулярным выражением
  • Список регулярных выражений (Regex)
    • Регулярное выражение (Regex)
    • Область применения (Scope) - указание на поле, с которым происходит проверка:
      • ManagedObject Name - имя устройства
      • ManagedObject Address - IP адрес устройства
      • ManagedObject Description - Описание устройства
      • Interface Name - имя интерфейса
      • Interface Description - описание интерфейса
      • Sensor Id - идентификатор сенсора
  • Цвет (Scoped Color) - цвет метки
    • Цвет фона метки (Background)
    • Цвет основного текста (Foreground)
  • Цвет значения - (Value Color) - если у метки есть Namespace, для значения можно задать собственны значения цвета
    • Цвет фона значения (Background)
    • Цвет текста значения (Foreground)
  • Блок Enable - Разрешённые для добавления метки сущности, если отметка не проставлена, то метка будет скрыта из списка на добавление
  • Блок Expose - автоматически добавлять метку при её наличии у связанной сущности
    • Expose Metric - добавлять в метрику
    • Expose Datastream - добавлять метку в Datastream (если поддерживается отдача меток)
  • Блок интеграции с внешними системами
    • Внешняя система (Remote System) - внешняя система, из которой получена метка
    • Идентификатор во внешней системе (Remote ID) - идентификатор метки во внешней системе

Добавление меток

За работу с метками отвечает отдельный компонент интерфейса. Доступные для добавления метки выводятся в выпадающем списке (если метка в списке отсутствует, значит она не была разрешена для этой сущности). Для удаления метки на значке выводится значок x, он отсутствует у защищённых меток (с выставленным свойством Protected).

Добавленные через интерфейс или загруженные из внешней системы добавляются в Пользовательские метки, с ними возможно прямое взаимодействие через интерфейс системы. Кроме них есть Эффективные метки (Effective Labels) - это полный список меток включая пользовательские и унаследованные, обычно это Regex Label или Match Labels. Эффективные метки не проходят проверку на применимость к сущности и не допускается их прямое редактирование (поскольку они строятся автоматически на основе связей системы).

Wildcard Labels

При добавлении нового пространства меток (Scope), автоматически создаётся wildcard метка. Её можно отличить по звёздочке вместо значения - <scope>::*. Используется для хранения настроек по умолчанию для всех меток этого пространства и обозначения совпадения любые метки внутри этого пространства.

Match Labels

Метки, добавляемые при совпадении сущности с одним из условий. В формате noc::<категория>::<имя>::<условие>, доступны следующие условия:

  • noc::<категория>::<имя>::= - полное совпадение
  • noc::<категория>::<имя>::> - полностью содержится во множестве
  • noc::<категория>::<имя>::< - полностью содержит множество
  • noc::<категория>::<имя>::& - пересечения

Доступны следующие категории

СущностьКатегорияДоступные условияПорядок заимствования метокПорядок добавление метки
Administrative Domainadm_domain=, <Managed Object, InterfaceПри Создании
TT Systemttsystem=Managed ObjectПри Создании
VRFipvrf=Managed Object, InterfaceПри Создании
Poolpool=Managed Object, InterfaceПри Создании
Prefix Filterprefixfilter<Managed Object, InterfaceПри Создании
Managed Object Profilemanagedobjectprofile=Managed Object, InterfaceПри Создании
VC Domainvcdomain=Managed Object, InterfaceПри Создании
VC Filtervcfilter=, <, >, &InterfaceПри Создании
Platformplatform=Managed Object, InterfaceПервое появление
Vendorvendor=Managed Object, InterfaceПервое появление
Profileprofile=Managed Object, InterfaceПервое появление

Порядок добавления метки

  • При создании - метка создаётся при добавлении сущности в систему
  • Первое появление - метка создаётся при первом совпадении

Например, если в НОК добавляется пул оборудования (Pool) с именем devices, вместе с ним создастся метка noc::pool::devices::=. А при добавлении в систему нового профиля SA (SA Profile), метка появится только после того как профиль будет назначен любому из устройств.

Также в Match Labels доступны несколько служебных меток, полезных для использования в правилах:

  • noc::is_linked - назначается на интерфейсы Interface и устройства Managed Object у которых есть связи Link
  • noc::is_managed - назначается на устройство Managed Object у которого выставлен признак управляемый (Is Managed)
  • noc::is_fatal - назначается на аварию, которая привела к останову опроса устройства

Regex Labels

Дополнительно к Match Labels доступны Regex Label. В метках можно перечислить список регулярных выражений, при совпадении с которыми метка будет включена в Эффективные метки, при этом должна быть разрешение на добавление (Enable). Доступные Scope:

  • Имя устройства Managed Object Name
  • Описание устройства (Managed Object Description)
  • IP адрес устройства (Managed Object Address)
  • Имя интерфейса (Interface Name)
  • IP адрес интерфейса (Interface Address)
  • Идентификатор сенсора (Local ID) сервиса

Exposed Labels

В некоторых случаях метки могут перетекать между связанными сущностями. Например, метки Firmware Policy при совпадении условий политики и версии ПО могут быть добавлены к эффективным меткам (effective_labels) устройства. Для этого в настройке метки должно быть разрешено их назначение устройству (Enable ManagedObject).

Цветовая маркировка меток

@todo