Аномально довгі сеанси

Вузли парку, чиї сеанси звʼязку тривають аномально довго відносно власної норми, з індивідуальними IQR-порогами на вузол, оцінкою серйозності та аналізом кореневих причин на основі інцидентів.

Звіт «Аномально довгі сеанси» аналізує телеметричні сеанси звʼязку по всьому парку вузлів обліку та виявляє пристрої, локації, дні й типи коректорів, де звʼязок працює нестабільно або потребує надмірно довгого часу для передачі даних.

Шапка звіту із сімома KPI

Шапка звіту містить сім KPI: компанія, охоплення парку, готовність даних, кількість вузлів з аномаліями, кількість аномальних сеансів, максимальна тривалість сеансу, загальна кількість часових інцидентів і період аналізу. Головне число — це кількість вузлів з аномаліями із загальної кількості вузлів парку; інциденти — це часові кластери, де пʼять або більше вузлів мають довгі сеанси одночасно.

Звіт відповідає на практичні питання експлуатації:

  • які вузли мають занадто довгі сеанси звʼязку;
  • які сеанси вважаються аномальними саме для цього вузла;
  • де проблема локальна: антена, SIM-карта, живлення, модем, місце встановлення;
  • де проблема схожа на інцидент базової станції або оператора мобільної мережі;
  • чи є масові часові інциденти на парку;
  • які дні були найбільш проблемними;
  • які типи коректорів частіше потрапляють у довгі сеанси;
  • скільки енергії орієнтовно витрачено на повторні або подовжені передачі;
  • які вузли потребують виїзду із зовнішньою антеною, репітером або перевіркою SIM;
  • де потрібно перевіряти оператора мобільної мережі або якість покриття в конкретній локації.

Місце звіту в системі

Звіт належить до експлуатаційної діагностики телеметрії. Він не повинен змішувати дві різні ситуації:

  1. Немає звʼязку взагалі. Вузол не виходить на звʼязок, даних немає.
  2. Звʼязок є, але сеанси занадто довгі. Вузол передає дані, але робить це повільно, нестабільно або з повторними спробами.

Цей звіт аналізує другу ситуацію. Там, де звʼязку, архіву чи даних немає взагалі, використовуйте звіт Top Problem Nodes; там, де потрібно перевірити, чи придатні дані одного вузла для обліку, використовуйте Consumption Analytics.

Для кого призначений звіт

РольЩо отримує зі звіту
Керівник експлуатаціїзагальна картина по парку, кількість вузлів з аномаліями, масові інциденти
Інженер звʼязкусписок вузлів з поганим RSSI, довгими сеансами і локальними проблемами
Диспетчерпріоритетний список заявок і проблемних днів
Виїзна бригадатоп-вузли для перевірки антени, SIM, живлення і місця встановлення
Інженер інтеграціїдіагностика готовності даних, API-покриття та випадки відсутності даних сеансів
Закупівельний спеціалістпорівняльний розріз за типами коректорів
Аналітик паркуRCA-гіпотези: базова станція, оператор, прошивка, локальний вузол

Що звіт не робить

Звіт не повинен:

  • доводити несправність конкретного модема без виїзду;
  • вважати довгий сеанс прямим доказом поганого приладу;
  • автоматично звинувачувати сервер або оператора мобільної мережі;
  • змішувати «немає даних» з «немає аномалій»;
  • порівнювати тривалість сеансів усіх вузлів одним загальним порогом;
  • вважати короткий період з малою кількістю сеансів статистично надійним;
  • робити висновок про якість моделі приладу без урахування кількості пристроїв у вибірці;
  • замінювати радіотехнічне обстеження місця встановлення;
  • вважати оцінку втрати батареї точним вимірюванням;
  • використовувати AI-коментар як джерело діагностики.

Основні терміни

ТермінЗначення
Сеанс звʼязкуодин епізод зʼєднання пристрою із системою передачі даних
Тривалість сеансучас від початку до завершення сеансу
Нормальний сеанссеанс, тривалість якого знаходиться в індивідуальній нормі вузла
Довгий сеанссеанс, тривалість якого перевищує індивідуальний IQR-поріг вузла
IQRміжквартильний розмах: Q3 − Q1
Q1перший квартиль тривалостей сеансів
Q3третій квартиль тривалостей сеансів
UpperFenceверхня межа норми: Q3 + 1.5 × IQR
RSSIрівень радіосигналу, dBm
CSQіндекс якості сигналу GSM, може бути перерахований у dBm
Btmнапруга батареї або показник живлення пристрою
Long shareчастка довгих сеансів серед усіх сеансів вузла
Severity scoreпідсумкова оцінка проблемності вузла за довгими сеансами
Інцидентчасовий кластер, де довгі сеанси зʼявилися одразу у кількох вузлів
RCAаналіз ймовірної причини: базова станція, мережа, сервер, прошивка, локальний вузол
Battery lossорієнтовна оцінка енергії, витраченої на зайву тривалість передачі

