Uruchamianie scenariusza testowego¶
Wybór testów¶
Favorites  | 
Node  | 
Network  | 
Services  | 
|---|---|---|---|
Dodanie testów do scenariusza¶
Wybranie trybu uruchamiania scenariusza¶
Ustawienie nazwy i globalnych lokalizacji scenariusza¶
Ustawienia zaawansowane¶
Ustawienie lokalnych opcji powiadomień¶
Task started - powiadomienia przychodzące na start działania pojedynczego testu,
Task succeeded - powiadomienia przychodzące na koniec działania pojedynczego testu,
Task failed - powiadomienia przychodzące w sytuacji, kiedy test nie wykona się poprawnie,
Threshold exceeded - powiadomienia przychodzące po przekroczeniu progu alarmowego,
Test Suite started - powiadomienia przychodzące na uruchomienie działania całego scenariusza,
Test Suite finished - powiadomienia przychodzące na zakończenie działania całego scenariusza.
Ustawienie limitu priorytetu¶
Przykład nr 1:
Limit priorytetu: 20
Priorytet bloczka nr 1: 30
Priorytet bloczka nr 2: 40
Próg alarmowy został przekroczony dla bloczków nr 1 i 2
Przykład nr 2:
Limit priorytetu: 20
Priorytet bloczka nr 1: 30
Priorytet bloczka nr 2: 40
Próg alarmowy został przekroczony dla bloczka nr 1
Przykład nr 3:
Limit priorytetu: 20
Priorytet bloczka nr 1: 10
Priorytet bloczka nr 2: 30
Próg alarmowy został przekroczony dla bloczka nr 1
Przykład nr 4:
Limit priorytetu: 20
Priorytet bloczka nr 1: 30
Priorytet bloczka nr 2: 30
Próg alarmowy został przekroczony dla bloczka nr 1 i 2
Ustawienie progów alarmowych dla całego scenariusza¶
{
   "data": {
      <stage_id: int>: {
         <test_block_name: str>: [
            {
               "priority": <int>,
               "test_agent": <str>,
               "threshold_exceeded": <bool>,
               "result": {<test specific results>}
            }, ... <- repeats for every task run
         ]
      },
      ...
   }
}
{
   "data": {
      "1": {
         "Ping1": [
            {
               "priority": 0,
               "result": {
                  "list": [
                     {
                        "rtt": 7.17,
                        "sequence": 1,
                        "succeeded": true
                     }
                  ],
                  "max_rtt": 7.17,
                  "mean_rtt": 7.17,
                  "min_rtt": 7.17,
                  "succeeded_count": 1
               },
               "test_agent": "europe-west1-c-2b2adae0-3551-432d-88ee-0679d4eadc73",
               "threshold_exceeded": null
            }
         ],
      },
      "2": {
         "DNS1": [
            {
               "priority": 0,
               "result": [
                  {
                     "domain": "google.com",
                     "result": [
                        "173.194.76.138",
                        "173.194.76.101",
                        "173.194.76.113",
                        "173.194.76.102",
                        "173.194.76.139",
                        "173.194.76.100"
                     ],
                     "succeeded": true,
                     "time_ms": 3.684520721435547
                  }
               ],
               "test_agent": "europe-west1-c-2b2adae0-3551-432d-88ee-0679d4eadc73",
               "threshold_exceeded": null
            }
         ],
         "Traceroute1": [
            {
               "priority": 0,
               "result": [
                  {
                     "address": "8.8.8.8",
                     "hops": [],
                     "succeeded": true
                  }
               ],
               "test_agent": "europe-west1-c-2b2adae0-3551-432d-88ee-0679d4eadc73",
               "threshold_exceeded": null
            }
         ]
      }
   }
}
exceeded = False
for ta, ta_data in data.items():
   rtts = [row['rtt'] for row in ta_data['Ping1'][-1]['result']['list']]
   rtts_mean = statistics.mean(rtts)
   rtts_std = statistics.stdev(rtts)
   ta_exceeded = rtts_mean > 20 or rtts_std < 0.1 * rtts_mean
   exceeded |= ta_exceeded
