Мониторинга на базе состояния сервисов¶
Базовой задачей мониторинга является наблюдение за состоянием объекта мониторинга (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) аварии по следующему правилу:
Важность аварии | Состояние сервиса |
---|---|
CRITICAL | DOWN |
MAJOR | DEGRADATED |
MINOR | SLIGHTLY_DEGRADED |
WARNING | - |
Иные способы описываются в настройке Alarm Status Rules в Профиля сервиса (Service Profile)
Косвенное (Indirect) влияние учитывает состояние смежных сервисов и ресурсов, используемых (Using) в работе. Для этого доступны следующие типы связей:
- Using - состояние указанного сервиса транслируется на собственное
- Group - состояние участников сервисной группы транслируется на собственное
- Parent - состояние родительского сервиса транслируется на собственное
- Children (по умолчанию) - состояние дочерних сервисов транслируется на собственное
Связь позволяет учитывать состояние смежных сервисов при расчёте собственного. По умолчанию смежными считаются только дочерние (Children), их состояние передаётся один в один. Для изменения работы необходимо использовать настройку Зависимостей Status Dependencies на форме сервиса.
В итоге порядок расчёта Оперативного состояния (Oper Status) следующий:
- Рассчитать собственное состояния на основе используемых ресурсов и аварий
- Оценить состояние смежных сервисов согласно правилам
- Рассчитать собственное состояния на основе соседних сервисов
- Из двух рассчитанных выбрать наиболее влияющее на работоспособность
Настройка расчёта оперативного состояния¶
- Политика передачи состояния (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 - обновлять состояния ресурса