Загальна логіка звіту

Звіт будується як парковий аналіз сеансів звʼязку.

text
Список вузлів парку
→ отримання сеансів звʼязку
→ перевірка готовності даних
→ індивідуальна норма сеансів для кожного вузла
→ пошук довгих сеансів за IQR
→ розрахунок score по кожному вузлу
→ групування довгих сеансів у часові інциденти
→ визначення ймовірної причини RCA
→ розподіл гіпотез по вузлах
→ топ проблемних вузлів
→ розріз за типами коректорів
→ розріз за днями та місяцями
→ рекомендації для експлуатації

Головний принцип:

text
довгий сеанс визначається відносно норми конкретного вузла,
а не відносно загального фіксованого порогу по всьому парку.

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

Параметри запуску

ПараметрЗначення
Дата з / Дата помежі вікна аналізу
Вікно аналізу, дніврезервне вікно, що використовується, коли дати порожні (за замовчуванням 30)
Вузлів на тип коректорарозмір вибірки на тип; 0 означає всі вузли парку
Мінімум сеансів на вузлі для IQRмінімальна кількість сеансів, яку вузол має мати, щоб кваліфікуватися (за замовчуванням 30)
Кількість проблемних вузлів у звітірозмір таблиці топ-N (за замовчуванням 50)
LLM-аналізопціональний AI-наратив, що пояснює результати
Компанія-постачальникобмежує аналіз парком одного постачальника

Вхідні дані

Основні дані

ДаніДля чого потрібні
Список вузліввизначити парк аналізу
Тип коректорапобудувати розріз за моделями
Equipment IDотримати сеанси конкретного пристрою
Сеанси звʼязкуоснова звіту
Час початку сеансугрупування за днями, місяцями та годинами
Тривалість сеансуголовний аналізований показник
RSSI / CSQоцінка якості радіосигналу
Btm / батареяоцінка впливу живлення
Організація / локаціяатрибуція інциденту: локальний клієнт, базова станція, парк

Мінімально необхідний набір

Для коректного аналізу вузла потрібні:

  • ідентифікатор пристрою;
  • не менше мінімальної кількості сеансів;
  • тривалість кожного сеансу;
  • timestamp кожного сеансу.

Якщо тривалість сеансу відсутня, такий сеанс не бере участі в IQR-аналізі.

Готовність даних: data-gate

Діагностика готовності даних

Перед розрахунком аномалій звіт перевіряє, чи можна взагалі виконувати аналіз. Блок готовності даних показує розмір парку, розмір після фільтра за компанією, скільки вузлів віддали дані сеансів і скільки з них пройшли мінімум сеансів для IQR. Це критично важлива діагностика — без неї легко сплутати «немає аномалій» з «немає даних для аналізу».

Основні показники готовності

ПоказникФормула / значення
Вузлів у паркуN_park
Вузлів у вибірціN_sampled
Вузлів з даними сеансівN_with_data
Вузлів, що пройшли мінімум сеансівN_qualified
Усього сеансівN_sessions
API-викликівN_calls
API-помилокN_errors
Частка API-помилокN_errors / N_calls × 100%
Покриття данимиN_with_data / N_sampled × 100%
Покриття IQR-вибіркоюN_qualified / N_sampled × 100%

Частка API-помилок

APIErrorRate=NerrorsNcalls×100%APIErrorRate = \frac{N_{errors}}{N_{calls}} \times 100\%

Покриття даними

Coveragewith_data=Nwith_dataNsampled×100%Coverage_{with\_data} = \frac{N_{with\_data}}{N_{sampled}} \times 100\%

Покриття вузлами, придатними для IQR

Coveragequalified=NqualifiedNsampled×100%Coverage_{qualified} = \frac{N_{qualified}}{N_{sampled}} \times 100\%

Статуси готовності

СтатусУмоваЩо означає
OKє достатня вибірка для IQRзвіт можна читати як робочий
DEGRADEDвибірка мала, але аналіз можливийвисновки обережні
INCONCLUSIVEпомилок багато або покриття критично низькевисновки за аномаліями недостовірні
NO_DATAнемає даних сеансіваналіз неможливий
NO_FLEETпісля фільтра немає вузлівнічого аналізувати

Критичні умови

Аналіз вважається неможливим, якщо:

APIErrorRate50%APIErrorRate \ge 50\%

або:

Coveragewith_data<5%Coverage_{with\_data} < 5\%

або:

Nqualified=0N_{qualified} = 0

Мінімум сеансів на вузлі

Для надійного IQR-аналізу кожен вузол повинен мати достатню кількість сеансів.

