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

Мониторинга на базе состояния сервисов

Базовой задачей мониторинга является наблюдение за состоянием объекта мониторинга (Object), при этом способ описания объекта является специфичным, например:

  • Объект мониторинга как Хост (IP адрес). В этом случае в качестве объекта указывается некий IP адрес (или DNS имя)
  • Объект мониторинга как Агент. Объектом является программный модуль мониторинга
  • Объект мониторинга как Сервис. Объектом является некая абстрактная сущность описывая набором данных

Исторически в НОКе объектом мониторинга (Object) было сетевое устройство (Managed Object). К нему подвязывались события, для него проверялась доступность. Такой способ хорошо описывает физическое оборудование поскольку, зачастую, у него есть какой-то IP адрес управления (Management Address) через который проходит взаимодействие и набор доступных протоколов для съёма данных. Но при помощи него достаточно сложно работать с программным обеспечением и многокомпонентными устройствами: когда за одним IP адресом скрыто несколько объектов мониторинга (Object). Для таких случаев в НОКе используется Сервис (Service). Введём определения:

  • Сервис (Service) с точки зрения НОКа - это способ описания объекта для мониторинга на базе набора данных
  • Оперативное состояние (Oper Status) сервиса - описание работоспособности сервиса на текущий момент времени
  • Профиль сервиса (Service Profile) - групповые настройки для сервиса
  • Роль сервиса (Service Role) - функциональная роль сервиса в составе системы (объекта мониторинга), например: база данных, порт управления
  • Вес сервиса (Weight) - оценочное значение влияние сервиса на работоспособность системы
  • Сетевое устройство (Managed Object) - оборудование (или ПО), имеющее IP адрес и доступное для мониторинга по одному из протоколов

Таким образом Сервис (Service) в НОКе, позволяет описать объект мониторинга исходя из доступной о нём информации. Он хорошо подходит для описания объектов мониторинга таких как ПО (Software) и сложных систем (Complex Object).

Note

В рамках описания, считаем термин Состояние (Oper Status) подразумевает оперативное состояние сервиса, а термин Статус (State) - административное состояние

Настройка сервиса

Сервисы (Service) создаются в меню Управление устройствам (Service Activation) -> Сервисы (Service). В списке выведена колонка оперативного состояния (Oper Status). Сразу после создания он не определён (UNKNOWN).

Оперативное состояние сервиса

Результатом работы мониторинга в части сервиса является расчёт его Оперативного состояния (Oper Status). Оно выбирается из следующих вариантов:

  • Не определено (UNKNOWN) - недостаточно данных для вычисления состояния. Значение по умолчанию
  • Работает (UP)
  • Затруднения, не влияющие на работу (SLIGHTLY_DEGRADED)
  • Частичная неработоспособность, Работа осложнена (DEGRADATED)
  • Полная неработоспособность (DOWN)

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

Расчёт оперативного состояния

По умолчанию Оперативное состояния (Oper Status) фиксируется как Неизвестный (Unknown). В ходе работы на него оказывают влияние различные события мониторинга, их можно разделить на 2 вида:

  • Прямые (Direct) - аварии, связанные с задействованными (для работы сервиса) ресурсами
  • Косвенные (Mediated, Affected) - состояние смежных сервисов

Если сервис использует в своей работе какие-либо системные ресурсы: устройства (Managed Object), порты (Interface), то аварии на них оказывают влияние на оперативное состояния сервиса. Степень этого влияния описывается в групповых настройках (Service Profile) и зависит от следующих характеристик:

  • Вес (Weight) аварии
  • Важность (Severity) аварии
  • Класс аварии (Alarm Class)
  • Число (Count) аварийных ресурсов

По умолчанию используется Важность (Severity) аварии по следующему правилу:

Важность аварииСостояние сервиса
CRITICALDOWN
MAJORDEGRADATED
MINORSLIGHTLY_DEGRADED
WARNING-

Иные способы описываются в настройке Alarm Status Rules в Профиля сервиса (Service Profile)

Косвенное (Indirect) влияние учитывает состояние смежных сервисов и ресурсов, используемых (Using) в работе. Для этого доступны следующие типы связей:

  • Using - состояние указанного сервиса транслируется на собственное
  • Group - состояние участников сервисной группы транслируется на собственное
  • Parent - состояние родительского сервиса транслируется на собственное
  • Children (по умолчанию) - состояние дочерних сервисов транслируется на собственное

Связь позволяет учитывать состояние смежных сервисов при расчёте собственного. По умолчанию смежными считаются только дочерние (Children), их состояние передаётся один в один. Для изменения работы необходимо использовать настройку Зависимостей Status Dependencies на форме сервиса.

