Свойства статистического канала

Данная глава посвящена описанию свойств одного канала статистики.

Исходные данные

Выражение

Свойство Выражение определяет, какие данные являются основой статистики. Оно вычисляется во время каждого изменения переменной, на которой построен канал.

Выражение должно иметь в результате выполнения число (целое или с плавающей запятой). Если значение выражения имеет любой другой тип данных, система пытается сконвертировать его в число или пропускает значение Если результат выражения NULL, система применяет метод Управление значениями NULL (см. далее).

Среда вычисления выражения канала статистики:

Контекст по умолчанию

Контекст, в котором определен канал.

Таблица данных по умолчанию

Текущее значение переменной, на которой основан канал.

Ряд по умолчанию

0, если свойство Использовать Ключевое поле отключено.

Номер обрабатываемого на данный момент ряда, если свойство Использовать Ключевое поле включено.

Переменные среды

Только стандартные переменные.

Ключевые поля

Канал может включать один и более Массивов данных для одной контекстной переменной. Для табличных переменных можно создать множество Массивов данных. В таком случае, каждый ряд в переменной распознается уникальным строковым ключом (имя Массива данных). Обратитесь к разделу Работа с ключом для дальнейшего объяснения.

Обработка значений

Канал статистики предоставляет несколько опций для обработки значений, полученных Выражением канала:

  • Обработка значений NULL
  • Обработка значений, вышедших за пределы диапазона
  • Минимальное значение
  • Максимальное значение

Обработка значений NULL

Данная настройка определяет, что должен делать канал, когда его Выражение вернуло NULL. Возможны два варианта:

  • Исключать. Значение будет просто игнорировано. Если не будет получено никаких других значений, общее значение канала станет НЕ ОПРЕДЕЛЕН для данного периода.
  • Приводить к нулю. Значения NULL будут конвертированы в нули.

Обрабока значений, вышедших за пределы диапазона

Определяет, как обрабатывать значения, которые меньше Минимального значения или больше Максимального. Доступны два варианта:

  • Ничего не делать. Просто отключает минимальные/максимальные значения для канала.
  • Отклонить. Игнорирует значения меньше минимального или больше максимального. Если не будет получено никаких других значений, общее значение канала станет НЕ ОПРЕДЕЛЕН для данного периода.
  • Нормализовать. Значения меньше минимального или больше максимального конвертируются в минимальное и максимальное соответственно.

Минимальное и максимальное значение

Эти числа определяют пороги отклонения/нормализации, как обусловлено опцией Обработка данных, вышедших за пределы диапазона.

Включенные для каналов типа "счетчик" (Counter, Derive и Absolute), эти числа определяют минимальную и максимальную величину в секунду.

Настройка минимального и максимального значений очень полезна для работы со сбрасыванием или ошибочным уменьшением показателей счетчика. Если ваш счетчик может сбросить показатели до нуля или уменьшить их в любой момент (например, во время перезапуска устройства), у SberMobile Server нет способа определить, сбросились показатели или переполнились. Однако в случае сброса или уменьшения показатели, рассчитываемые в секунду, будут очень высоки. Например, если значение счетчика, измеряемое в 18:00:00, было равно 100 000, а следующий замер в 18:01:00 имел значение 1000, модуль статистики сочтет, что счетчик увеличился до 2^32 (4.2 миллиарда), переполнился и увеличился до 100 за эту минуту. Таким образом, рассчитанный в одну секунду показатель будет, конечно, выше, чем 1 000 000.

Для исключения подобных высоких показателей, вызванных сбрасыванием счетчика из вашей статистики, просто установите максимальное значение на нечто выше, чем ваш максимально ожидаемый показатель в секунду, но ниже, чем ненормальный "показатель сброса счетчика". Например, если максимально ожидаемый вами показатель в секунду равен 10 000, установите максимальное значение на 100 000 для исключения некорректных показателей и избежания захламления статистики.

Хранение статистики

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

Хранение

Свойство Хранилище определяет тип хранения статистики. Три опции:

  • Стандартный файл (Низкое использование памяти, медленее)
  • Отображаемый файл (более высокое использование памяти, быстрее)
  • Память

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

  • NoSQL хранилище