Мінімальний поріг

За замовчуванням:

Nsessions,station30N_{sessions,station} \ge 30

Якщо у вузла менше сеансів, індивідуальна норма вважається статистично ненадійною, і вузол не проходить IQR-фільтр.

Чому потрібен мінімум

IQR використовує квартильні оцінки. При малій кількості спостережень квартиль стає нестабільним:

  • один випадковий довгий сеанс може завищити поріг;
  • один короткий період звʼязку може занизити поріг;
  • неможливо відрізнити норму вузла від випадковості.

Індивідуальна норма тривалості сеансу

Чому норма індивідуальна

Не можна використовувати один загальний поріг для всього парку, наприклад «усі сеанси більше 10 хвилин погані». У різних вузлів різні умови звʼязку:

  • різні типи коректорів;
  • різні оператори мобільних мереж;
  • різний RSSI;
  • різні обсяги архіву;
  • різні розклади опитування;
  • різні місця встановлення;
  • різні антени.

Тому для кожного вузла розраховується власна статистична норма.

Відбір валідних тривалостей

Для кожного вузла беруться лише додатні тривалості:

D={didi>0}D = \{d_i \mid d_i > 0\}

де:

  • d_i — тривалість i-го сеансу в секундах.

Квартилі

Тривалості сортуються за зростанням.

Dsorted=sort(D)D_{sorted} = sort(D)

Перший квартиль:

Q1=percentile(D,25%)Q1 = percentile(D, 25\%)

Медіана:

Q2=median(D)Q2 = median(D)

Третій квартиль:

Q3=percentile(D,75%)Q3 = percentile(D, 75\%)

Міжквартильний розмах

IQR=Q3Q1IQR = Q3 - Q1

Верхня межа норми за правилом Tukey fence

Для кожного вузла розраховується індивідуальна верхня межа норми:

UpperFence=Q3+1.5×IQRUpperFence = Q3 + 1.5 \times IQR

Це класичне правило Tukey fences для виявлення викидів.

Довгий сеанс

Сеанс вважається аномально довгим, якщо:

di>UpperFenced_i > UpperFence

де:

  • d_i — тривалість сеансу;
  • UpperFence — індивідуальний поріг цього вузла.

Базові показники вузла

Для кожного вузла розраховуються такі показники.

Загальна кількість сеансів

Ntotal=count(D)N_{total} = count(D)

Кількість довгих сеансів

Nlong=count(di>UpperFence)N_{long} = count(d_i > UpperFence)

Частка довгих сеансів

Pctlong=NlongNtotal×100%Pct_{long} = \frac{N_{long}}{N_{total}} \times 100\%

Середня тривалість усіх сеансів

AvgDuration=diNtotalAvgDuration = \frac{\sum d_i}{N_{total}}

Середня тривалість довгих сеансів

AvgLongDuration=di>UpperFencediNlongAvgLongDuration = \frac{\sum_{d_i > UpperFence} d_i}{N_{long}}

Максимальна тривалість

MaxLongDuration=max(didi>UpperFence)MaxLongDuration = max(d_i \mid d_i > UpperFence)

Середній RSSI

RSSIavg=RSSIiNRSSIRSSI_{avg} = \frac{\sum RSSI_i}{N_{RSSI}}

де N_RSSI — кількість сеансів із доступним значенням RSSI.

Score проблемності вузла

Сенс score

Score показує, наскільки вузол проблемний за довгими сеансами. Він враховує три виміри:

  1. частку довгих сеансів;
  2. наскільки довгі сеанси перевищують норму;
  3. абсолютну кількість довгих сеансів.

Такий підхід дозволяє не переоцінювати поодинокий викид і не недооцінювати вузол із великою кількістю помірно довгих сеансів.

Компонент A — частка довгих сеансів

A=min(100,  4×Pctlong)A = min(100,\;4 \times Pct_{long})

Інтерпретація:

Частка довгихA
5%20
10%40
25%100
>25%100

Компонент B — відносна тривалість

B=min(100,  8×AvgLongDurationmax(1,MedianDuration))B = min \left( 100,\; 8 \times \frac{AvgLongDuration}{max(1, MedianDuration)} \right)

де MedianDuration — медіанна тривалість сеансу вузла.

Інтерпретація:

AvgLong / MedianB
16
40
10×80
12.5×100

Компонент C — кількість довгих сеансів

C=min(100,  Nlong)C = min(100,\;N_{long})

Тобто 100 і більше довгих сеансів дають максимальний внесок за цим компонентом.

Підсумковий score

Score=0.5×A+0.3×B+0.2×CScore = 0.5 \times A + 0.3 \times B + 0.2 \times C