В итоге порядок расчёта Оперативного состояния (Oper Status) следующий:

  1. Рассчитать собственное состояния на основе используемых ресурсов и аварий
  2. Оценить состояние смежных сервисов согласно правилам
  3. Рассчитать собственное состояния на основе соседних сервисов
  4. Из двух рассчитанных выбрать наиболее влияющее на работоспособность

Настройка расчёта оперативного состояния

  • Политика передачи состояния (Status Transfer Policy) - передача оперативного состояния смежным сервисам
  • Disabled - отключить передачу состояния через сервис
  • Transparent - передавать состояние смежных сервисов, но не собственное
  • Self - передавать собственное состояние
  • Функция расчёта оперативного состояния (Calculate Status Function) - способ которым рассчитывается собственное оперативное состояние
  • Не рассчитывать (Disabled) - не рассчитывать оперативное состояние для сервиса
  • Наименьший (Min) - состояние с наименьшим весом
  • Наибольший (Max) - состояние с наибольшим весом
  • По правилам (Rule) - рассчитать состояние на базе правил расчёта состояний
  • Правила расчёта состояния (Calculate Status Rules) - набор правил для расчёта собственного оперативного состояния. Записи проходятся последовательно, до первого совпадения с условиями. Условия могут быть по весу (Weight) и состоянию (Oper Status)
  • Функция (Function) - по которой вычисляется Вес (Weight)
    • Count - число
    • Count Percent - процент
    • Min - наименьший вес
    • Max - наибольший вес
  • Условие - условие для сравнения результата расчёта веса
  • Вес (Weight) - значение веса
  • Наименьшее состояние (Min Status)
  • Наибольшее состояние (Max Status)
  • Установить состояния (Set Status)
  • Политика наследования состояния (Parent Status Policy) -
  • Отключить (Disabled) - отключить наследование состояния от нижележащих сервисов
  • Прозрачное (Transparent)
  • По правилам (By Rule)
  • Зависимости (Status Dependencies) - описание зависимостей сервиса
  • Сервисы (Service) - используемый сервис
  • Группы (Resource Group) - используемые ресурсы
  • Тип связи (Type):
    • Смежный (Service) - статус зависит от сервиса
    • Групповая (Group) - статус зависит от группы ресурсов (Resource Group)
    • Родитель (Parent (Up))
    • Подчинённые (Children (Down))
  • Наименьший статус (Min Status) - минимальное передаваемое состояние
  • Наибольший статус (Max Status) - максимальное передаваемое состояние
  • Установить статус (Set Status) - при активации связи передавать указанный статус
  • Игнорировать (Ignore) - не передавать состояние
  • Вес (weight) - вес передаваемого статуса

Связь с ресурсами и авариями

В случае установление связи между сервисом (Service) и ресурсом возникающие на нём аварии участвуют в расчёте Оперативного состояния (Oper Status). НОК включает в себя следующие виды ресурсов, которые могут быть назначены сервису:

  • Пропускная способность: интерфейс или сабинтерфейс
  • IP Адрес: через сабинтерфейс или напрямую
  • Вычислительные ресурсы: процессы на хосте

Процесс назначения ресурса, как используемого в работе сервиса может проходить в рамках опроса (Discovery) либо вручную, через форму сервиса (Service). В первом случае используются правила, описанные в настройке Instance Resource Rules Профиля сервиса (Service Profile). Для этого данные сервиса сопоставляется с ресурсом.

Настройки привязки ресурсов и аварий

Данные настройки выполняются в профиле сервиса (Service Profile)

  • Влияние аварий (Alarm Affected Policy)
  • Disabled - отключить влияние аварий
  • По ресурсу (By Instance) - аварии на ресурсе
  • По правилам (By Filter ) - использовать правила из Alarm Status Rules
  • Правила влияния аварий (Alarm Status Rules)
  • Шаблон класса Аварии (Alarm Class Template) - шаблон имени Класса аварии
  • Метки (Include Labels) - набор меток для сопоставления с аварией
  • Исключить с метками (Exclude Labels) - набор меток,
  • Включить ресурс (Affected Instance) - включить в фильтр по аварии ресурс
  • Наименьшая важность (Min Severity) - минимальная важность аварии
  • Наибольшая важность (Max Severity) - максимальная важность аварии
  • Состояние (Status) - выставить состояние сервиса
  • Правила привязки ресурсов (Instance Resource Rules)
  • Resource Type - вид ресурсов для привязки
    • Interface - интерфейс
    • SubInterface - сабинтерфейс
  • Capability - использовать данные по Capability
  • Send Seen - отправить сигнал seen когда происходит обнаружение ресурса
  • Update Status - обновлять состояния ресурса