Konfiguracja połączenia z rdzeniem 5G¶
MME Address - adres modułu MME będącego częścią rdzenia 5G,
IMSI - akceptowalny przez sieć 5G numer IMSI,
OPC - akceptowalny przez sieć 5G klucz operatora,
Key - akceptowalny przez sieć 5G klucz abonenta.
Konfiguracja bloczka testowego¶
parametrów uruchomienia testu (zakładka Test Parameters),
progów alarmowych (zakładka Thresholds).
Konfiguracja parametrów testu¶
Task name - nazwa bloczka testowego (pole wymagane),
Override Locations - zaznaczenie tego pola oznacza odblokowanie możliwości podania lokalnych lokalizacji. Odznaczenie tej opcji oznacza powrót do listy globalnych lokalizacji dla tego bloczka,
Select a Location - jeśli chcemy aby dany bloczek wykonywał testy w innych lokalizacjach niż podane w panelu Settings należy zaznaczyć pole Override Locations oraz wybrać lokalizacje, na których mają być uruchamiane testy z tego bloczka. Pole nie może być puste,
Notifications Priority - priorytet powiadomień, jeśli wartość będzie mniejsza niż Priority Limit dla całego scenariusza nie będą generowane powiadomienia o przekroczeniu progu alarmowego, dokładny opis zależności z limitem priorytetu znajdziemy w zakładce Ustawienie limitu priorytetu (pole jest opcjonalne),
5G enabled - flaga oznaczająca, czy dany test ma być przeprowadzony przez skonfigurowany w komponencie Advanced Settings rdzeń sieci 5G (pole jest dostępne tylko dla włączonej dla tego scenariusza konfiguracji połączenia z rdzeniem 5G w komponencie Advanced Settings oraz tylko dla testów: Ping, DNS, Traceroute, Pathping, RFC6349, TWAMP, iperf),
pozostałe opcje dostosowane do typu testu (pola wymagane są oznaczone gwiazdką).
Konfiguracja progów alarmowych¶
standardowa konfiguracja (za pomocą klikalnego komponentu lub obiektów zgodnych z formatem JSON, dostępna tylko dla niektórych testów),
zaawansowana konfiguracja (za pomocą kodu napisanego w języku Python).
Single Threshold - umożliwia proste wybranie jednego progu alarmowego,
Thresholds Tree - umożliwia stworzenie dowolnego drzewka złożonego z wielu progów alarmowych za pomocą grup i ról połączonych łącznikiem or lub and.
type – typ informacji, dozwolone pola: threshold i operator,
- threshold_type (tylko dla typu threshold) – informacja o tym, czy próg został przekroczony powyżej, czy poniżej danej wartości, możliwe typy progów:
 gte – próg zostanie przekroczony jeśli wartość parametru będzie większa lub równa niż wartość zadeklarowana,
gt - próg zostanie przekroczony jeśli wartość parametru będzie większa niż wartość zadeklarowana,
lte – próg zostanie przekroczony jeśli wartość parametru będzie mniejsza lub równa niż wartość zadeklarowana,
lt - próg zostanie przekroczony jeśli wartość parametru będzie mniejsza niż wartość zadeklarowana,
value (tylko dla typu threshold) – wartość progu alarmowego,
variable (tylko dla typu threshold) – nazwa mierzonego parametru testu, do którego ma być przypisany próg alarmowy, lista i opis dostępnych parametrów znajduje się w polu Possible threshold variables znajdującym się bezpośrednio nad wiadomością. Pogrubioną czcionką zostały wymienione nazwy parametrów, które możemy wpisać w pole variable, a zwykłą czcionką ich krótkie opisy,
operator_type (tylko dla typu operator) – łącznik między thresholdami, możliwe wartości „and” lub „or”,
thresholds (tylko dla typu operator) - lista thresholdów wg powyższego opisu.
{
   "type": "threshold",
   "threshold_type": "gt",
   "value": 200,
   "variable": "max_rtt"
}
{
   "type": "operator",
   "operator_type": "or",
   "thresholds": [
      {
         "type": "operator",
         "operator_type": "and",
         "thresholds": [
            {
               "type": "threshold",
               "threshold_type": "gt",
               "value": 150,
               "variable": "max_rtt"
            },
            {
               "type": "threshold",
               "threshold_type": "gte",
               "value": 100,
               "variable": "mean_rtt"
            }
         ]
      },{
         "type": "threshold",
         "threshold_type": "gt",
         "value": 200,
         "variable": "max_rtt"
      }
   ]
}
{
   "data": {
      "results": [
         {
            "priority": <int>,
            "test_agent": <str>,
            "threshold_exceeded": <bool>,
            "result": {<test specific results>}
         }, ... <- repeats for every task run
      ]
   }
}
{
   "data": {
      "results": [
         {
            "test_agent": "europe-west2-b-e50f0d29-b430-49dc-a57b-2576f0b4a2e6",
            "priority": 0,
            "result": {
               "min_rtt": 2.09,
               "max_rtt": 2.09,
               "mean_rtt": 2.09,
               "list": [
                  {
                     "rtt": 2.09,
                     "sequence": 1,
                     "succeeded": true
                  }
               ],
               "succeeded_count": 1
            },
            "threshold_exceeded": null
         }
      ]
   }
}
if not data['results'][-1]['result'][-1]['succeeded_count'] == len(data['results'][-1]['result'][-1]['list']):
   exceeded = True
else:
   exceeded = False
Uruchomienie scenariusza testowego¶
Błędy w konfiguracji scenariusza¶