де:

  • A — частка довгих сеансів;
  • B — відносна тривалість довгих сеансів;
  • C — абсолютна кількість довгих сеансів.

Підсумковий score обмежується діапазоном:

0Score1000 \le Score \le 100

Інтерпретація score

ScoreРівень
≥ 80критичний вузол звʼязку
60–80високий пріоритет
40–60середній пріоритет
20–40спостереження / планова перевірка
< 20слабкий сигнал

Оцінка втрати батареї на довгих сеансах

Сенс

Довгий сеанс збільшує час передачі і може додатково витрачати батарею. Звіт дає орієнтовну оцінку зайвої витрати енергії. Це не точне вимірювання батареї, а експлуатаційна оцінка.

Зайвий час передачі

Для кожного довгого сеансу розраховується перевищення над медіанною нормою вузла:

ExtraTimei=max(0,  diMedianDuration)ExtraTime_i = max(0,\;d_i - MedianDuration)

Сумарний зайвий час:

ExtraTimetotal=iLongSessionsExtraTimeiExtraTime_{total} = \sum_{i \in LongSessions} ExtraTime_i

Струм передачі

Для наближеної оцінки використовується базовий струм передачі:

ITX=340  mAI_{TX} = 340 \; mA

Втрати батареї

BatteryLossmAh=ITX×ExtraTimetotal3600BatteryLoss_{mAh} = \frac{I_{TX} \times ExtraTime_{total}}{3600}

де:

  • ExtraTime_total — у секундах;
  • I_TX — струм у міліамперах;
  • результат — у mAh.

Для відображення в Ah:

BatteryLossAh=BatteryLossmAh1000BatteryLoss_{Ah} = \frac{BatteryLoss_{mAh}}{1000}

Обмеження

Ця оцінка не враховує:

  • реальний профіль струму конкретної моделі;
  • режим сну;
  • retries на рівні модема;
  • потужність передавача;
  • температуру;
  • вік батареї;
  • ємність батареї;
  • якість мережі в момент передачі.

Тому її потрібно читати як оцінку масштабу, а не як лабораторне вимірювання.

RSSI та CSQ

RSSI

RSSI показує рівень радіосигналу в dBm. Чим ближче значення до нуля, тим сильніший сигнал.

Приблизна інтерпретація:

RSSIОцінка
≥ −65 dBmхороший сигнал
−65…−75 dBmприйнятний
−75…−85 dBmслабкий
< −85 dBmдуже слабкий

CSQ

Деякі пристрої передають не RSSI у dBm, а CSQ — індекс якості GSM-сигналу. Якщо значення схоже на CSQ, його можна перерахувати:

RSSIdBm=113+2×CSQRSSI_{dBm} = -113 + 2 \times CSQ

Приклад:

CSQ=29CSQ = 29 RSSI=113+2×29=55  dBmRSSI = -113 + 2 \times 29 = -55 \; dBm

Локально слабкий сигнал

Якщо:

RSSIavg<85  dBmRSSI_{avg} < -85 \; dBm

і аномалії вузла не збігаються з масовими парк-інцидентами, причина може бути класифікована як:

text
weak signal at the installation site

Групування довгих сеансів в інциденти

Реєстр інцидентів

Аномалії групуються за часовими вікнами. Якщо в одній годині одразу кілька вузлів отримали довгі сеанси — це не локальна проблема вузла, а інцидент мережі, сервера або оператора. Гіпотеза визначається автоматично за шириною охоплення — кількістю вузлів, моделей і клієнтів у вікні.

Навіщо потрібне групування

Якщо в одній і тій самій годині довгі сеанси зʼявилися одразу у багатьох вузлів, це, найімовірніше, не локальна проблема одного приладу. Це може бути:

  • проблема базової станції;
  • локальне перевантаження оператора;
  • масовий мережевий інцидент;
  • регламентна серверна операція;
  • особливість прошивки певної моделі.

Часовий кошик

Кожен довгий сеанс поміщається в часовий кошик:

Bucket(t)=floor(t1h)×1hBucket(t) = floor\left( \frac{t}{1h} \right) \times 1h

Тобто всі події всередині однієї години потрапляють в один кошик.

Інцидент

Часовий кошик вважається інцидентом, якщо в ньому зачеплено не менше:

Nstations,bucket5N_{stations,bucket} \ge 5

вузлів.

Показники інциденту

Для кожного інциденту розраховуються:

ПоказникФормула
кількість вузлівcount(unique station_id)
кількість моделейcount(unique equipment_type)
кількість клієнтів / локаційcount(unique customer_id)
кількість сеансівcount(long sessions in bucket)
середній RSSIaverage(RSSI)
топ моделейtop equipment types by count

RCA: атрибуція причини інциденту

Зведення з розслідування кореневих причин