Важно, что NoSQL хранилище работает только с хранилищем событий NoSQL, активированным в настройках базы данных.

Далее приведены некоторые советы по выбору между стандартными и отображаемыми в памяти файлами:

  • Отображаемый в памяти файл кэширует данные канала в памяти (идущие не из JVM, а напрямую из операционной системы), время как данные обычного файла сохраняются на диске.
  • Выполнение хранения на основе обоих файлов зависит от ОС, таким образом, в большинстве случаев необходимо провести какие-либо тесты, чтобы выбрать один из них.

Тип канала

Настройка Тип канала определяет, как обрабатываются исходные данные для формирования Точек первичных данных для канала. Более подробно об этом см. в разделе Типы каналов.

Агрегирование данных

Модуль статистики использует Функции Агрегирования для конвертирования Точек первичных данных в Точки консолидированных данных (для более подробной информации обратитесь к разделу Технология RRD). Существуют функции агрегирования размера, которые можно включить/отключить для канала в отдельности:

  • Среднее
  • Минимальное
  • Максимальное
  • Общее
  • Первое
  • Последнее

Функции агрегирования данных применяются ко всем Архивам, включенным для канала. Например, если включена функция агрегирования Среднее, система сохраняет средние значения, такие как Поминутный, Почасовой и т.д.

Среднее

Функция рассчитывает среднее значение Точек первичных данных для образования Точки консолидированных данных. Является средним самих значений (для канала Индикатор) или величиной изменений значений (для Счетчика и других типов каналов).

Минимальное

Данная функция берет минимальную Точку первичных данных и использует ее в качестве Точки консолидированных  данных. Является самим минимальным значением (для канала Индиктор) или минимальным значением величины изменений значения (для Счетчика и других типов каналов).

Максимальное

Приблизительно то же, что и Минимальное.

Сумма

Данная функция суммирует все Точки первичных данных для формирования Точки консолидированных данных. Является суммой самих значений (для канала Индикатор) или величиной изменений значений (для Счетчика и других типов каналов).

Первое

Данная функция берет первую Точку первичных данных в качестве значения для Точки консолидированных данных.

Последнее

Данная функция берет последнюю Точку первичных данных в качестве значения для Точки консолидированных данных.

Архивы

Каждый канал может иметь включенными все или несколько следующих Архивов:

  • Поминутный
  • Почасовой
  • Ежедневный (фиксированный 24-часовой период, см. примечание ниже)
  • Еженедельный
  • Месячный (фиксированный период, см. примечание ниже)
  • Годовой (фиксированный период, см. примечание ниже)

Важная заметка: БД RRD и модуль статистики всегда имеют дело с фиксированными временными периодами. Это приводит к следующим последствиям:

1. Ежедневные архивы создаются на сутки. Это приводит к неверным результатам в несколько дней при переключении с летнего времени на обычное время и обратно.

2. Ежемесячные архивы создаются для средней длины месяца в течение любых четырех последовательных лет (три обычных года и один високосный год), что составляет около 30,43 дней. Это влияет на точность при расчете статистических значений за месяц и год для всех месяцев/лет.

Для получения более точных месячных и годовых результатов необходимо основывать вашу статистику на суточных образцах и использовать дополнительную агрегацию на последующих этапах обработки, например, агрегирование внутренних данных графика, которое будет группировать суточные образцы по «реальным» месяцам/годам.

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

Длину каждого архива, т.е. количество точек консолидированных данных, можно конфигурировать.

Чтобы полностью отключить архив, установите его длину на NULL (<Не задано>).

Системные администраторы определяют длину архива в "человеческих" временных единицах, в то время как число Точек консолидированных данных рассчитывается автоматически. Например, если длина Поминутного архива установлена на 1 day, он будет содержать 1440 CDP (т.е. 1440 Средних, 1440 Минимальных, 1440 Максимальных и 1440 Общих, при всех включенных функциях агрегирования).

Контрольный интервал

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

Нулевое значение означает автоматический контрольный интервал.

