При выполнении измерений внутри каждой задачи последовательно запускаются Python-скрипты, производящие некоторые действия, в первую очередь измерения.
Результатом измерения является:
- статус (успех - неуспех)
- длительность исполнения
- набор выходных данных в JSON-формате
- опционально - вычисленные сенсором метрики
После получения результатов измерения сервер их анализирует, и вычисляет собственные метрики измерения. Таким образом, полный набор метрик по измерению - метрики сервера плюс метрики сенсора.
Метрика - объект, который содержит информацию о статусе здоровья конкретного числового, измеряемого параметра системы. Он хранится в виде результата одного из трех типов: OK, Warning, Failure.
В метрику также добавляются ключ измерения, идентификаторы группы, сенсора, задачи, измерения, точки доступа, и её BSSID
Вычисление результата ведется исходя из словаря метрик - определенных пороговых значений для каждого типа ключа. Причем глобальный словарь (т.е. пороговые значения) можно переопределить для группы, сенсора, и точки доступа.
Ниже приведен справочник различных метрик, доступных в системе:
Тип инструкции | Ключ метрики | Описание метрики |
Сервисная инструкция предназначена для выполнения служебной функции, например сброс радио-интерфейсов, смена МАС-адреса и т.п. | ||
Service | service_success | Успешное завершение сервисной инструкции |
Инструкция типа WifiSurvey генерирует блок данных о загруженности в % каждого из радио-каналов, но метрик не производит | ||
Инструкция типа WifiFrameSurvey запускает прослушивание эфира (сбор пакетов в режиме монитора) на каждом из радио-каналов, используемых нашими точками доступа. Собираются данные о типе и числе фреймов разного типа. | ||
WifiFrameSurvey | framesurvey_miss_our_beacons | Низкое число биконов от наших BSSID (шт. в сек.) |
Инструкция типа WifiScan запрашивает драйвер сетевой карты о найденных (в режиме off-channel scanning) соседних точках доступа (BSSID) | ||
WifiScan | scan_bssid_count | Число найденных BSSID |
WifiScan | scan_multiencryprion | Число найденных BSSID с тем же SSID и другими параметрами безопасности |
WifiScan | scan_bssid_minsignal | Минимальный уровень сигнала от BSSID |
WifiScan | scan_bssid_avgsignal | Средний уровень сигнала от BSSID |
WifiScan | scan_bssid_list | Число ожидаемых, но не обнаруженных при сканировании BSSID |
Инструкция типа WifiConnect запускает подключение сенсора к заданной "нашей" точке доступа (по её BSSID) с авторизацией и измерением времени на всех этапах, а также сбором пакетного трейса, и лога подключения | ||
WifiConnect | connect_dns | Время ответа DNS-серверов, мс |
WifiConnect | connect_rssi | Уровень RSSI при подключении к BSSID |
WifiConnect | eap_success | Успешность процесса авторизации EAP/802.1х |
WifiConnect | connect_wifi | Время установления подключения к Wi-Fi, мс |
WifiConnect | connect_success | Успешность подключения к BSSID |
WifiConnect | connect_ip_pattern | Соответствие шаблону выданного IP адреса |
WifiConnect | connect_dhcp | Время DHCP-процесса, мс |
WifiConnect | connect_rx_speed | Канальная скорость RX, Мбит/с |
WifiConnect | connect_tx_speed | Канальная скорость TX, Мбит/с |
Инструкция WifiAuth запускает прохождение цикла гостевой авторизации, если таковая есть в подключенном SSID. Метрик в настоящий момент не производит | ||
Инструкция WifiQuality обеспечивает, после успешного подключения (и авторизации), проведение различных TCP/IP проверок и измерений | ||
WifiQuality | quality_iperf_speed_in | Входящий трафик Iperf, бит/с |
WifiQuality | quality_tracert_delay | Длительность ответов traceroute, мс |
WifiQuality | quality_ping_loss | Потери ICMP ответов, % |
WifiQuality | quality_tracert_hops | Число хопов traceroute |
WifiQuality | quality_iperf_speed_out | Исходящий трафик Iperf, бит/с |
WifiQuality | icmpv6ra_count | Число полученных пакетов ICMPv6 RA за заданное время (10...30 сек) |
WifiQuality | quality_ping_delay | Задержка ICMP ответов, мс |
WifiQuality | quality_iperf_jitter_out | Джиттер исходящего UDP трафика, мс |
WifiQuality | quality_resource | Скорость загрузки ресурса, Мбит/с |
WifiQuality | quality_iperf_jitter_in | Джиттер входящего UDP трафика, мс |
При наличии установленного в сенсор модема инструкция GsmScan позволяет получить параметры окружающей сенсор сотовой сети, а также температуру внутри сенсора | ||
GsmScan | gsm_registration | Статус регистрации в GSM сети |
GsmScan | gsm_cells | Число окружающих сот GSM |
GsmScan | gsm_signal | Уровень сигнала в GSM сети |
GsmScan | gsm_temperature_lo | Нижний порог допустимой температуры устройства |
GsmScan | gsm_temperature_hi | Верхний порог допустимой температуры устройства |