Зведення по парку визначає головного винуватця — вишку базової станції, сервер, мережу, прошивку чи локальний вузол — дає атрибуцію провини за вузлами з аномаліями та формує план дій. Опціональний AI-наратив унизу пояснює числа простою мовою, але не змінює їх.

RCA — це класифікація ймовірної причини довгих сеансів.

Можливі гіпотези

ГіпотезаСенс
Server driverмасовий збій драйвера збирання
Server routineрегулярна серверна операція або обслуговування
Network outageзбій оператора мобільної мережі
Cell towerпроблема конкретної базової станції або локації
Firmwareпроблема моделі пристрою / прошивки
Local signalслабкий сигнал у місці встановлення
Battery lowнизьке живлення / деградація батареї
Isolated deviceлокальна несправність конкретного вузла
Mixed causesзмішані причини

Широкий серверний інцидент

Інцидент класифікується як серверний, якщо одночасно зачеплено багато вузлів, багато моделей і багато клієнтів. Умовно:

NstationsServerWideStationsN_{stations} \ge ServerWideStations NmodelsServerWideModelsN_{models} \ge ServerWideModels NcustomersServerWideCustomersN_{customers} \ge ServerWideCustomers

У звіті це означає:

text
wide fleet incident, not similar to a local single-node problem.

Мережевий збій оператора

Якщо зачеплено кілька моделей і кілька клієнтів, але масштаб не дотягує до серверного збою:

Nmodels3N_{models} \ge 3

і:

Ncustomers3N_{customers} \ge 3

то гіпотеза:

text
mobile network failure / operator incident

Проблема базової станції

Якщо зачеплено багато вузлів, але вони належать до однієї або двох локацій / клієнтів:

Ncustomers2N_{customers} \le 2

і:

NstationsCellMinStationsN_{stations} \ge CellMinStations

то гіпотеза:

text
base station problem or local coverage problem

Проблема прошивки або моделі

Якщо зачеплено одну модель, але різних клієнтів:

Nmodels=1N_{models} = 1

і:

Ncustomers3N_{customers} \ge 3

то гіпотеза:

text
firmware / device model peculiarity

Змішані причини

Якщо умови не дають однозначної класифікації, інцидент отримує статус:

text
mixed causes

Повторювана серверна рутина

Іноді масові серверні інциденти відбуваються в одну й ту саму годину доби.

Умова

Якщо є не менше трьох server-wide інцидентів в одну й ту саму годину доби:

Nserver_incidents,same_hour3N_{server\_incidents,same\_hour} \ge 3

то вони можуть бути класифіковані як:

text
server routine

Сенс

Це може вказувати на регулярне нічне завдання, обслуговування архіву, batch-процес або масову операцію, яка впливає на тривалість сеансів.

Атрибуція причини по кожному вузлу

Після пошуку парк-інцидентів звіт визначає, що домінує у кожного вузла: зовнішні інциденти чи локальна проблема.

Частка аномалій вузла, що потрапили в парк-інциденти

InIncidentPct=Nlong,in_incidentsNlong×100%InIncidentPct = \frac{N_{long,in\_incidents}}{N_{long}} \times 100\%

Якщо більшість аномалій збіглася з парк-інцидентами

Якщо:

InIncidentPct70%InIncidentPct \ge 70\%

то домінуюча причина вузла береться з парк-інциденту:

text
network_outage / cell_tower / firmware / server

Це означає:

text
the device is probably not the main culprit; it suffered together with others.

Перевірка низької батареї

Якщо аномалії не пояснені парк-інцидентами, перевіряється живлення. Нехай:

BtmfirstBtm_{first}

— перше доступне значення батареї в довгих сеансах, а:

BtmlastBtm_{last}

— останнє доступне значення. Падіння:

BtmDrop=BtmfirstBtmlastBtmDrop = Btm_{first} - Btm_{last}

Гіпотеза battery_low можлива, якщо:

Btmfirst<3500  mVBtm_{first} < 3500 \; mV

і:

BtmDrop>200  mVBtmDrop > 200 \; mV

Перевірка локально слабкого сигналу

Якщо:

RSSIavg<85  dBmRSSI_{avg} < -85 \; dBm

то гіпотеза:

text
weak signal at the installation site

Ізольована несправність вузла

Якщо:

  • аномалії не збігаються з парк-інцидентами;
  • батарея не пояснює картину;
  • RSSI не критично слабкий;

то причина класифікується як:

text
local malfunction of the node

Розподіл гіпотез по парку

Розподіл гіпотез

Для кожного вузла обирається домінуюча причина. Коли більшість вузлів постраждали від парк-інцидентів, сам вузол не винний; лише меншість має ізольовану локальну проблему. Це змінює план дій: головне зусилля спрямовується на базові станції та оператора, а не на масовий виїзд до кожного вузла з аномаліями.