Автоматический контрольный интервал рассчитывается следующим образом:

  • Если статистический канал привязан к одной из настроек удаленных устройств (перечислены в разделе параметры синхронизации настроек), контрольный интервал рассчитывается как ожидаемый период синхронизации для настройки (минимальные периоды полной и частичной синхронизации), умноженный на 2.
  • Во всех остальных случаях невозможно автоматически определить период обновления значения, поэтому контрольный интервал постоянно устанавливается как 1 минута, умноженная на 2 (120 секунд).

Автоматический контрольный интервал рассчитан, в основном, на работу в статистических каналах, привязанных к настройкам удаленных устройств. В остальных случаях рекомендуется вручную устанавливать контрольный интервал, равный ожидаемому периоду обновления переменной канала, умноженному на 2.

Взаимодействие между шагом и контрольным интервалом

Статистический канал получает исходные значения в произвольные моменты времени. Из них он строит Очки Первичных Данных (PDP) в определенное время каждого интервала Шаг. PDP затем собираются в CDP. См. Технология RRD для разъяснения значений PDP и CDP.

Контрольный интервал определяет максимальный приемлемый интервал между образцами. Если интервал между образцами меньше контрольного интервала, то рассчитывается средний показатель и применяется для этого интервала. Если интервал между образцами длинее, чем контрольный интервал, то весь этот интервал считается неизвестным. Обратите внимание, что есть и другие факторы, которые могут сделать интервал образца неизвестным, такие как ограничения скорости превышения или даже неизвестный (NULL) вводный образец.

Известные показатели во время интервала Шаг PDP используются для расчета среднего показателя данного PDP. Кроме того, если общее неизвестное время в течение интервала Шаг превышает контрольный интервал, весь PDP помечается как неизвестный. Это означает, что совмещение известного и неизвестного времени образца в одном Шаге PDP может добавлять или не добавлять достаточно неизвестного времени, чтобы превысить контрольный интервал и, следовательно, отметить весь PDP как неизвестный. Итак, контрольный интервал - это не только максимально допустимый интервал между образцами, но и максимально допустимое количество неизвестного времени в PDP (очевидно, это имеет значение, только если контрольный интервал меньше Шага).

Контрольный интервал может быть коротким (необычным) или длинным (типичным) по отношению к интервалу Шаг между PDP. Короткий контрольный интервал означает, что требуется несколько образцов в PDP, и если этого нет, PDP помечается как неизвестный. Длинный контрольный интервал может занимать несколько Шагов, а это означает, что допустимо иметь несколько PDP, рассчитываемых из одного образца. Примером этого может быть Шаг в 5 минут и контрольный интервал в один день, и в этом случае один образец "каждый день" приведет к тому, что все PDP этого полного дня будут настроены на тот же средний показатель.

Выражение временной метки

Это выражение позволяет переопределить временную метку для каждого образца. Выражение должно возвращать данные типа дата. Каждый раз при появлении нового образца, выражение вычисляется и образец приобретает метку времени. Когда выражение временной метки не задано, текущее время принимается за временную метку образца.

Защитить статистику

Это полезный флаг для защиты канала статистики от удаления. При изменении одного из следующих двух параметров (Шаг и XFiles фактор), канал перенастраивается, и его данные теряются. Таким образом, если необходимо изменить защищенные параметры, следует сначала снять флаг Защитить статистику.

Шаг

Интервал грануляции для канала, более подробно об этом см. в Технологии RRD. В большинстве случаев Шаг лучше не менять.

Изменение Шага приведет к сбросу статистики канала.

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

Xfiles фактор

XFiles фактор определяет, какая часть интервала консолидации может быть сформирована из неопределенных точек данных, в то время как консолидированное значение все еще считается как известное. Записывается как скалярное отношение допустимого объема неопределенных данных к общему числу данных для конкретного временного интервала, в виде десятичной дроби в диапазоне от 0 до 1 (включительно).

Изменение XFiles фактора приведет к сбросу статистики канала.

Значение по умолчанию - 0.9, т.е. 90% исходных образцов могут быть потеряны.

Для увеличения надежности значений статистики, уменьшите это значение. Типичной настройкой является 0.5.

Показать в статусе

Определяет, будет ли отображаться краткая статистика канала в статусе контейнера (т.е. устройства или датчика).