Обработка данных

Функционально мониторинг является процессом сбора и анализа данных. Сырые данные, собранные от управляемых устройств, должны быть обработаны с целью извлечения количественных характеристик, которые мы можем проанализировать. Данный раздел содержит краткий обзор типов обработки данных, используемых в  SberMobile Network Manager и связанных с ними вопросов.

Сырые данные

В некоторых случаях, количественные характеристики, которые вы хотите контролировать, могут быть непосредственно извлечены из устройства и использованы в задачах мониторинга "как есть" - без дополнительной обработки. В качестве примера можно упомянуть hrProcessorLoad SNMP переменную, которая указывает на "среднее значении за последнюю минуту в процентах от времени, когда процессор не находился в простое" [RFC1514 - Host Resources MIB]. Это значение характеризует текущее использование ЦП и может быть использовано "как есть", например, в диаграммах или тревогах.

Дифференцирование

Но не все значения, которые мы хотим отследить, могут быть выражены в виде сырых данных. Чаще всего, собранные данные должны быть определенным образом обработаны, чтобы стать полезными для мониторинга. Дифференцирование - одна из наиболее распространенных операций по обработке данных. Имеется ввиду расчет разницы между текущей и предыдущей выборками.

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

Здесь должен быть рассмотрен один важный момент. Значения, которые мы используем для мониторинга, с определенным  интервалом периодически обновляются со стороны устройства. SberMobile Network Manager считывает эти значения в течении стандартной синхронизации в различные моменты времени (относительно собственного периода синхронизации). Поэтому, обеспечение слишком маленького периода синхронизации (меньше, чем интервал обновления со стороны устройства) может дать соответствующий результат: последовательные выборки будут равны (т.к устройство не имело достаточно времени для обновления значений) и разница будет равна нулю.

Период синхронизации SNMP переменных, используемый в различных показателях, не должен быть меньше, чем интервал обновления со стороны устройства. Обратитесь к специальной документации устройства, чтобы узнать насколько часто устройство обновляет свои индикаторы и как это настроить. Кроме того, вы можете определить это опытным путем, используя инструменты SberMobile. Зная интервал обновления со стороны устройства, вы можете соответствующим образом скорректировать период синхронизации (со стороны SberMobile сервера).

Деривация

Деривация является хорошим и наиболее распространенным примером дифференцирования "в действии".

Некоторые из значений, мониторинг которых проводится системой, фактически являются производными от значений, к которым SberMobile имеет доступ. Например, универсальные SNMP устройства обеспечивают только общее количество байтов, полученных на интерфейс. Таким образом, чтобы получить входной трафик интерфейса, который является (в среднем) числом байт, полученных в единицу времени, мы должны оценить изменения всех полученных байтов за все время, т.е. применить дифференцирование по времени. Такие показатели мы будем называть производная по времени.

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