Звіт показує, скільки вузлів віднесено до кожної домінуючої причини.

Формула частки гіпотези

Sharehypothesis=Nstations,hypothesisNstations,with_anomalies×100%Share_{hypothesis} = \frac{N_{stations,hypothesis}}{N_{stations,with\_anomalies}} \times 100\%

Групи причин

Для управлінського зведення гіпотези можна обʼєднувати:

ГрупаВключає
мережа / серверserver_driver, server_routine, network_outage, cell_tower
локальні проблеми пристроївisolated_device, local_signal, battery_low
модель / прошивкаfirmware
змішаніmixed

Інтерпретація

ДомінуєЩо робити
Cell towerперевірити покриття, оператора, зовнішні антени у зачеплених клієнтів
Local signalвиїзд до конкретного вузла, антена, репітер, місце встановлення
Isolated deviceдіагностика модема, SIM, живлення, прошивки
Firmwareперевірити версію ПЗ і звернутися до постачальника
Server routineперевірити регулярні процеси платформи
Network outageзапитати оператора мобільної мережі за часом і зоною

Топ проблемних вузлів

Топ проблемних вузлів

Таблиця топ проблемних вузлів ранжує вузли за композитним score (0–100), побудованим із частки довгих сеансів, їхньої середньої тривалості та кількості. Клік по рядку розкриває найдовші сеанси вузла зі значеннями RSSI та Btm — це використовується для планування виїзду.

Призначення

Таблиця показує, куди їхати або що перевіряти в першу чергу.

Колонки таблиці

КолонкаЗначення
Вузолназва та ID вузла
Коректортип приладу
Сеансівзагальна кількість валідних сеансів
Довгихкількість аномально довгих сеансів
Часткавідсоток довгих сеансів
Середній довгийсередня тривалість довгих сеансів
Максимальний сеанснайгірший знайдений сеанс
RSSI середнійякість радіосигналу
Втрата батареїрозрахункова зайва енергія
Scoreкомпозитна оцінка проблемності

Як читати топ

Високий score може виникати з різних причин:

  • велика частка довгих сеансів;
  • дуже довгі окремі сеанси;
  • велика абсолютна кількість довгих сеансів;
  • поєднання цих факторів.

Для планування виїзду потрібно читати не лише score, але й:

  • RSSI;
  • гіпотезу RCA;
  • втрату батареї;
  • максимальний сеанс;
  • потрапляння в парк-інциденти;
  • тип коректора.

Топ проблемних діб

Топ проблемних діб

Усі аномальні сеанси групуються за календарними добами. День з найбільшою кількістю аномалій — це, найімовірніше, де стався парк-інцидент. Кожен день розкривається у список вузлів з їхніми аномаліями, максимальним сеансом і посиланнями. Це корисно для розбору масових подій і перевірки регулярності.

Призначення

Розріз за добами показує дні, коли довгі сеанси масово виникали на парку.

Показники дня

ПоказникЗначення
Датакалендарний день
Довгих сеансівкількість довгих сеансів за день
Вузлівскільки вузлів зачеплено
Середній довгийсередня тривалість довгих сеансів
Максимальний сеанснайгірший випадок дня
Найгірший вузолвузол з максимальним сеансом

Інтерпретація

КартинаМожлива причина
багато вузлів в один деньмережевий або парк-інцидент
один вузол щоднялокальна проблема
сплеск у вихіднийоператорська мережа / технічні роботи
сплеск в однаковий часрегулярне завдання або розклад
зростання за місяцямидеградація мережі, сезонне перевантаження, зміна режиму опитування

Розріз за типами коректорів

Покриття за типами коректорів

Блок покриття показує, що було перевірено з парку за кожним типом коректора: скільки вузлів у вибірці, скільки віддали дані, скільки пройшли IQR і скільки демонструють аномалії. Якщо у типу зазначено «норма», дані прийшли, але аномалій не знайдено. «Немає даних» означає, що тип не віддає тривалість сеансів в API — для деяких моделей це нормально.

Детальний розріз за типами коректорів

Розкрийте тип, щоб побачити всі його вузли з аномаліями; розкрийте вузол, щоб побачити конкретні довгі сеанси з часом, тривалістю, RSSI та Btm. Колір підсвічування сеансу залежить від того, наскільки сеанс довший за норму вузла.

Призначення

Розріз за типами коректорів показує, які моделі частіше потрапляють в аномально довгі сеанси.

Показники за типом

ПоказникЗначення
У вибірціскільки вузлів цього типу в парку
З данимискільки вузлів віддали дані сеансів
Пройшли IQRскільки вузлів мають мінімум сеансів
Аномалійкількість довгих сеансів
Станнорма / аномалії / немає даних

Важливе обмеження

Не можна напряму порівнювати типи коректорів лише за кількістю аномалій. Потрібно враховувати:

  • скільки пристроїв цього типу в парку;
  • скільки з них віддали дані;
  • скільки пройшли мінімум сеансів;
  • де вони встановлені;
  • в яких мережах працюють;
  • чи однаковий у них режим опитування;
  • чи не сконцентровані вони в одного клієнта.

Нормована частка аномалій за типом

Для коректного порівняння можна використовувати:

TypeAnomalyRate=Nlong,typeNsessions,type×100%TypeAnomalyRate = \frac{N_{long,type}}{N_{sessions,type}} \times 100\%

або:

TypeAffectedRate=Nstations_anomalous,typeNstations_qualified,type×100%TypeAffectedRate = \frac{N_{stations\_anomalous,type}}{N_{stations\_qualified,type}} \times 100\%

Розріз за часом: динаміка та місяці

Динаміка довгих сеансів за днями

Графік денної динаміки показує, скільки аномальних сеансів сталося на парку кожного дня вікна. Видно «спалахи» — дні поганого звʼязку в мережі загалом. Пік, що збігається з реєстром інцидентів, зазвичай є серією проблем базової станції в одній локації.

Розріз за місяцями

Розріз за календарними місяцями допомагає побачити сезонність або довгостроковий тренд. Масовий місячний пік відповідає тій самій серії інцидентів, що й у денній динаміці; поступове зростання з часом — кандидат на деградацію звʼязку або батарей.

Призначення

Розріз за місяцями показує сезонність або довгостроковий тренд довгих сеансів.

Показник місяця

Nlong,month=count(long_sessions  in  month)N_{long,month} = count(long\_sessions \; in \; month)

Частка місяця

Якщо потрібно показати частку:

Sharemonth=Nlong,monthNlong,all_months×100%Share_{month} = \frac{N_{long,month}}{\sum N_{long,all\_months}} \times 100\%

Інтерпретація

КартинаМожливе пояснення
різкий місячний сплескзміна мережі, масовий збій, сезонне навантаження
поступове зростаннядеградація звʼязку або батарей
сплеск взимкупогодні умови, навантаження мережі, живлення
сплеск після оновленняпрошивка, налаштування, розклад опитування

Колірне підсвічування конкретних сеансів

Найдовші сеанси вузла

При розкритті вузла його окремі довгі сеанси підсвічуються за силою перевищення індивідуального порогу, а також показуються точні значення RSSI та Btm у момент кожного довгого сеансу. Саме це потрібно виїзній бригаді: низький RSSI вказує на проблему радіосигналу, а нормальна напруга батареї виключає батарею.

Ratio перевищення

Ratioi=diUpperFenceRatio_i = \frac{d_i}{UpperFence}

Інтерпретація

RatioКолір / рівень
1–2×слабке перевищення
2–5×середнє перевищення
≥5×сильне перевищення

Це допомагає швидко відрізнити помірно довгі сеанси від екстремальних.

Що робити за результатами звіту

Якщо причина — базова станція

Перевірити:

  • якість покриття в локації;
  • альтернативного оператора мобільної мережі;
  • зовнішню антену;
  • репітер;
  • повторюваність інцидентів за днями;
  • сусідні вузли тієї ж локації;
  • перевантаження мережі в конкретні години.

Якщо причина — локальний вузол

Перевірити:

  • антену;
  • SIM-карту;
  • модем;
  • живлення;
  • батарею;
  • розʼєми;
  • місце встановлення;
  • перешкоди;
  • версію прошивки;
  • налаштування розкладу передачі.

Якщо причина — слабкий сигнал

Дії:

  • виміряти RSSI на місці;
  • спробувати винести антену;
  • перевірити напрямок антени;
  • перевірити альтернативного оператора;
  • поставити зовнішню антену або репітер.

Якщо причина — батарея

Дії:

  • перевірити Btm на місці;
  • замінити батарею за потреби;
  • перевірити струм споживання;
  • перевірити частоту retries;
  • перевірити, чи не перевантажує пристрій мережу повторними спробами.

Якщо причина — модель / прошивка

Дії:

  • згрупувати вузли за версією ПЗ;
  • перевірити release notes постачальника;
  • запитати відомі проблеми;
  • порівняти з іншими моделями в тих самих локаціях;
  • протестувати режим звʼязку в лабораторії.

AI-коментар

AI-план виїзду

Опціональний AI-коментар читає RCA і пише короткий, зрозумілий людині план виїзду для бригади. Це мовне пояснення, а не джерело діагностики — усі числа та причини визначаються формулами та правилами вище.

Що AI може робити

  • коротко переказати RCA;
  • пояснити головного ймовірного винуватця;
  • виділити топ-вузли;
  • сформулювати план виїзду;
  • пояснити розріз за моделями.

Що AI не може робити

AI не може:

  • змінити IQR-поріг;
  • змінити список довгих сеансів;
  • змінити score;
  • визначити істинну причину без даних;
  • замінити радіотехнічне обстеження;
  • замінити виїзд;
  • бути доказовою базою.

Типові помилки інтерпретації

Помилка: довгий сеанс = поганий прилад

Невірно. Довгий сеанс може бути спричинений мережею, базовою станцією, слабким сигналом, серверною рутиною, локальною антеною, SIM-картою або батареєю.

Помилка: багато аномалій у моделі = модель погана

Невірно. Потрібно нормувати на кількість пристроїв, кількість сеансів, локації та операторів мобільних мереж.

Помилка: немає аномалій = все добре

Невірно, якщо даних сеансів немає або покриття занадто низьке.

Помилка: високий RSSI виключає проблему звʼязку

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

Помилка: battery loss = точна витрата батареї

Невірно. Це оцінка, побудована на зайвому часі передачі та умовному струмі.

Помилка: один екстремально довгий сеанс робить вузол головним проблемним

Не завжди. Score враховує не лише максимум, але й частку, середню тривалість і кількість довгих сеансів.

Мінімальні критерії повноцінного звіту

Звіт вважається методично повним, якщо містить:

  • період аналізу;
  • охоплення парку;
  • статус data-gate;
  • кількість вузлів у парку;
  • кількість опитаних вузлів;
  • кількість вузлів з даними сеансів;
  • кількість вузлів, що пройшли IQR-поріг;
  • кількість сеансів у вибірці;
  • кількість довгих сеансів;
  • кількість вузлів з аномаліями;
  • максимальну тривалість сеансу;
  • кількість часових інцидентів;
  • розподіл RCA-гіпотез;
  • формулу IQR-порогу;
  • формулу score вузла;
  • формулу battery loss;
  • правила RCA-класифікації;
  • таблицю топ проблемних вузлів;
  • розріз за днями;
  • розріз за типами коректорів;
  • розріз за місяцями;
  • дисклеймер про приблизність battery loss;
  • дисклеймер про роль AI;
  • рекомендації щодо дій.

Зведена формула звіту

Для кожного вузла:

D={didi>0}D = \{d_i \mid d_i > 0\} IQR=Q3(D)Q1(D)IQR = Q3(D) - Q1(D) UpperFence=Q3(D)+1.5×IQRUpperFence = Q3(D) + 1.5 \times IQR LongSessions={didi>UpperFence}LongSessions = \{d_i \mid d_i > UpperFence\} Pctlong=LongSessionsD×100%Pct_{long} = \frac{|LongSessions|}{|D|} \times 100\% A=min(100,  4×Pctlong)A = min(100,\;4 \times Pct_{long}) B=min(100,  8×AvgLongDurationmax(1,MedianDuration))B = min \left( 100,\; 8 \times \frac{AvgLongDuration}{max(1, MedianDuration)} \right) C=min(100,  LongSessions)C = min(100,\;|LongSessions|) Score=0.5A+0.3B+0.2CScore = 0.5A + 0.3B + 0.2C

Оцінка зайвої витрати батареї:

ExtraTimetotal=diLongSessionsmax(0,  diMedianDuration)ExtraTime_{total} = \sum_{d_i \in LongSessions} max(0,\;d_i - MedianDuration) BatteryLossmAh=340×ExtraTimetotal3600BatteryLoss_{mAh} = \frac{340 \times ExtraTime_{total}}{3600}

Групування інцидентів:

Bucket(t)=floor(t/1h)×1hBucket(t) = floor(t / 1h) \times 1h Incident=Bucket  where  Nunique_stations5Incident = Bucket \; where \; N_{unique\_stations} \ge 5

Рекомендований дисклеймер

text
The report detects abnormally long communication sessions relative to each
node's individual norm. The result is used for prioritising diagnostics of
communications, antennas, SIM cards, power, carriers and base stations. The
report is not proof of a specific device's malfunction without a field visit and
does not assess the correctness of commercial gas metering.

Звʼязок з іншими звітами

Якщо потрібно зрозумітиВикористовувати
які вузли довго тримають звʼязок і витрачають батареюцей звіт
у яких вузлів немає звʼязку або архівуTop Problem Nodes
чи можна закривати період за конкретним вузломConsumption Analytics
чи є підозра на недооблікSuspicious Nodes
чому конкретний вузол підозрілийMetering Bypass
коли міняти батареїBattery Forecast

Такий поділ запобігає змішуванню довгих сеансів звʼязку з комерційними, метрологічними та forensic-висновками.

Пов'язані теми

Останнє оновлення

Чи була ця сторінка корисною?